<?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>91487</bug_id>
          
          <creation_ts>2012-07-17 04:00:12 -0700</creation_ts>
          <short_desc>AuthorShadowDOM for select element</short_desc>
          <delta_ts>2019-10-04 22:14:43 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>94061</dependson>
    
    <dependson>94084</dependson>
    
    <dependson>95063</dependson>
          <blocked>82313</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Shinya Kawanaka">shinyak</reporter>
          <assigned_to name="Web Components Team">webcomponents-bugzilla</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dominicc</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn</cc>
    
    <cc>hayato</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mifenton</cc>
    
    <cc>morrita</cc>
    
    <cc>rniwa</cc>
    
    <cc>tasak</cc>
    
    <cc>tkent</cc>
    
    <cc>webcomponents-bugzilla</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>671146</commentid>
    <comment_count>0</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-07-17 04:00:12 -0700</bug_when>
    <thetext>When we add an AuthorShadowDOM to select element, it should be rendered correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702901</commentid>
    <comment_count>1</comment_count>
      <attachid>160137</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-08-23 05:39:22 -0700</bug_when>
    <thetext>Created attachment 160137
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702905</commentid>
    <comment_count>2</comment_count>
      <attachid>160137</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-08-23 05:45:34 -0700</bug_when>
    <thetext>Comment on attachment 160137
Patch

Attachment 160137 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13563658</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702908</commentid>
    <comment_count>3</comment_count>
      <attachid>160137</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-08-23 05:49:23 -0700</bug_when>
    <thetext>Comment on attachment 160137
Patch

Attachment 160137 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13566640</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702909</commentid>
    <comment_count>4</comment_count>
      <attachid>160137</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-08-23 05:49:40 -0700</bug_when>
    <thetext>Comment on attachment 160137
Patch

Attachment 160137 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13565703</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702910</commentid>
    <comment_count>5</comment_count>
      <attachid>160137</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-23 05:50:33 -0700</bug_when>
    <thetext>Comment on attachment 160137
Patch

Attachment 160137 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13569612</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702950</commentid>
    <comment_count>6</comment_count>
      <attachid>160137</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-08-23 07:05:22 -0700</bug_when>
    <thetext>Comment on attachment 160137
Patch

Attachment 160137 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13561717</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703657</commentid>
    <comment_count>7</comment_count>
      <attachid>160309</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-08-23 19:08:15 -0700</bug_when>
    <thetext>Created attachment 160309
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703659</commentid>
    <comment_count>8</comment_count>
      <attachid>160309</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-23 19:20:13 -0700</bug_when>
    <thetext>Comment on attachment 160309
Patch

Attachment 160309 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13563922</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703666</commentid>
    <comment_count>9</comment_count>
      <attachid>160311</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-08-23 19:27:57 -0700</bug_when>
    <thetext>Created attachment 160311
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704149</commentid>
    <comment_count>10</comment_count>
      <attachid>160311</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-08-24 09:23:12 -0700</bug_when>
    <thetext>Comment on attachment 160311
Patch

The changing of the RenderObject type when adding a new shadow root is unsettling and I am hoping we&apos;ll come up with a better way to do this.

However, this patch already has several bits that look like good refactoring improvements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577138</commentid>
    <comment_count>11</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-04 22:14:43 -0700</bug_when>
    <thetext>V1 API doesn&apos;t support this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160137</attachid>
            <date>2012-08-23 05:39:22 -0700</date>
            <delta_ts>2012-08-23 19:08:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91487-20120823213918.patch</filename>
            <type>text/plain</type>
            <size>52154</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2Mzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWJjZDAzZWYxMDM2NDEx
N2JjNmY3MmJhM2ZkMzEzMGI5NTc1ZmVjZS4uZmNhZjYzM2IzYTQ3MjE1YzFmY2Q5ZTkzNGE3ZmY4
OTRmZGYyZDgyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkyIEBACisyMDEyLTA4LTIzICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBBdXRob3JTaGFk
b3dET00gZm9yIHNlbGVjdCBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05MTQ4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFdlIHN1cHBvcnQgYWRkaW5nIFNoYWRvdyBET00gZm9yIHNlbGVjdCBl
bGVtZW50LgorCisgICAgICAgIEFjY29yZGluZyB0byB0aGUgU2hhZG93IERPTSBzcGVjLCBhIHNl
bGVjdCBlbGVtZW50IHNob3VsZCBiZWhhdmUgbGlrZSBoYXZpbmcgYSBVc2VyQWdlbnRTaGFkb3dS
b290IGFuZAorICAgICAgICBhbiBlbGVtZW50IGluIFVzZXJBZ2VudFNoYWRvd1Jvb3QgZHJhd3Mg
YSByZWFsICdzZWxlY3QnIGJveC4KKworICAgICAgICBXZSBhZG9wdCBsYXp5IFVzZXJBZ2VudFNo
YWRvd0RPTSBpbnN0YW50aWF0aW9uLCB3aGljaCBtZWFucyBhIFVzZXJBZ2VudFNoYWRvd0RPTSBp
cyBhZGRlZCBqdXN0IGJlZm9yZQorICAgICAgICBhbiBhdXRob3IgU2hhZG93IERPTSBpcyBhZGRl
ZC4gQWZ0ZXIgYSBVc2VyQWdlbnRTaGFkb3dET00gaXMgYWRkZWQsIHNlbGVjdCB3aWxsIGhhdmUg
dGhlIGZvbGxvd2luZworICAgICAgICBzdHJ1Y3R1cmUuCisKKyAgICAgICAgPHNlbGVjdD4gLS0t
LS0tLS0tLS0tIDxzaGFkb3cgcm9vdD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICA8U2VsZWN0SW5uZXJFbGVtZW50PgorCisgICAgICAgIFJlbmRlck1lbnVM
aXN0IHdpbGwgYmUgY3JlYXRlZCBpbiBTZWxlY3RJbm5lckVsZW1lbnQgaW5zdGVhZCBvZiBIVE1M
U2VsZWN0RWxlbWVudC4KKworICAgICAgICBUZXN0czogZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3Itc2VsZWN0LWR5bmFtaWMtYXR0cmlidXRlLWNoYW5nZS5odG1sCisgICAgICAgICAgICAg
ICBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtZHluYW1pYy1jaGlsZHJlbi1j
aGFuZ2UuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
c2VsZWN0LXdpdGgtb3B0aW9ucy5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aC1zdHlsZS5odG1sCisgICAgICAgICAgICAgICBmYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3ctY2xpY2suaHRt
bAorCisgICAgICAgICogY3NzL2h0bWwuY3NzOgorICAgICAgICAoc2VsZWN0Ojotd2Via2l0LXNl
bGVjdC1pbm5lci1lbGVtZW50KToKKyAgICAgICAgKHNlbGVjdFtzaXplXVttdWx0aXBsZV06Oi13
ZWJraXQtc2VsZWN0LWlubmVyLWVsZW1lbnQpOgorICAgICAgICAoc2VsZWN0W3NpemU9IjEiXTo6
LXdlYmtpdC1zZWxlY3QtaW5uZXItZWxlbWVudCk6CisgICAgICAgICogY3NzL3RoZW1lQ2hyb21p
dW1MaW51eC5jc3M6CisgICAgICAgIChzZWxlY3Q6Oi13ZWJraXQtc2VsZWN0LWlubmVyLWVsZW1l
bnQpOgorICAgICAgICAqIGNzcy90aGVtZVdpbi5jc3M6CisgICAgICAgIChzZWxlY3Rbc2l6ZT0i
MSJdOjotd2Via2l0LXNlbGVjdC1pbm5lci1lbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxG
b3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250cm9s
RWxlbWVudDo6YXR0YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtQ29udHJvbEVsZW1l
bnQ6OnJlbmRlcmVyVXBkYXRlRnJvbUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50Lmg6CisgICAgICAgIChIVE1MRm9ybUNv
bnRyb2xFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25FbGVtZW50OjpzZXRSZW5kZXJTdHlsZSk6CisgICAg
ICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxl
Y3RFbGVtZW50OjpjcmVhdGVSZW5kZXJlckZvclNlbGVjdEVsZW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChTZWxlY3RJbm5lckVsZW1lbnQpOiBTZWxlY3RJbm5lckVsZW1lbnQg
aXMgYSByZWFsIGJvZHkgb2YgSFRNTFNlbGVjdEVsZW1lbnQgYWZ0ZXIgYSBVc2VyQWdlbnRTaGFk
b3dET00KKyAgICAgICAgaXMgYWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RJbm5lckVs
ZW1lbnQ6OlNlbGVjdElubmVyRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RJbm5l
ckVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RJbm5lckVsZW1lbnQ6
OnNoYWRvd1BzZXVkb0lkKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdElubmVyRWxlbWVudDo6
c2VsZWN0RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RJbm5lckVsZW1lbnQ6OmNy
ZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdElubmVyRWxlbWVudDo6YXR0
YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpIVE1MU2VsZWN0RWxl
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6YXR0YWNoKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpyZW5kZXJlclVwZGF0ZUZyb21FbGVt
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpyZW5kZXJNZW51TGlz
dCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6cmVuZGVyTGlzdEJveCk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6cmVuZGVyZXJGb3JTZWxlY3Qp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OndpbGxBZGRBdXRob3JTaGFk
b3dSb290KTogV2hlbiBVc2VyQWdlbnRTaGFkb3dET00gaXMgbm90IGFkZGVkLCB3ZSBjcmVhdGUg
aXQKKyAgICAgICAgaW4gdGhpcyBtZXRob2QuCisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0
RWxlbWVudDo6Y3JlYXRlU2hhZG93U3VidHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2Vs
ZWN0RWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVj
dEVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIpOiBXaGVuIGFuIEF1dGhyb1NoYWRv
d0RPTSBpcyBhZGRlZCwgc2VsZWN0IHNob3VsZAorICAgICAgICBjcmVhdGUgY2hpbGRyZW4gcmVu
ZGVyZXJzLgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6Om5leHRTZWxlY3Rh
YmxlTGlzdEluZGV4UGFnZUF3YXkpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1l
bnQ6OnVwZGF0ZUxpc3RCb3hTZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVj
dEVsZW1lbnQ6OnNjcm9sbFRvU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxl
Y3RFbGVtZW50OjpzZXRPcHRpb25zQ2hhbmdlZE9uUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OnNlbGVjdE9wdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MU2VsZWN0RWxlbWVudDo6cGxhdGZvcm1IYW5kbGVLZXlkb3duRXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6Om1lbnVMaXN0RGVmYXVsdEV2ZW50SGFuZGxlcik6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6bGlzdEJveERlZmF1bHRFdmVu
dEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OmRlZmF1bHRF
dmVudEhhbmRsZXIpOgorICAgICAgICAqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoU2VsZWN0RWxlbWVudCk6CisgICAgICAgIChIVE1MU2Vs
ZWN0RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6aGFzQXV0
aG9yU2hhZG93Um9vdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6UmVuZGVyTGlzdEJveCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94OjpzZWxlY3RFbGVtZW50KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWVudUxp
c3Q6OlJlbmRlck1lbnVMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lbnVMaXN0Ojpz
ZWxlY3RFbGVtZW50KToKKwogMjAxMi0wOC0yMiAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgW1Y4XSBSZW1vdmUgVjhQcm94eSBmcm9tIGdldFhQYXRoTlNS
ZXNvbHZlcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MKaW5kZXggYzIxM2QzOGQ2YjAzMzExNDg1ZDU0ZWZhMGE3
NzI1Y2RhN2YxZmFjMi4uZDcwYjA2ZWQ2NjQyYTBiYWNjMmJlN2IzNDI2OGQyODk3MDU5YWI3YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9odG1sLmNzcwpAQCAtODE3LDYgKzgxNywzNCBAQCBzZWxlY3Rbc2l6ZT0iMSJdIHsK
ICAgICB3aGl0ZS1zcGFjZTogcHJlOwogfQogCitzZWxlY3Q6Oi13ZWJraXQtc2VsZWN0LWlubmVy
LWVsZW1lbnQgeworICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICAtd2Via2l0LWFwcGVh
cmFuY2U6IG1lbnVsaXN0OworICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CisgICAgdmVy
dGljYWwtYWxpZ246IGJvdHRvbTsKKyAgICBib3JkZXI6IDFweCBzb2xpZDsKKyAgICAtd2Via2l0
LWJvcmRlci1yYWRpdXM6IGluaXRpYWw7CisgICAgY29sb3I6IGJsYWNrOworICAgIGJhY2tncm91
bmQtY29sb3I6IHdoaXRlOworfQorCitzZWxlY3Rbc2l6ZV06Oi13ZWJraXQtc2VsZWN0LWlubmVy
LWVsZW1lbnQsCitzZWxlY3RbbXVsdGlwbGVdOjotd2Via2l0LXNlbGVjdC1pbm5lci1lbGVtZW50
LAorc2VsZWN0W3NpemVdW211bHRpcGxlXTo6LXdlYmtpdC1zZWxlY3QtaW5uZXItZWxlbWVudCB7
CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgIGJvcmRlcjogMXB4IGluc2V0IGdyYXk7
CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBsaXN0Ym94OworICAgIC13ZWJraXQtYm94LWFsaWdu
OiBzdGFydDsKK30KKworc2VsZWN0W3NpemU9IjAiXTo6LXdlYmtpdC1zZWxlY3QtaW5uZXItZWxl
bWVudCwKK3NlbGVjdFtzaXplPSIxIl06Oi13ZWJraXQtc2VsZWN0LWlubmVyLWVsZW1lbnQgewor
ICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICBib3JkZXI6IDFweCBzb2xpZDsKKyAgICAt
d2Via2l0LWFwcGVhcmFuY2U6IG1lbnVsaXN0OworICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50
ZXI7Cit9CisKIG9wdGdyb3VwIHsKICAgICBmb250LXdlaWdodDogYm9sZGVyOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3RoZW1lQ2hyb21pdW1MaW51eC5jc3MgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvdGhlbWVDaHJvbWl1bUxpbnV4LmNzcwppbmRleCBkZWU4NDM2OGEzNmYxOGY4
NTRmNmI1Yzk1NDEwYWRkZTMzMmM3Nzg1Li4xZDI0Y2Q5MDM2NTcwMjY0NjdlYWQwYzhkNzZjNDFj
MzVjODAyY2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdGhlbWVDaHJvbWl1bUxp
bnV4LmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdGhlbWVDaHJvbWl1bUxpbnV4LmNzcwpA
QCAtMzQsNiArMzQsMTAgQEAgc2VsZWN0IHsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkZGRk
OwogfQogCitzZWxlY3Q6Oi13ZWJraXQtc2VsZWN0LWlubmVyLWVsZW1lbnQgeworICAgIGJhY2tn
cm91bmQtY29sb3I6ICNkZGRkZGQ7Cit9CisKIHNlbGVjdDpub3QoW3NpemVdKTpub3QoW211bHRp
cGxlXSkgb3B0aW9uLAogc2VsZWN0W3NpemU9IjAiXSBvcHRpb24sCiBzZWxlY3Rbc2l6ZT0iMSJd
IG9wdGlvbiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdGhlbWVXaW4uY3NzIGIv
U291cmNlL1dlYkNvcmUvY3NzL3RoZW1lV2luLmNzcwppbmRleCAzZGQxY2NhYWQ0NTA1NzdkYjZm
OTBkODk3MTk0NTU0YTc4YzUyODViLi4yOWFhOTlmZWU1YmIzMDEzNmM2ZjM5OTRmNzA0YzBhMDJi
ZmQzOGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdGhlbWVXaW4uY3NzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy90aGVtZVdpbi5jc3MKQEAgLTExNiw4ICsxMTYsMTEgQEAgaW5w
dXRbdHlwZT0iYnV0dG9uIl0sIGlucHV0W3R5cGU9InN1Ym1pdCJdLCBpbnB1dFt0eXBlPSJyZXNl
dCJdLCBpbnB1dFt0eXBlPSJmaWwKIC8qIFdpbmRvd3Mgc2VsZWN0cyBhcmUgbm90IHJvdW5kZWQu
IEN1c3RvbSBib3JkZXJzIGZvciB0aGVtIHNob3VsZG4ndCBiZSBlaXRoZXIuICovCiBrZXlnZW4s
IAogc2VsZWN0LCAKK3NlbGVjdDo6LXdlYmtpdC1zZWxlY3QtaW5uZXItZWxlbWVudCwKIHNlbGVj
dFtzaXplPSIwIl0sCi1zZWxlY3Rbc2l6ZT0iMSJdIHsKK3NlbGVjdFtzaXplPSIwIl06Oi13ZWJr
aXQtc2VsZWN0LWlubmVyLWVsZW1lbnQsCitzZWxlY3Rbc2l6ZT0iMSJdLAorc2VsZWN0W3NpemU9
IjEiXTo6LXdlYmtpdC1zZWxlY3QtaW5uZXItZWxlbWVudCB7CiAgICAgLXdlYmtpdC1ib3JkZXIt
cmFkaXVzOiAwOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3Jt
Q29udHJvbEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xF
bGVtZW50LmNwcAppbmRleCAyZDQ3YWM4YzQ1NjY3NDhjYmU4MzcwZDBiZWYxZWI4ZTA3ZDFkMTJh
Li5kMmU2N2M0OWViODI1MzdlNjAzZTI5M2M5ZjNhZjAzOTM1MGE4MzM0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKQEAgLTIwOSw4ICsyMDks
NyBAQCB2b2lkIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmF0dGFjaCgpCiAgICAgLy8gVGhlIGNh
bGwgdG8gdXBkYXRlRnJvbUVsZW1lbnQoKSBuZWVkcyB0byBnbyBhZnRlciB0aGUgY2FsbCB0aHJv
dWdoCiAgICAgLy8gdG8gdGhlIGJhc2UgY2xhc3MncyBhdHRhY2goKSBiZWNhdXNlIHRoYXQgY2Fu
IHNvbWV0aW1lcyBkbyBhIGNsb3NlCiAgICAgLy8gb24gdGhlIHJlbmRlcmVyLgotICAgIGlmIChy
ZW5kZXJlcigpKQotICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxlbWVudCgpOworICAg
IHJlbmRlcmVyVXBkYXRlRnJvbUVsZW1lbnQoKTsKIAogICAgIGlmIChzaG91bGRBdXRvZm9jdXMo
dGhpcykpIHsKICAgICAgICAgc2V0QXV0b2ZvY3VzZWQoKTsKQEAgLTIyMSw2ICsyMjAsMTIgQEAg
dm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjphdHRhY2goKQogICAgIHJlc3VtZVBvc3RBdHRh
Y2hDYWxsYmFja3MoKTsKIH0KIAordm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpyZW5kZXJl
clVwZGF0ZUZyb21FbGVtZW50KCkKK3sKKyAgICBpZiAocmVuZGVyZXIoKSkKKyAgICAgICAgcmVu
ZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKK30KKwogdm9pZCBIVE1MRm9ybUNvbnRyb2xF
bGVtZW50OjpkaWRNb3ZlVG9OZXdEb2N1bWVudChEb2N1bWVudCogb2xkRG9jdW1lbnQpCiB7CiAg
ICAgRm9ybUFzc29jaWF0ZWRFbGVtZW50OjpkaWRNb3ZlVG9OZXdEb2N1bWVudChvbGREb2N1bWVu
dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCmluZGV4
IGQxMjliYzJjMmEzNmQwNTIzMzI0YWNjZWQyNzZmMTQ3NTg1YjEzMzEuLmFhNjQ4Y2Q4Y2U1ODY1
NDE5NzAzNDJhMGJjNjQxZmY0MzE0OTA5ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEZvcm1Db250cm9sRWxlbWVudC5oCkBAIC0xMTksNiArMTE5LDcgQEAgcHJvdGVjdGVkOgogICAg
IHZpcnR1YWwgdm9pZCByZXF1aXJlZEF0dHJpYnV0ZUNoYW5nZWQoKTsKICAgICB2aXJ0dWFsIHZv
aWQgZGlzYWJsZWRBdHRyaWJ1dGVDaGFuZ2VkKCk7CiAgICAgdmlydHVhbCB2b2lkIGF0dGFjaCgp
OworICAgIHZpcnR1YWwgdm9pZCByZW5kZXJlclVwZGF0ZUZyb21FbGVtZW50KCk7CiAgICAgdmly
dHVhbCBJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IGluc2VydGVkSW50byhDb250YWluZXJO
b2RlKikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZWRGcm9tKENvbnRhaW5lck5v
ZGUqKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkTW92ZVRvTmV3RG9jdW1lbnQoRG9j
dW1lbnQqIG9sZERvY3VtZW50KSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0
aW9uRWxlbWVudC5jcHAKaW5kZXggOGZjYzIyYzI3ZmM3ODgxMTVhZDIwNDlmYjhhZDhkNjA4ODZj
MWIwZS4uZWNiM2Q1NmIxNjRjYjBhNGQzOGZlZDAyMmZiOTYxMjFkNWU0ZDhhNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAKQEAgLTMwOSw3ICszMDksNyBAQCB2
b2lkIEhUTUxPcHRpb25FbGVtZW50OjpzZXRSZW5kZXJTdHlsZShQYXNzUmVmUHRyPFJlbmRlclN0
eWxlPiBuZXdTdHlsZSkKIHsKICAgICBtX3N0eWxlID0gbmV3U3R5bGU7CiAgICAgaWYgKEhUTUxT
ZWxlY3RFbGVtZW50KiBzZWxlY3QgPSBvd25lclNlbGVjdEVsZW1lbnQoKSkgewotICAgICAgICBp
ZiAoUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IHNlbGVjdC0+cmVuZGVyZXIoKSkKKyAgICAgICAg
aWYgKFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSBzZWxlY3QtPnJlbmRlcmVyRm9yU2VsZWN0KCkp
CiAgICAgICAgICAgICByZW5kZXJlci0+cmVwYWludCgpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKaW5kZXggOTI2MWQ1MmI2ZDQ3M2VlMThhMzJk
ZTRjNjVmNzg0ZDRkMTMyNmFkZi4uMzI1OTY2ODQ3MjU1M2MwMzkxOTIwMTY4YzBkZDdkNWRlOWM4
ZjkzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKQEAgLTM2
LDYgKzM2LDggQEAKICNpbmNsdWRlICJGb3JtQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZvcm1E
YXRhTGlzdC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSFRNTENvbnRlbnRFbGVt
ZW50LmgiCisjaW5jbHVkZSAiSFRNTERpdkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRm9ybUVs
ZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MT3B0R3JvdXBF
bGVtZW50LmgiCkBAIC02MSw2ICs2Myw2MyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5n
IG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKK1JlbmRlck9iamVjdCogU2VsZWN0RWxlbWVudDo6Y3Jl
YXRlUmVuZGVyZXJGb3JTZWxlY3RFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQsIFJlbmRlckFyZW5h
KiBhcmVuYSwgSFRNTFNlbGVjdEVsZW1lbnQqIHNlbGVjdCkKK3sKKyAgICBpZiAoc2VsZWN0LT51
c2VzTWVudUxpc3QoKSkKKyAgICAgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlck1lbnVMaXN0
KGVsZW1lbnQpOworICAgIHJldHVybiBuZXcgKGFyZW5hKSBSZW5kZXJMaXN0Qm94KGVsZW1lbnQp
OworfQorCitjbGFzcyBTZWxlY3RJbm5lckVsZW1lbnQgOiBwdWJsaWMgSFRNTERpdkVsZW1lbnQs
IHB1YmxpYyBTZWxlY3RFbGVtZW50IHsKK3B1YmxpYzoKKyAgICBTZWxlY3RJbm5lckVsZW1lbnQo
RG9jdW1lbnQqKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTZWxlY3RJbm5lckVsZW1lbnQ+IGNy
ZWF0ZShEb2N1bWVudCopOworCitwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCBhdHRhY2goKSBP
VkVSUklERTsKKworICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBzaGFkb3dQc2V1ZG9J
ZCgpIGNvbnN0OworCisgICAgSFRNTFNlbGVjdEVsZW1lbnQqIHNlbGVjdEVsZW1lbnQoKSBjb25z
dDsKKyAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEq
LCBSZW5kZXJTdHlsZSopIE9WRVJSSURFOworfTsKKworU2VsZWN0SW5uZXJFbGVtZW50OjpTZWxl
Y3RJbm5lckVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50KQorICAgIDogSFRNTERpdkVsZW1lbnQo
ZGl2VGFnLCBkb2N1bWVudCkKK3sgICAgCit9CisKK1Bhc3NSZWZQdHI8U2VsZWN0SW5uZXJFbGVt
ZW50PiBTZWxlY3RJbm5lckVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQpCit7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTZWxlY3RJbm5lckVsZW1lbnQoZG9jdW1lbnQpKTsKK30K
KworY29uc3QgQXRvbWljU3RyaW5nJiBTZWxlY3RJbm5lckVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lk
KCkgY29uc3QKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgcHNldWRv
SWQsICgiLXdlYmtpdC1zZWxlY3QtaW5uZXItZWxlbWVudCIpKTsKKyAgICByZXR1cm4gcHNldWRv
SWQ7Cit9CisKK2lubGluZSBIVE1MU2VsZWN0RWxlbWVudCogU2VsZWN0SW5uZXJFbGVtZW50Ojpz
ZWxlY3RFbGVtZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gdG9IVE1MU2VsZWN0RWxlbWVudChz
aGFkb3dIb3N0KCkpOworfQorCitSZW5kZXJPYmplY3QqIFNlbGVjdElubmVyRWxlbWVudDo6Y3Jl
YXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSopCit7CisgICAgcmV0
dXJuIGNyZWF0ZVJlbmRlcmVyRm9yU2VsZWN0RWxlbWVudCh0aGlzLCBhcmVuYSwgc2VsZWN0RWxl
bWVudCgpKTsKK30KKwordm9pZCBTZWxlY3RJbm5lckVsZW1lbnQ6OmF0dGFjaCgpCit7CisgICAg
SFRNTERpdkVsZW1lbnQ6OmF0dGFjaCgpOworCisgICAgaWYgKHJlbmRlcmVyKCkpCisgICAgICAg
IHJlbmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7Cit9CisKKy8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
KwogLy8gVXBwZXIgbGltaXQgYWdyZWVkIHVwb24gd2l0aCByZXByZXNlbnRhdGl2ZXMgb2YgT3Bl
cmEgYW5kIE1vemlsbGEuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4U2VsZWN0SXRlbXMgPSAx
MDAwMDsKIApAQCAtNzgsNiArMTM3LDcgQEAgSFRNTFNlbGVjdEVsZW1lbnQ6OkhUTUxTZWxlY3RF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2MKICAgICAs
IG1fbXVsdGlwbGUoZmFsc2UpCiAgICAgLCBtX2FjdGl2ZVNlbGVjdGlvblN0YXRlKGZhbHNlKQog
ICAgICwgbV9zaG91bGRSZWNhbGNMaXN0SXRlbXMoZmFsc2UpCisgICAgLCBtX2hhc0F1dGhvclNo
YWRvd1Jvb3QoZmFsc2UpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoc2VsZWN0VGFnKSk7CiB9
CkBAIC05NSw2ICsxNTUsNjEgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBIVE1MU2VsZWN0RWxlbWVu
dDo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKICAgICByZXR1cm4gbV9tdWx0aXBsZSA/IHNlbGVj
dE11bHRpcGxlIDogc2VsZWN0T25lOwogfQogCit2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjphdHRh
Y2goKQoreworICAgIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGU6OmF0dGFjaCgpOwor
fQorCit2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpyZW5kZXJlclVwZGF0ZUZyb21FbGVtZW50KCkK
K3sKKyAgICBpZiAoaGFzQXV0aG9yU2hhZG93Um9vdCgpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpZiAocmVuZGVyZXJGb3JTZWxlY3QoKSkKKyAgICAgICAgcmVuZGVyZXJGb3JTZWxlY3QoKS0+
dXBkYXRlRnJvbUVsZW1lbnQoKTsKK30KKworaW5saW5lIFJlbmRlck1lbnVMaXN0KiBIVE1MU2Vs
ZWN0RWxlbWVudDo6cmVuZGVyTWVudUxpc3QoKSBjb25zdAoreworICAgIEFTU0VSVCh1c2VzTWVu
dUxpc3QoKSk7CisgICAgcmV0dXJuIHRvUmVuZGVyTWVudUxpc3QocmVuZGVyZXJGb3JTZWxlY3Qo
KSk7Cit9CisKK2lubGluZSBSZW5kZXJMaXN0Qm94KiBIVE1MU2VsZWN0RWxlbWVudDo6cmVuZGVy
TGlzdEJveCgpIGNvbnN0Cit7CisgICAgQVNTRVJUKCF1c2VzTWVudUxpc3QoKSk7CisgICAgcmV0
dXJuIHRvUmVuZGVyTGlzdEJveChyZW5kZXJlckZvclNlbGVjdCgpKTsKK30KKworaW5saW5lIFJl
bmRlck9iamVjdCogSFRNTFNlbGVjdEVsZW1lbnQ6OnJlbmRlcmVyRm9yU2VsZWN0KCkgY29uc3QK
K3sKKyAgICBpZiAoaGFzQXV0aG9yU2hhZG93Um9vdCgpKQorICAgICAgICByZXR1cm4gdXNlckFn
ZW50U2hhZG93Um9vdCgpLT5maXJzdENoaWxkKCktPnJlbmRlcmVyKCk7CisKKyAgICByZXR1cm4g
cmVuZGVyZXIoKTsKK30KKwordm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6d2lsbEFkZEF1dGhvclNo
YWRvd1Jvb3QoKQoreworICAgIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGU6OndpbGxB
ZGRBdXRob3JTaGFkb3dSb290KCk7CisgICAgaWYgKGhhc0F1dGhvclNoYWRvd1Jvb3QoKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgQVNTRVJUKHVzZXJBZ2VudFNoYWRvd1Jvb3QoKSk7CisgICAg
bV9oYXNBdXRob3JTaGFkb3dSb290ID0gdHJ1ZTsKKyAgICBjcmVhdGVTaGFkb3dTdWJ0cmVlKCk7
Cit9CisKK3ZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OmNyZWF0ZVNoYWRvd1N1YnRyZWUoKQorewor
ICAgIFJlZlB0cjxTZWxlY3RJbm5lckVsZW1lbnQ+IGlubmVyID0gU2VsZWN0SW5uZXJFbGVtZW50
OjpjcmVhdGUoZG9jdW1lbnQoKSk7CisgICAgdXNlckFnZW50U2hhZG93Um9vdCgpLT5hcHBlbmRD
aGlsZChpbm5lci5nZXQoKSk7CisKKyAgICBSZWZQdHI8SFRNTENvbnRlbnRFbGVtZW50PiBjb250
ZW50ID0gSFRNTENvbnRlbnRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQoKSk7CisgICAgY29udGVu
dC0+c2V0U2VsZWN0KCJvcHRpb24iKTsKKyAgICBpbm5lci0+YXBwZW5kQ2hpbGQoY29udGVudC5n
ZXQoKSk7Cit9CisKIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OmRlc2VsZWN0SXRlbXMoSFRNTE9w
dGlvbkVsZW1lbnQqIGV4Y2x1ZGVFbGVtZW50KQogewogICAgIGRlc2VsZWN0SXRlbXNXaXRob3V0
VmFsaWRhdGlvbihleGNsdWRlRWxlbWVudCk7CkBAIC0zMzgsMTUgKzQ1MywxOSBAQCBib29sIEhU
TUxTZWxlY3RFbGVtZW50OjpjYW5TZWxlY3RBbGwoKSBjb25zdAogICAgIHJldHVybiAhdXNlc01l
bnVMaXN0KCk7CiB9CiAKLVJlbmRlck9iamVjdCogSFRNTFNlbGVjdEVsZW1lbnQ6OmNyZWF0ZVJl
bmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVyU3R5bGUqKQorUmVuZGVyT2JqZWN0KiBI
VE1MU2VsZWN0RWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5k
ZXJTdHlsZSogc3R5bGUpCiB7Ci0gICAgaWYgKHVzZXNNZW51TGlzdCgpKQotICAgICAgICByZXR1
cm4gbmV3IChhcmVuYSkgUmVuZGVyTWVudUxpc3QodGhpcyk7Ci0gICAgcmV0dXJuIG5ldyAoYXJl
bmEpIFJlbmRlckxpc3RCb3godGhpcyk7CisgICAgaWYgKHVzZXJBZ2VudFNoYWRvd1Jvb3QoKSkK
KyAgICAgICAgcmV0dXJuIFJlbmRlck9iamVjdDo6Y3JlYXRlT2JqZWN0KHRoaXMsIHN0eWxlKTsK
KworICAgIHJldHVybiBTZWxlY3RFbGVtZW50OjpjcmVhdGVSZW5kZXJlckZvclNlbGVjdEVsZW1l
bnQodGhpcywgYXJlbmEsIHRoaXMpOwogfQogCiBib29sIEhUTUxTZWxlY3RFbGVtZW50OjpjaGls
ZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0JiBjaGlsZENv
bnRleHQpIGNvbnN0CiB7CisgICAgaWYgKGhhc0F1dGhvclNoYWRvd1Jvb3QoKSkKKyAgICAgICAg
cmV0dXJuIEhUTUxFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNoaWxkQ29udGV4
dCk7CisKICAgICBpZiAoIUhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGU6OmNoaWxkU2hv
dWxkQ3JlYXRlUmVuZGVyZXIoY2hpbGRDb250ZXh0KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIGlmICghdXNlc01lbnVMaXN0KCkpCkBAIC01NDMsOCArNjYyLDggQEAgaW50IEhUTUxTZWxl
Y3RFbGVtZW50OjpuZXh0U2VsZWN0YWJsZUxpc3RJbmRleFBhZ2VBd2F5KGludCBzdGFydEluZGV4
LCBTa2lwRGlyZWMKICAgICBjb25zdCBWZWN0b3I8SFRNTEVsZW1lbnQqPiYgaXRlbXMgPSBsaXN0
SXRlbXMoKTsKICAgICAvLyBDYW4ndCB1c2UgbV9zaXplIGJlY2F1c2UgcmVuZGVyZXIgZm9yY2Vz
IGEgbWluaW11bSBzaXplLgogICAgIGludCBwYWdlU2l6ZSA9IDA7Ci0gICAgaWYgKHJlbmRlcmVy
KCktPmlzTGlzdEJveCgpKQotICAgICAgICBwYWdlU2l6ZSA9IHRvUmVuZGVyTGlzdEJveChyZW5k
ZXJlcigpKS0+c2l6ZSgpIC0gMTsgLy8gLTEgc28gd2Ugc3RpbGwgc2hvdyBjb250ZXh0LgorICAg
IGlmICghdXNlc01lbnVMaXN0KCkpCisgICAgICAgIHBhZ2VTaXplID0gcmVuZGVyTGlzdEJveCgp
LT5zaXplKCkgLSAxOyAvLyAtMSBzbyB3ZSBzdGlsbCBzaG93IGNvbnRleHQuCiAKICAgICAvLyBP
bmUgcGFnZSBhd2F5LCBidXQgbm90IG91dHNpZGUgdmFsaWQgYm91bmRzLgogICAgIC8vIElmIHRo
ZXJlIGlzIGEgdmFsaWQgb3B0aW9uIGl0ZW0gb25lIHBhZ2UgYXdheSwgdGhlIGluZGV4IGlzIGNo
b3Nlbi4KQEAgLTYxMCw3ICs3MjksNyBAQCB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpzZXRBY3Rp
dmVTZWxlY3Rpb25FbmRJbmRleChpbnQgaW5kZXgpCiAKIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6
OnVwZGF0ZUxpc3RCb3hTZWxlY3Rpb24oYm9vbCBkZXNlbGVjdE90aGVyT3B0aW9ucykKIHsKLSAg
ICBBU1NFUlQocmVuZGVyZXIoKSAmJiAocmVuZGVyZXIoKS0+aXNMaXN0Qm94KCkgfHwgbV9tdWx0
aXBsZSkpOworICAgIEFTU0VSVChyZW5kZXJlckZvclNlbGVjdCgpICYmIChyZW5kZXJlckZvclNl
bGVjdCgpLT5pc0xpc3RCb3goKSB8fCBtX211bHRpcGxlKSk7CiAgICAgQVNTRVJUKCFsaXN0SXRl
bXMoKS5zaXplKCkgfHwgbV9hY3RpdmVTZWxlY3Rpb25BbmNob3JJbmRleCA+PSAwKTsKIAogICAg
IHVuc2lnbmVkIHN0YXJ0ID0gbWluKG1fYWN0aXZlU2VsZWN0aW9uQW5jaG9ySW5kZXgsIG1fYWN0
aXZlU2VsZWN0aW9uRW5kSW5kZXgpOwpAQCAtNjc4LDE3ICs3OTcsMTcgQEAgdm9pZCBIVE1MU2Vs
ZWN0RWxlbWVudDo6c2Nyb2xsVG9TZWxlY3Rpb24oKQogICAgIGlmICh1c2VzTWVudUxpc3QoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSB0aGlz
LT5yZW5kZXJlcigpKQotICAgICAgICB0b1JlbmRlckxpc3RCb3gocmVuZGVyZXIpLT5zZWxlY3Rp
b25DaGFuZ2VkKCk7CisgICAgaWYgKFJlbmRlckxpc3RCb3gqIHJlbmRlcmVyID0gcmVuZGVyTGlz
dEJveCgpKQorICAgICAgICByZW5kZXJlci0+c2VsZWN0aW9uQ2hhbmdlZCgpOwogfQogCiB2b2lk
IEhUTUxTZWxlY3RFbGVtZW50OjpzZXRPcHRpb25zQ2hhbmdlZE9uUmVuZGVyZXIoKQogewotICAg
IGlmIChSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKSkgeworICAgIGlm
IChyZW5kZXJlckZvclNlbGVjdCgpKSB7CiAgICAgICAgIGlmICh1c2VzTWVudUxpc3QoKSkKLSAg
ICAgICAgICAgIHRvUmVuZGVyTWVudUxpc3QocmVuZGVyZXIpLT5zZXRPcHRpb25zQ2hhbmdlZCh0
cnVlKTsKKyAgICAgICAgICAgIHJlbmRlck1lbnVMaXN0KCktPnNldE9wdGlvbnNDaGFuZ2VkKHRy
dWUpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICB0b1JlbmRlckxpc3RCb3gocmVuZGVyZXIp
LT5zZXRPcHRpb25zQ2hhbmdlZCh0cnVlKTsKKyAgICAgICAgICAgIHJlbmRlckxpc3RCb3goKS0+
c2V0T3B0aW9uc0NoYW5nZWQodHJ1ZSk7CiAgICAgfQogfQogCkBAIC04NDYsNyArOTY1LDcgQEAg
dm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6c2VsZWN0T3B0aW9uKGludCBvcHRpb25JbmRleCwgU2Vs
ZWN0T3B0aW9uRmxhZ3MgZmxhZ3MpCiAgICAgICAgIGRlc2VsZWN0SXRlbXNXaXRob3V0VmFsaWRh
dGlvbihlbGVtZW50KTsKIAogICAgIC8vIEZvciB0aGUgbWVudSBsaXN0IGNhc2UsIHRoaXMgaXMg
d2hhdCBtYWtlcyB0aGUgc2VsZWN0ZWQgZWxlbWVudCBhcHBlYXIuCi0gICAgaWYgKFJlbmRlck9i
amVjdCogcmVuZGVyZXIgPSB0aGlzLT5yZW5kZXJlcigpKQorICAgIGlmIChSZW5kZXJPYmplY3Qq
IHJlbmRlcmVyID0gcmVuZGVyZXJGb3JTZWxlY3QoKSkKICAgICAgICAgcmVuZGVyZXItPnVwZGF0
ZUZyb21FbGVtZW50KCk7CiAKICAgICBzY3JvbGxUb1NlbGVjdGlvbigpOwpAQCAtODU1LDcgKzk3
NCw3IEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OnNlbGVjdE9wdGlvbihpbnQgb3B0aW9uSW5k
ZXgsIFNlbGVjdE9wdGlvbkZsYWdzIGZsYWdzKQogICAgICAgICBtX2lzUHJvY2Vzc2luZ1VzZXJE
cml2ZW5DaGFuZ2UgPSBmbGFncyAmIFVzZXJEcml2ZW47CiAgICAgICAgIGlmIChmbGFncyAmIERp
c3BhdGNoQ2hhbmdlRXZlbnQpCiAgICAgICAgICAgICBkaXNwYXRjaENoYW5nZUV2ZW50Rm9yTWVu
dUxpc3QoKTsKLSAgICAgICAgaWYgKFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSB0aGlzLT5yZW5k
ZXJlcigpKSB7CisgICAgICAgIGlmIChSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gcmVuZGVyZXJG
b3JTZWxlY3QoKSkgewogICAgICAgICAgICAgaWYgKHVzZXNNZW51TGlzdCgpKQogICAgICAgICAg
ICAgICAgIHRvUmVuZGVyTWVudUxpc3QocmVuZGVyZXIpLT5kaWRTZXRTZWxlY3RlZEluZGV4KGxp
c3RJbmRleCk7CiAgICAgICAgICAgICBlbHNlIGlmIChyZW5kZXJlci0+aXNMaXN0Qm94KCkpCkBA
IC0xMDg2LDcgKzEyMDUsNyBAQCBib29sIEhUTUxTZWxlY3RFbGVtZW50OjpwbGF0Zm9ybUhhbmRs
ZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50KiBldmVudCkKICAgICAgICAgICAgIC8vIGdldHMg
Y2FsbGVkIGZyb20gUmVuZGVyTWVudUxpc3Q6OnZhbHVlQ2hhbmdlZCwgd2hpY2ggZ2V0cyBjYWxs
ZWQKICAgICAgICAgICAgIC8vIGFmdGVyIHRoZSB1c2VyIG1ha2VzIGEgc2VsZWN0aW9uIGZyb20g
dGhlIG1lbnUuCiAgICAgICAgICAgICBzYXZlTGFzdFNlbGVjdGlvbigpOwotICAgICAgICAgICAg
aWYgKFJlbmRlck1lbnVMaXN0KiBtZW51TGlzdCA9IHRvUmVuZGVyTWVudUxpc3QocmVuZGVyZXIo
KSkpCisgICAgICAgICAgICBpZiAoUmVuZGVyTWVudUxpc3QqIG1lbnVMaXN0ID0gcmVuZGVyTWVu
dUxpc3QoKSkKICAgICAgICAgICAgICAgICBtZW51TGlzdC0+c2hvd1BvcHVwKCk7CiAgICAgICAg
ICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKICAgICAgICAgfQpAQCAtMTEwMyw3ICsx
MjIyLDcgQEAgdm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6bWVudUxpc3REZWZhdWx0RXZlbnRIYW5k
bGVyKEV2ZW50KiBldmVudCkKICAgICBSZWZQdHI8UmVuZGVyVGhlbWU+IHJlbmRlclRoZW1lID0g
cGFnZSA/IHBhZ2UtPnRoZW1lKCkgOiBSZW5kZXJUaGVtZTo6ZGVmYXVsdFRoZW1lKCk7CiAKICAg
ICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkua2V5ZG93bkV2ZW50KSB7Ci0gICAg
ICAgIGlmICghcmVuZGVyZXIoKSB8fCAhZXZlbnQtPmlzS2V5Ym9hcmRFdmVudCgpKQorICAgICAg
ICBpZiAoIXJlbmRlcmVyRm9yU2VsZWN0KCkgfHwgIWV2ZW50LT5pc0tleWJvYXJkRXZlbnQoKSkK
ICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBpZiAocGxhdGZvcm1IYW5kbGVLZXlkb3du
RXZlbnQoc3RhdGljX2Nhc3Q8S2V5Ym9hcmRFdmVudCo+KGV2ZW50KSkpCkBAIC0xMTc0LDcgKzEy
OTMsNyBAQCB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjptZW51TGlzdERlZmF1bHRFdmVudEhhbmRs
ZXIoRXZlbnQqIGV2ZW50KQogICAgICAgICAgICAgICAgIC8vIGdldHMgY2FsbGVkIGZyb20gUmVu
ZGVyTWVudUxpc3Q6OnZhbHVlQ2hhbmdlZCwgd2hpY2ggZ2V0cyBjYWxsZWQKICAgICAgICAgICAg
ICAgICAvLyBhZnRlciB0aGUgdXNlciBtYWtlcyBhIHNlbGVjdGlvbiBmcm9tIHRoZSBtZW51Lgog
ICAgICAgICAgICAgICAgIHNhdmVMYXN0U2VsZWN0aW9uKCk7Ci0gICAgICAgICAgICAgICAgaWYg
KFJlbmRlck1lbnVMaXN0KiBtZW51TGlzdCA9IHRvUmVuZGVyTWVudUxpc3QocmVuZGVyZXIoKSkp
CisgICAgICAgICAgICAgICAgaWYgKFJlbmRlck1lbnVMaXN0KiBtZW51TGlzdCA9IHJlbmRlck1l
bnVMaXN0KCkpCiAgICAgICAgICAgICAgICAgICAgIG1lbnVMaXN0LT5zaG93UG9wdXAoKTsKICAg
ICAgICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTsKICAgICAgICAgICAgIH0KQEAgLTExOTIsNyAr
MTMxMSw3IEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6Om1lbnVMaXN0RGVmYXVsdEV2ZW50SGFu
ZGxlcihFdmVudCogZXZlbnQpCiAgICAgICAgICAgICAgICAgLy8gZ2V0cyBjYWxsZWQgZnJvbSBS
ZW5kZXJNZW51TGlzdDo6dmFsdWVDaGFuZ2VkLCB3aGljaCBnZXRzIGNhbGxlZAogICAgICAgICAg
ICAgICAgIC8vIGFmdGVyIHRoZSB1c2VyIG1ha2VzIGEgc2VsZWN0aW9uIGZyb20gdGhlIG1lbnUu
CiAgICAgICAgICAgICAgICAgc2F2ZUxhc3RTZWxlY3Rpb24oKTsKLSAgICAgICAgICAgICAgICBp
ZiAoUmVuZGVyTWVudUxpc3QqIG1lbnVMaXN0ID0gdG9SZW5kZXJNZW51TGlzdChyZW5kZXJlcigp
KSkKKyAgICAgICAgICAgICAgICBpZiAoUmVuZGVyTWVudUxpc3QqIG1lbnVMaXN0ID0gcmVuZGVy
TWVudUxpc3QoKSkKICAgICAgICAgICAgICAgICAgICAgbWVudUxpc3QtPnNob3dQb3B1cCgpOwog
ICAgICAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlOwogICAgICAgICAgICAgfSBlbHNlIGlmIChr
ZXlDb2RlID09ICdccicpIHsKQEAgLTEyMDksOCArMTMyOCw4IEBAIHZvaWQgSFRNTFNlbGVjdEVs
ZW1lbnQ6Om1lbnVMaXN0RGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiAKICAgICBp
ZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkubW91c2Vkb3duRXZlbnQgJiYgZXZlbnQt
PmlzTW91c2VFdmVudCgpICYmIHN0YXRpY19jYXN0PE1vdXNlRXZlbnQqPihldmVudCktPmJ1dHRv
bigpID09IExlZnRCdXR0b24pIHsKICAgICAgICAgZm9jdXMoKTsKLSAgICAgICAgaWYgKHJlbmRl
cmVyKCkgJiYgcmVuZGVyZXIoKS0+aXNNZW51TGlzdCgpKSB7Ci0gICAgICAgICAgICBpZiAoUmVu
ZGVyTWVudUxpc3QqIG1lbnVMaXN0ID0gdG9SZW5kZXJNZW51TGlzdChyZW5kZXJlcigpKSkgewor
ICAgICAgICBpZiAocmVuZGVyZXJGb3JTZWxlY3QoKSAmJiByZW5kZXJlckZvclNlbGVjdCgpLT5p
c01lbnVMaXN0KCkpIHsKKyAgICAgICAgICAgIGlmIChSZW5kZXJNZW51TGlzdCogbWVudUxpc3Qg
PSByZW5kZXJNZW51TGlzdCgpKSB7CiAgICAgICAgICAgICAgICAgaWYgKG1lbnVMaXN0LT5wb3B1
cElzVmlzaWJsZSgpKQogICAgICAgICAgICAgICAgICAgICBtZW51TGlzdC0+aGlkZVBvcHVwKCk7
CiAgICAgICAgICAgICAgICAgZWxzZSB7CkBAIC0xMjg0LDEzICsxNDAzLDEzIEBAIHZvaWQgSFRN
TFNlbGVjdEVsZW1lbnQ6Omxpc3RCb3hEZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkK
ICAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkubW91c2Vkb3duRXZlbnQgJiYg
ZXZlbnQtPmlzTW91c2VFdmVudCgpICYmIHN0YXRpY19jYXN0PE1vdXNlRXZlbnQqPihldmVudCkt
PmJ1dHRvbigpID09IExlZnRCdXR0b24pIHsKICAgICAgICAgZm9jdXMoKTsKICAgICAgICAgLy8g
Q2FsbGluZyBmb2N1cygpIG1heSBjYXVzZSB1cyB0byBsb3NlIG91ciByZW5kZXJlciwgaW4gd2hp
Y2ggY2FzZSBkbyBub3Qgd2FudCB0byBoYW5kbGUgdGhlIGV2ZW50LgotICAgICAgICBpZiAoIXJl
bmRlcmVyKCkpCisgICAgICAgIGlmICghcmVuZGVyZXJGb3JTZWxlY3QoKSkKICAgICAgICAgICAg
IHJldHVybjsKIAogICAgICAgICAvLyBDb252ZXJ0IHRvIGNvb3JkcyByZWxhdGl2ZSB0byB0aGUg
bGlzdCBib3ggaWYgbmVlZGVkLgogICAgICAgICBNb3VzZUV2ZW50KiBtb3VzZUV2ZW50ID0gc3Rh
dGljX2Nhc3Q8TW91c2VFdmVudCo+KGV2ZW50KTsKLSAgICAgICAgSW50UG9pbnQgbG9jYWxPZmZz
ZXQgPSByb3VuZGVkSW50UG9pbnQocmVuZGVyZXIoKS0+YWJzb2x1dGVUb0xvY2FsKG1vdXNlRXZl
bnQtPmFic29sdXRlTG9jYXRpb24oKSwgZmFsc2UsIHRydWUpKTsKLSAgICAgICAgaW50IGxpc3RJ
bmRleCA9IHRvUmVuZGVyTGlzdEJveChyZW5kZXJlcigpKS0+bGlzdEluZGV4QXRPZmZzZXQodG9T
aXplKGxvY2FsT2Zmc2V0KSk7CisgICAgICAgIEludFBvaW50IGxvY2FsT2Zmc2V0ID0gcm91bmRl
ZEludFBvaW50KHJlbmRlcmVyRm9yU2VsZWN0KCktPmFic29sdXRlVG9Mb2NhbChtb3VzZUV2ZW50
LT5hYnNvbHV0ZUxvY2F0aW9uKCksIGZhbHNlLCB0cnVlKSk7CisgICAgICAgIGludCBsaXN0SW5k
ZXggPSByZW5kZXJMaXN0Qm94KCktPmxpc3RJbmRleEF0T2Zmc2V0KHRvU2l6ZShsb2NhbE9mZnNl
dCkpOwogICAgICAgICBpZiAobGlzdEluZGV4ID49IDApIHsKICAgICAgICAgICAgIGlmICghZGlz
YWJsZWQoKSkgewogI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKENIUk9NSVVNKSAmJiBP
UyhEQVJXSU4pKQpAQCAtMTMwNCwxMyArMTQyMywxMyBAQCB2b2lkIEhUTUxTZWxlY3RFbGVtZW50
OjpsaXN0Qm94RGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiAKICAgICAgICAgICAg
IGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOwogICAgICAgICB9Ci0gICAgfSBlbHNlIGlmIChl
dmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVudCAmJiBldmVudC0+aXNN
b3VzZUV2ZW50KCkgJiYgIXRvUmVuZGVyQm94KHJlbmRlcmVyKCkpLT5jYW5CZVNjcm9sbGVkQW5k
SGFzU2Nyb2xsYWJsZUFyZWEoKSkgeworICAgIH0gZWxzZSBpZiAoZXZlbnQtPnR5cGUoKSA9PSBl
dmVudE5hbWVzKCkubW91c2Vtb3ZlRXZlbnQgJiYgZXZlbnQtPmlzTW91c2VFdmVudCgpICYmICF0
b1JlbmRlckJveChyZW5kZXJlckZvclNlbGVjdCgpKS0+Y2FuQmVTY3JvbGxlZEFuZEhhc1Njcm9s
bGFibGVBcmVhKCkpIHsKICAgICAgICAgTW91c2VFdmVudCogbW91c2VFdmVudCA9IHN0YXRpY19j
YXN0PE1vdXNlRXZlbnQqPihldmVudCk7CiAgICAgICAgIGlmIChtb3VzZUV2ZW50LT5idXR0b24o
KSAhPSBMZWZ0QnV0dG9uIHx8ICFtb3VzZUV2ZW50LT5idXR0b25Eb3duKCkpCiAgICAgICAgICAg
ICByZXR1cm47CiAKLSAgICAgICAgSW50UG9pbnQgbG9jYWxPZmZzZXQgPSByb3VuZGVkSW50UG9p
bnQocmVuZGVyZXIoKS0+YWJzb2x1dGVUb0xvY2FsKG1vdXNlRXZlbnQtPmFic29sdXRlTG9jYXRp
b24oKSwgZmFsc2UsIHRydWUpKTsKLSAgICAgICAgaW50IGxpc3RJbmRleCA9IHRvUmVuZGVyTGlz
dEJveChyZW5kZXJlcigpKS0+bGlzdEluZGV4QXRPZmZzZXQodG9TaXplKGxvY2FsT2Zmc2V0KSk7
CisgICAgICAgIEludFBvaW50IGxvY2FsT2Zmc2V0ID0gcm91bmRlZEludFBvaW50KHJlbmRlcmVy
Rm9yU2VsZWN0KCktPmFic29sdXRlVG9Mb2NhbChtb3VzZUV2ZW50LT5hYnNvbHV0ZUxvY2F0aW9u
KCksIGZhbHNlLCB0cnVlKSk7CisgICAgICAgIGludCBsaXN0SW5kZXggPSByZW5kZXJMaXN0Qm94
KCktPmxpc3RJbmRleEF0T2Zmc2V0KHRvU2l6ZShsb2NhbE9mZnNldCkpOwogICAgICAgICBpZiAo
bGlzdEluZGV4ID49IDApIHsKICAgICAgICAgICAgIGlmICghZGlzYWJsZWQoKSkgewogICAgICAg
ICAgICAgICAgIGlmIChtX211bHRpcGxlKSB7CkBAIC0xNDAzLDcgKzE1MjIsNyBAQCB2b2lkIEhU
TUxTZWxlY3RFbGVtZW50OjpsaXN0Qm94RGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQp
CiAgICAgICAgICAgICAgICAgc2V0QWN0aXZlU2VsZWN0aW9uQW5jaG9ySW5kZXgobV9hY3RpdmVT
ZWxlY3Rpb25FbmRJbmRleCk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIHRvUmVuZGVy
TGlzdEJveChyZW5kZXJlcigpKS0+c2Nyb2xsVG9SZXZlYWxFbGVtZW50QXRMaXN0SW5kZXgoZW5k
SW5kZXgpOworICAgICAgICAgICAgcmVuZGVyTGlzdEJveCgpLT5zY3JvbGxUb1JldmVhbEVsZW1l
bnRBdExpc3RJbmRleChlbmRJbmRleCk7CiAgICAgICAgICAgICBpZiAoc2VsZWN0TmV3SXRlbSkg
ewogICAgICAgICAgICAgICAgIHVwZGF0ZUxpc3RCb3hTZWxlY3Rpb24oZGVzZWxlY3RPdGhlcnMp
OwogICAgICAgICAgICAgICAgIGxpc3RCb3hPbkNoYW5nZSgpOwpAQCAtMTQzMyw3ICsxNTUyLDcg
QEAgdm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6bGlzdEJveERlZmF1bHRFdmVudEhhbmRsZXIoRXZl
bnQqIGV2ZW50KQogCiB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVy
KEV2ZW50KiBldmVudCkKIHsKLSAgICBpZiAoIXJlbmRlcmVyKCkpCisgICAgaWYgKCFyZW5kZXJl
ckZvclNlbGVjdCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAodXNlc01lbnVMaXN0KCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmgKaW5kZXggNDc0YzE1YTY0MTYz
ZjQ1NGNhMzUxMjZhZTIxZDVmY2ZkM2NiMzQ1Yi4uYzhjMDhmMmQ0NTgwZWFlOGNkY2IzYTNiNTNk
OGExOGE3MDllOTI3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaApA
QCAtMzQsMTEgKzM0LDIxIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxPcHRp
b25FbGVtZW50OworY2xhc3MgSFRNTFNlbGVjdEVsZW1lbnQ7CitjbGFzcyBSZW5kZXJNZW51TGlz
dDsKK2NsYXNzIFJlbmRlckxpc3RCb3g7CiAKLWNsYXNzIEhUTUxTZWxlY3RFbGVtZW50IDogcHVi
bGljIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUgeworY2xhc3MgU2VsZWN0RWxlbWVu
dCB7Citwcm90ZWN0ZWQ6CisgICAgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlckZvclNlbGVj
dEVsZW1lbnQoRWxlbWVudCosIFJlbmRlckFyZW5hKiwgSFRNTFNlbGVjdEVsZW1lbnQqKTsKK307
CisKK2NsYXNzIEhUTUxTZWxlY3RFbGVtZW50IDogcHVibGljIEhUTUxGb3JtQ29udHJvbEVsZW1l
bnRXaXRoU3RhdGUsIHB1YmxpYyBTZWxlY3RFbGVtZW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxIVE1MU2VsZWN0RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCosIEhUTUxGb3JtRWxlbWVudCopOwogCisgICAgUmVuZGVyT2JqZWN0KiByZW5k
ZXJlckZvclNlbGVjdCgpIGNvbnN0OworCiAgICAgaW50IHNlbGVjdGVkSW5kZXgoKSBjb25zdDsK
ICAgICB2b2lkIHNldFNlbGVjdGVkSW5kZXgoaW50KTsKIApAQCAtMTA5LDYgKzExOSwxNiBAQCBw
cm90ZWN0ZWQ6CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGZv
cm1Db250cm9sVHlwZSgpIGNvbnN0OworCisgICAgdmlydHVhbCB2b2lkIGF0dGFjaCgpIE9WRVJS
SURFOworICAgIHZpcnR1YWwgdm9pZCByZW5kZXJlclVwZGF0ZUZyb21FbGVtZW50KCkgT1ZFUlJJ
REU7CisgICAgCisgICAgUmVuZGVyTWVudUxpc3QqIHJlbmRlck1lbnVMaXN0KCkgY29uc3Q7Cisg
ICAgUmVuZGVyTGlzdEJveCogcmVuZGVyTGlzdEJveCgpIGNvbnN0OworCisgICAgYm9vbCBoYXNB
dXRob3JTaGFkb3dSb290KCkgY29uc3QgeyByZXR1cm4gbV9oYXNBdXRob3JTaGFkb3dSb290OyB9
CisgICAgdmlydHVhbCB2b2lkIHdpbGxBZGRBdXRob3JTaGFkb3dSb290KCkgT1ZFUlJJREU7Cisg
ICAgdm9pZCBjcmVhdGVTaGFkb3dTdWJ0cmVlKCk7CiAgICAgCiAgICAgdmlydHVhbCBib29sIGlz
S2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCopIGNvbnN0OwogICAgIHZpcnR1YWwgYm9v
bCBpc01vdXNlRm9jdXNhYmxlKCkgY29uc3Q7CkBAIC0xOTUsNiArMjE1LDcgQEAgcHJpdmF0ZToK
ICAgICBib29sIG1fbXVsdGlwbGU7CiAgICAgYm9vbCBtX2FjdGl2ZVNlbGVjdGlvblN0YXRlOwog
ICAgIG11dGFibGUgYm9vbCBtX3Nob3VsZFJlY2FsY0xpc3RJdGVtczsKKyAgICBib29sIG1faGFz
QXV0aG9yU2hhZG93Um9vdDsKIH07CiAKIGlubGluZSBib29sIGlzSFRNTFNlbGVjdEVsZW1lbnQo
Y29uc3QgTm9kZSogbm9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMaXN0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94
LmNwcAppbmRleCA5NDRlYTVmMDgzMjlkNTgxODEyZDkwOTRmZjY1NDM0YjljMjc0ZmYwLi40ZTQ2
MTBmMjg0ODE2MzczODdiM2YxODMwODcxNjg1OWNmMTEwZDA5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCkBAIC05MSw3ICs5MSw3IEBAIFJlbmRlckxpc3RC
b3g6OlJlbmRlckxpc3RCb3goRWxlbWVudCogZWxlbWVudCkKIHsKICAgICBBU1NFUlQoZWxlbWVu
dCk7CiAgICAgQVNTRVJUKGVsZW1lbnQtPmlzSFRNTEVsZW1lbnQoKSk7Ci0gICAgQVNTRVJUKGVs
ZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpzZWxlY3RUYWcpKTsKKyAgICBBU1NFUlQoaXNI
VE1MU2VsZWN0RWxlbWVudChlbGVtZW50KSB8fCBpc0hUTUxTZWxlY3RFbGVtZW50KGVsZW1lbnQt
PnNoYWRvd0hvc3QoKSkpOwogCiAgICAgaWYgKEZyYW1lVmlldyogZnJhbWVWaWV3ID0gZnJhbWUo
KS0+dmlldygpKQogICAgICAgICBmcmFtZVZpZXctPmFkZFNjcm9sbGFibGVBcmVhKHRoaXMpOwpA
QCAtMTA3LDcgKzEwNywxMCBAQCBSZW5kZXJMaXN0Qm94Ojp+UmVuZGVyTGlzdEJveCgpCiAKIGlu
bGluZSBIVE1MU2VsZWN0RWxlbWVudCogUmVuZGVyTGlzdEJveDo6c2VsZWN0RWxlbWVudCgpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIHRvSFRNTFNlbGVjdEVsZW1lbnQobm9kZSgpKTsKKyAgICBpZiAo
aXNIVE1MU2VsZWN0RWxlbWVudChub2RlKCkpKQorICAgICAgICByZXR1cm4gdG9IVE1MU2VsZWN0
RWxlbWVudChub2RlKCkpOworCisgICAgcmV0dXJuIHRvSFRNTFNlbGVjdEVsZW1lbnQobm9kZSgp
LT5zaGFkb3dIb3N0KCkpOwogfQogCiB2b2lkIFJlbmRlckxpc3RCb3g6OnVwZGF0ZUZyb21FbGVt
ZW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlz
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCmluZGV4
IDViNzlkNmM5MGNiNjM3NTM2MGIxMmUzMTJmZDM3N2FjM2Q0MzhiNDAuLjcyNzJkZjg1ZjM0YTZm
MWYwZWE3NGM0YzA1ODc4M2IwMjM5Njg2ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck1lbnVMaXN0LmNwcApAQCAtNjQsNyArNjQsNyBAQCBSZW5kZXJNZW51TGlzdDo6UmVu
ZGVyTWVudUxpc3QoRWxlbWVudCogZWxlbWVudCkKIHsKICAgICBBU1NFUlQoZWxlbWVudCk7CiAg
ICAgQVNTRVJUKGVsZW1lbnQtPmlzSFRNTEVsZW1lbnQoKSk7Ci0gICAgQVNTRVJUKGVsZW1lbnQt
Pmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpzZWxlY3RUYWcpKTsKKyAgICBBU1NFUlQoaXNIVE1MU2Vs
ZWN0RWxlbWVudChlbGVtZW50KSB8fCBpc0hUTUxTZWxlY3RFbGVtZW50KGVsZW1lbnQtPnNoYWRv
d0hvc3QoKSkpOwogfQogCiBSZW5kZXJNZW51TGlzdDo6flJlbmRlck1lbnVMaXN0KCkKQEAgLTEy
MSw3ICsxMjEsMTAgQEAgdm9pZCBSZW5kZXJNZW51TGlzdDo6YWRqdXN0SW5uZXJTdHlsZSgpCiAK
IGlubGluZSBIVE1MU2VsZWN0RWxlbWVudCogUmVuZGVyTWVudUxpc3Q6OnNlbGVjdEVsZW1lbnQo
KSBjb25zdAogewotICAgIHJldHVybiB0b0hUTUxTZWxlY3RFbGVtZW50KG5vZGUoKSk7CisgICAg
aWYgKGlzSFRNTFNlbGVjdEVsZW1lbnQobm9kZSgpKSkKKyAgICAgICAgcmV0dXJuIHRvSFRNTFNl
bGVjdEVsZW1lbnQobm9kZSgpKTsKKworICAgIHJldHVybiB0b0hUTUxTZWxlY3RFbGVtZW50KG5v
ZGUoKS0+c2hhZG93SG9zdCgpKTsKIH0KIAogdm9pZCBSZW5kZXJNZW51TGlzdDo6YWRkQ2hpbGQo
UmVuZGVyT2JqZWN0KiBuZXdDaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA0ODBjMmVhMDRkMTFjOGQ0NWVkN2IyYzQ5M2VkMGYwODQ3YmI3OTE4Li5hMmEwMzlmN2UwMGVk
NmZiOThkNGZhZDZhOGJlZDlmZTU5OTljNjEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTIt
MDgtMjMgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IEF1dGhvclNoYWRvd0RPTSBmb3Igc2VsZWN0IGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxNDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgaGF2ZSB0aGUgZm9sbG93aW5nIHRlc3RzIG9m
IEF1dGhvclNoYWRvd0RPTSBmb3Igc2VsZWN0IGVsZW1lbnQuCisKKyAgICAgICAgKDEpIFNoYWRv
dyBET00gaGF2aW5nIG9ubHkgPHNoYWRvdz4gZWxlbWVudAorICAgICAgICAoMikgU2hhZG93IERP
TSBub3QgaGF2aW5nIGFueSBJbnNlcnRpb25Qb2ludAorICAgICAgICAoMykgU2hhZG93IERPTSB3
aXRoIHN0eWxlCisgICAgICAgICg0KSBEeW5hbWljIGF0dHJpYnV0ZSB1cGRhdGUKKyAgICAgICAg
KDUpIER5bmFtaWMgY2hpbGRyZW4gKG9wdGlvbiBlbGVtZW50cykgdXBkYXRlCisgICAgICAgICg2
KSBNYW5pcHVsYXRpbmcgc2VsZWN0IGVsZW1lbnQgbm90IGhhdmluZyBhbnkgSW5zZXJ0aW9uUG9p
bnQKKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9yZXNvdXJjZXMvcmVwbGFjZWQtZWxlbWVu
dC1zdHlsZXMuY3NzOgorICAgICAgICAoc2VsZWN0LnJlc2V0LWZvci1zaGFkb3cpOgorICAgICAg
ICAoLnJlc2V0LWZvci1pbm5lcik6CisgICAgICAgIChkaXYuc2VsZWN0LWxpa2UpOgorICAgICAg
ICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1jb21wbGV4LXNoYWRvdy1l
eHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNl
bGVjdC1jb21wbGV4LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLXNlbGVjdC1keW5hbWljLWF0dHJpYnV0ZS1jaGFuZ2UtZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWR5
bmFtaWMtYXR0cmlidXRlLWNoYW5nZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtZHluYW1pYy1jaGlsZHJlbi1jaGFuZ2UtZXhwZWN0
ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
c2VsZWN0LWR5bmFtaWMtY2hpbGRyZW4tY2hhbmdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1vbmx5LXNoYWRvdy1leHBlY3RlZC5o
dG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1vbmx5
LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNl
bGVjdC13aXRoLW9wdGlvbnMtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGgtb3B0aW9ucy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aC1zdHls
ZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1zZWxlY3Qtd2l0aC1zdHlsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3ctY2xpY2stZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1z
ZWxlY3Qtd2l0aG91dC1zaGFkb3ctY2xpY2suaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGhvdXQtc2hhZG93LWV4cGVjdGVkLmh0
bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGhv
dXQtc2hhZG93Lmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0
aW9uczoKKwogMjAxMi0wOC0yMiAgVmljdG9yIENhcmJ1bmUgIDx2aWN0b3JAcm9zZWR1Lm9yZz4K
IAogICAgICAgICBEaXNwbGF5IGEgVGV4dFRyYWNrQ3VlIHdoZW4gc25hcC10by1saW5lcyBmbGFn
IGlzIHNldApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Jlc291cmNl
cy9yZXBsYWNlZC1lbGVtZW50LXN0eWxlcy5jc3MgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvcmVzb3VyY2VzL3JlcGxhY2VkLWVsZW1lbnQtc3R5bGVzLmNzcwppbmRleCAzNzgzNjRlNjVi
ZTNlMDk3YTg2OGM0YmRiM2RhMTI4OTE1YmFmOGEyLi43MjZhZDAxZGE4YWI5OTVkMWM4OTZiZmM1
ZDFkZmEyMTAyZmI1ZmFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
cmVzb3VyY2VzL3JlcGxhY2VkLWVsZW1lbnQtc3R5bGVzLmNzcworKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvcmVzb3VyY2VzL3JlcGxhY2VkLWVsZW1lbnQtc3R5bGVzLmNzcwpAQCAt
MzksMyArMzksMjEgQEAKICAgICB3aWR0aDogMTAwJTsKICAgICB2ZXJ0aWNhbC1hbGlnbjogMGVt
OwogfQorCitzZWxlY3QucmVzZXQtZm9yLXNoYWRvdyB7CisgICAgd2hpdGUtc3BhY2U6IG5vcm1h
bDsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CisgICAgYmFja2dyb3VuZC1jb2xvcjog
dHJhbnNwYXJlbnQ7CisgICAgYm9yZGVyOiAwOworfQorCisucmVzZXQtZm9yLWlubmVyIHsKKyAg
ICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgbWFyZ2luOiAwOworfQorCitkaXYuc2VsZWN0
LWxpa2UgeworICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICBmb250OiAtd2Via2l0LXNt
YWxsLWNvbnRyb2w7CisgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsKK30KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1jb21wbGV4
LXNoYWRvdy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3Itc2VsZWN0LWNvbXBsZXgtc2hhZG93LWV4cGVjdGVkLmh0bWwKaW5kZXggYjA2NTk1
YTc0ZGE0YWI0ZDllN2M0YTM5NWM0MzAyYjU2MDM2Zjg4MC4uNDczNDZkNzllNmQ3NTY1MTI0Yjc0
OGY5NzUwMGZiNDAzY2RjMjcxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWNvbXBsZXgtc2hhZG93LWV4cGVjdGVkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWNvbXBs
ZXgtc2hhZG93LWV4cGVjdGVkLmh0bWwKQEAgLTEsMTAgKzEsMTggQEAKIDwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8Ym9keT4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcG9seWZpbGwuanMiPjwv
c2NyaXB0PgogCiA8cD5BIG1peGVkIGNhc2Ugb2YgYSBzaGFkb3cgZWxlbWVudCBhbmQgY29udGVu
dCBlbGVtZW50LjwvcD4KIDxmb3JtPgotICAgIDxkaXYgc3R5bGU9Im1hcmdpbjogMjBweCI+Ci0g
ICAgICAgIDxzZWxlY3Q+PC9zZWxlY3Q+CisgICAgPGRpdiBzdHlsZT0ibWFyZ2luOiAxOHB4IDIy
cHggMjJweDsgcGFkZGluZy10b3A6IDIwcHgiPgorICAgICAgICA8c2VsZWN0IHN0eWxlPSJtYXJn
aW46IDAiPgorICAgICAgICAgICAgPG9wdGlvbiBkaXNhYmxlZD5QbGVhc2Ugc2VsZWN0PC9vcHRp
b24+CisgICAgICAgICAgICA8b3B0Z3JvdXAgbGFiZWw9IlJhbmsgMSI+PC9vcHRncm91cD4KKyAg
ICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImhvZ2UiIHNlbGVjdGVkPmhvZ2U8L29wdGlvbj4KKyAg
ICAgICAgPC9zZWxlY3Q+CiAgICAgPC9kaXY+ICAgIAotICAgIDxpbnB1dCBpZD0ic3VibWl0IiB0
eXBlPSJzdWJtaXQiIHZhbHVlPSJTdWJtaXQiPgogPC9mb3JtPgorCis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1z
ZWxlY3QtY29tcGxleC1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLXNlbGVjdC1jb21wbGV4LXNoYWRvdy5odG1sCmluZGV4IDlmNTQyOTY0MWZm
YzhjOTdlMjk4YjE4ODIzZjYzZTM3MGFkMzAwYWEuLmYzZDU3ZmRiOTI1MTEzZTQxZTQ5ZWFjZjc5
ODE4Yzk4MDlmNTlmOWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLXNlbGVjdC1jb21wbGV4LXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1jb21wbGV4LXNoYWRvdy5odG1s
CkBAIC0xLDE4ICsxLDMxIEBACiA8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAg
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0icmVzb3VyY2VzL3Jl
cGxhY2VkLWVsZW1lbnQtc3R5bGVzLmNzcyI+Cis8L2hlYWQ+Cis8Ym9keT4KIDxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvcG9seWZpbGwuanMiPjwvc2NyaXB0PgogCiA8cD5BIG1peGVkIGNhc2Ugb2Yg
YSBzaGFkb3cgZWxlbWVudCBhbmQgY29udGVudCBlbGVtZW50LjwvcD4KIDxmb3JtPgotICAgIDxz
ZWxlY3QgaWQ9Imhvc3QiPgorICAgIDxzZWxlY3QgaWQ9Imhvc3QiIGNsYXNzPSJyZXNldC1mb3It
c2hhZG93Ij4KICAgICAgICAgPG9wdGlvbiBkaXNhYmxlZD5QbGVhc2Ugc2VsZWN0PC9vcHRpb24+
CiAgICAgICAgIDxvcHRncm91cCBsYWJlbD0iUmFuayAxIj48L29wdGdyb3VwPgogICAgICAgICA8
b3B0aW9uIHZhbHVlPSJob2dlIiBzZWxlY3RlZD5ob2dlPC9vcHRpb24+CiAgICAgPC9zZWxlY3Q+
Ci0gICAgPGlucHV0IGlkPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlN1Ym1pdCI+CiA8
L2Zvcm0+CiAKIDxzY3JpcHQ+Ci12YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdo
b3N0Jyk7Cit2YXIgY29udGVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NvbnRlbnQnKTsK
KwordmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworZGl2LnN0eWxlLm1h
cmdpbiA9ICcyMHB4JzsKK3ZhciBzaGFkb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFk
b3cnKTsKK2Rpdi5hcHBlbmRDaGlsZChzaGFkb3cpOworCiB2YXIgc2hhZG93Um9vdCA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGhvc3QpOwotc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPGNvbnRlbnQ+
PC9jb250ZW50PjxkaXYgc3R5bGU9J21hcmdpbjogMjBweCc+PHNoYWRvdz48L3NoYWRvdz48L2Rp
dj4iCitzaGFkb3dSb290LmFwcGVuZENoaWxkKGNvbnRlbnQpOworc2hhZG93Um9vdC5hcHBlbmRD
aGlsZChkaXYpOwogPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtZHluYW1pYy1hdHRy
aWJ1dGUtY2hhbmdlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1zZWxlY3QtZHluYW1pYy1hdHRyaWJ1dGUtY2hhbmdlLWV4cGVjdGVkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjEzN2M1MzQxOTRlNWZkMWU5NTBmNTg2NWNlODc3M2QzMTIzMDZjMAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLXNlbGVjdC1keW5hbWljLWF0dHJpYnV0ZS1jaGFuZ2UtZXhwZWN0ZWQuaHRtbApAQCAtMCww
ICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL3BvbHlmaWxsLmpzIj48L3NjcmlwdD4KKworPHA+V2hlbiBhdHRyaWJ1dGUgaXMg
ZHluYW1pY2FsbHkgY2hhbmdlZCwgdGhlIGFwcGVhcmFuY2Ugc2hvdWxkIGFsc28gYmUgY2hhbmdl
ZC48L3A+CisKKzxmb3JtPgorICAgIDxzZWxlY3QgaWQ9Imhvc3QxIiBzaXplPSIyIj4KKyAgICAg
ICAgPG9wdGlvbiBzZWxlY3RlZD5BPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+Qjwvb3B0aW9u
PgorICAgICAgICA8b3B0aW9uPkM8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5EPC9vcHRpb24+
CisgICAgPC9zZWxlY3Q+CisKKyAgICA8c2VsZWN0IGlkPSJob3N0MiIgbXVsdGlwbGU+CisgICAg
ICAgIDxvcHRpb24+QTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPkI8L29wdGlvbj4KKyAgICAg
ICAgPG9wdGlvbj5DPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+RDwvb3B0aW9uPgorICAgIDwv
c2VsZWN0PgorCisgICAgPHNlbGVjdCBpZD0iaG9zdDMiPgorICAgICAgICA8b3B0aW9uPkE8L29w
dGlvbj4KKyAgICAgICAgPG9wdGlvbj5CPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+Qzwvb3B0
aW9uPgorICAgICAgICA8b3B0aW9uPkQ8L29wdGlvbj4KKyAgICA8L3NlbGVjdD4KKzwvZm9ybT4K
KzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWR5bmFtaWMtYXR0cmlidXRlLWNoYW5nZS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWR5bmFtaWMt
YXR0cmlidXRlLWNoYW5nZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlNDk0OGNjYjllZjQyYTdhMTVhODBl
OWM0YTdmZDIxZWMxMmM0OTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtZHluYW1pYy1hdHRyaWJ1dGUtY2hhbmdlLmh0
bWwKQEAgLTAsMCArMSw1MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAg
IDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InJlc291cmNlcy9y
ZXBsYWNlZC1lbGVtZW50LXN0eWxlcy5jc3MiPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL3BvbHlmaWxsLmpzIj48L3NjcmlwdD4KKworPHA+V2hlbiBhdHRyaWJ1dGUg
aXMgZHluYW1pY2FsbHkgY2hhbmdlZCwgdGhlIGFwcGVhcmFuY2Ugc2hvdWxkIGFsc28gYmUgY2hh
bmdlZC48L3A+Cis8Zm9ybT4KKyAgICA8c2VsZWN0IGlkPSJob3N0MSIgY2xhc3M9InJlc2V0LWZv
ci1zaGFkb3ciPgorICAgICAgICA8b3B0aW9uPkE8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5C
PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+Qzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPkQ8
L29wdGlvbj4KKyAgICA8L3NlbGVjdD4KKworICAgIDxzZWxlY3QgaWQ9Imhvc3QyIiBzaXplPSIz
IiBjbGFzcz0icmVzZXQtZm9yLXNoYWRvdyI+CisgICAgICAgIDxvcHRpb24+QTwvb3B0aW9uPgor
ICAgICAgICA8b3B0aW9uPkI8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5DPC9vcHRpb24+Cisg
ICAgICAgIDxvcHRpb24+RDwvb3B0aW9uPgorICAgIDwvc2VsZWN0PgorCisgICAgPHNlbGVjdCBp
ZD0iaG9zdDMiIG11bHRpcGxlIGNsYXNzPSJyZXNldC1mb3Itc2hhZG93Ij4KKyAgICAgICAgPG9w
dGlvbj5BPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+Qjwvb3B0aW9uPgorICAgICAgICA8b3B0
aW9uPkM8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5EPC9vcHRpb24+CisgICAgPC9zZWxlY3Q+
Cis8L2Zvcm0+CisKKzxzY3JpcHQ+CitmdW5jdGlvbiBhZGRTaGFkb3dSb290KGhvc3QpCit7Cisg
ICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIg
c2hhZG93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93Jyk7CisgICAgc2hhZG93Um9v
dC5hcHBlbmRDaGlsZChzaGFkb3cpOworfQorCithZGRTaGFkb3dSb290KGhvc3QxKTsKK2FkZFNo
YWRvd1Jvb3QoaG9zdDIpOworYWRkU2hhZG93Um9vdChob3N0Myk7CisKK2hvc3QxLnNldEF0dHJp
YnV0ZSgnc2l6ZScsICcyJyk7Citob3N0Mi5yZW1vdmVBdHRyaWJ1dGUoJ3NpemUnKTsKK2hvc3Qy
LnNldEF0dHJpYnV0ZSgnbXVsdGlwbGUnLCAnbXVsdGlwbGUnKTsKK2hvc3QzLnJlbW92ZUF0dHJp
YnV0ZSgnbXVsdGlwbGUnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWR5bmFt
aWMtY2hpbGRyZW4tY2hhbmdlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtZHluYW1pYy1jaGlsZHJlbi1jaGFuZ2UtZXhwZWN0
ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zYjBkNTkxMWJhYmY5MTIzZjgyMmIyM2M3YWIxZmZhNGYyMGIx
Y2M5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3Itc2VsZWN0LWR5bmFtaWMtY2hpbGRyZW4tY2hhbmdlLWV4cGVjdGVkLmh0bWwKQEAg
LTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9wb2x5ZmlsbC5qcyI+PC9zY3JpcHQ+CisKKzxwPldoZW4gY2hpbGRyZW4g
YXJlIGR5bmFtaWNhbGx5IGNoYW5nZWQsIHRoZSBhcHBlYXJhbmNlIHNob3VsZCBhbHNvIGJlIGNo
YW5nZWQuPC9wPgorCis8Zm9ybT4KKyAgICA8c2VsZWN0IGlkPSJob3N0MSI+CisgICAgICAgIDxv
cHRpb24+QTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPkI8L29wdGlvbj4KKyAgICAgICAgPG9w
dGlvbj5DPC9vcHRpb24+CisgICAgPC9zZWxlY3Q+CisKKyAgICA8c2VsZWN0IGlkPSJob3N0MiIg
c2l6ZT0iMyI+CisgICAgICAgIDxvcHRpb24+QTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPkI8
L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5DPC9vcHRpb24+CisgICAgPC9zZWxlY3Q+CisKKyAg
ICA8c2VsZWN0IGlkPSJob3N0MyIgbXVsdGlwbGU+CisgICAgICAgIDxvcHRpb24+QTwvb3B0aW9u
PgorICAgICAgICA8b3B0aW9uPkI8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5DPC9vcHRpb24+
CisgICAgPC9zZWxlY3Q+Cis8L2Zvcm0+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1keW5hbWlj
LWNoaWxkcmVuLWNoYW5nZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3Itc2VsZWN0LWR5bmFtaWMtY2hpbGRyZW4tY2hhbmdlLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzlhYmIyYTI2YTEzNzM2MmFjNzgwNzQyZmIwYzYzN2Q5MmQxMDZjMQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1keW5h
bWljLWNoaWxkcmVuLWNoYW5nZS5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQv
Y3NzIiBocmVmPSJyZXNvdXJjZXMvcmVwbGFjZWQtZWxlbWVudC1zdHlsZXMuY3NzIj4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9wb2x5ZmlsbC5qcyI+PC9zY3JpcHQ+
CisKKzxwPldoZW4gY2hpbGRyZW4gYXJlIGR5bmFtaWNhbGx5IGNoYW5nZWQsIHRoZSBhcHBlYXJh
bmNlIHNob3VsZCBhbHNvIGJlIGNoYW5nZWQuPC9wPgorCis8Zm9ybT4KKyAgICA8c2VsZWN0IGlk
PSJob3N0MSIgY2xhc3M9InJlc2V0LWZvci1zaGFkb3ciPgorICAgICAgICA8b3B0aW9uPkE8L29w
dGlvbj4KKyAgICAgICAgPG9wdGlvbj5CPC9vcHRpb24+CisgICAgPC9zZWxlY3Q+CisKKyAgICA8
c2VsZWN0IGlkPSJob3N0MiIgc2l6ZT0iMyIgY2xhc3M9InJlc2V0LWZvci1zaGFkb3ciPgorICAg
ICAgICA8b3B0aW9uPkE8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5CPC9vcHRpb24+CisgICAg
PC9zZWxlY3Q+CisKKyAgICA8c2VsZWN0IGlkPSJob3N0MyIgbXVsdGlwbGUgY2xhc3M9InJlc2V0
LWZvci1zaGFkb3ciPgorICAgICAgICA8b3B0aW9uPkE8L29wdGlvbj4KKyAgICAgICAgPG9wdGlv
bj5CPC9vcHRpb24+CisgICAgPC9zZWxlY3Q+Cis8L2Zvcm0+CisKKzxzY3JpcHQ+CitmdW5jdGlv
biBhZGRTaGFkb3dSb290KGhvc3QpCit7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0KTsKKyAgICB2YXIgc2hhZG93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnc2hhZG93Jyk7CisgICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChzaGFkb3cpOworfQorCitm
dW5jdGlvbiBjcmVhdGVPcHRpb25XaXRoKHRleHQpCit7CisgICAgdmFyIG9wdGlvbiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ29wdGlvbicpOworICAgIG9wdGlvbi5hcHBlbmRDaGlsZChkb2N1
bWVudC5jcmVhdGVUZXh0Tm9kZSh0ZXh0KSk7CisKKyAgICByZXR1cm4gb3B0aW9uOworfQorCith
ZGRTaGFkb3dSb290KGhvc3QxKTsKK2FkZFNoYWRvd1Jvb3QoaG9zdDIpOworYWRkU2hhZG93Um9v
dChob3N0Myk7CisKK2hvc3QxLmFwcGVuZENoaWxkKGNyZWF0ZU9wdGlvbldpdGgoJ0MnKSk7Cito
b3N0Mi5hcHBlbmRDaGlsZChjcmVhdGVPcHRpb25XaXRoKCdDJykpOworaG9zdDMuYXBwZW5kQ2hp
bGQoY3JlYXRlT3B0aW9uV2l0aCgnQycpKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2Vs
ZWN0LW9ubHktc2hhZG93LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtb25seS1zaGFkb3ctZXhwZWN0ZWQuaHRtbAppbmRleCA4
NmI1YjUwNGM0ODQ4MzAzN2YxYmY5ODFmM2YzNmFjYTQyODQ3MjZjLi4wYWQ0N2NmYWFlNzM3M2Rl
NGYwZjhiMTBmZTg5YmY0N2I5NGJmZWQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtb25seS1zaGFkb3ctZXhwZWN0ZWQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtb25s
eS1zaGFkb3ctZXhwZWN0ZWQuaHRtbApAQCAtMSwxMiArMSwyOCBAQAogPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxib2R5PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9wb2x5ZmlsbC5qcyI+PC9z
Y3JpcHQ+CiAKIDxwPldoZW4gdGhlIEF1dGhvclNoYWRvd0RPTSBoYXMgb25seSBhIHNoYWRvdyBl
bGVtZW50LCB0aGlzIHNob3VsZCBiZSByZW5kZXJlZCBsaWtlIG5vIFNoYWRvdyBET00gaXMgYWRk
ZWQuPC9wPgogPGZvcm0+Ci0gICAgPHNlbGVjdCBpZD0iaG9zdCI+CisgICAgPHNlbGVjdCBpZD0i
aG9zdDEiPgogICAgICAgICA8b3B0aW9uIGRpc2FibGVkPlBsZWFzZSBzZWxlY3Q8L29wdGlvbj4K
ICAgICAgICAgPG9wdGdyb3VwIGxhYmVsPSJSYW5rIDEiPjwvb3B0Z3JvdXA+Ci0gICAgICAgIDxv
cHRpb24gdmFsdWU9ImhvZ2UiIHNlbGVjdGVkPmhvZ2U8L29wdGlvbj4KKyAgICAgICAgPG9wdGlv
biB2YWx1ZT0iaG9nZSIgc2VsZWN0ZWQ+Zm9vIGJhcjwvb3B0aW9uPgorICAgIDwvc2VsZWN0Pgor
CisgICAgPHNlbGVjdCBpZD0iaG9zdDIiIHNpemU9IjEiPgorICAgICAgICA8b3B0aW9uIGRpc2Fi
bGVkPlBsZWFzZSBzZWxlY3Q8L29wdGlvbj4KKyAgICAgICAgPG9wdGdyb3VwIGxhYmVsPSJSYW5r
IDEiPjwvb3B0Z3JvdXA+CisgICAgICAgIDxvcHRpb24gdmFsdWU9ImhvZ2UiIHNlbGVjdGVkPmZv
byBiYXI8L29wdGlvbj4KKyAgICA8L3NlbGVjdD4KKworICAgIDxzZWxlY3QgaWQ9Imhvc3QzIiBt
dWx0aXBsZT4KKyAgICAgICAgPG9wdGlvbiBkaXNhYmxlZD5QbGVhc2Ugc2VsZWN0PC9vcHRpb24+
CisgICAgICAgIDxvcHRncm91cCBsYWJlbD0iUmFuayAxIj48L29wdGdyb3VwPgorICAgICAgICA8
b3B0aW9uIHZhbHVlPSJob2dlIiBzZWxlY3RlZD5mb28gYmFyPC9vcHRpb24+CiAgICAgPC9zZWxl
Y3Q+Ci0gICAgPGlucHV0IGlkPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlN1Ym1pdCI+
CiA8L2Zvcm0+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1vbmx5LXNoYWRvdy5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LW9ubHktc2hhZG93
Lmh0bWwKaW5kZXggM2RiYmFjMWZiM2ExNDEyNGQzYmZiYzBmNWM3ZGRkNzVhZTFjZmFjNi4uYzBh
N2QwZjE5NTUyZGM2MWY3MDQxNTdiYTk3YjY1MzNkMjRiNWYzNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LW9ubHktc2hhZG93Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0
LW9ubHktc2hhZG93Lmh0bWwKQEAgLTEsMTggKzEsNDMgQEAKIDwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBo
cmVmPSJyZXNvdXJjZXMvcmVwbGFjZWQtZWxlbWVudC1zdHlsZXMuY3NzIj4KKzwvaGVhZD4KKzxi
b2R5PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9wb2x5ZmlsbC5qcyI+PC9zY3JpcHQ+CiAKIDxw
PldoZW4gdGhlIEF1dGhvclNoYWRvd0RPTSBoYXMgb25seSBhIHNoYWRvdyBlbGVtZW50LCB0aGlz
IHNob3VsZCBiZSByZW5kZXJlZCBsaWtlIG5vIFNoYWRvdyBET00gaXMgYWRkZWQuPC9wPgogPGZv
cm0+Ci0gICAgPHNlbGVjdCBpZD0iaG9zdCI+CisgICAgPHNlbGVjdCBpZD0iaG9zdDEiIGNsYXNz
PSJyZXNldC1mb3Itc2hhZG93Ij4KICAgICAgICAgPG9wdGlvbiBkaXNhYmxlZD5QbGVhc2Ugc2Vs
ZWN0PC9vcHRpb24+CiAgICAgICAgIDxvcHRncm91cCBsYWJlbD0iUmFuayAxIj48L29wdGdyb3Vw
PgotICAgICAgICA8b3B0aW9uIHZhbHVlPSJob2dlIiBzZWxlY3RlZD5ob2dlPC9vcHRpb24+Cisg
ICAgICAgIDxvcHRpb24gdmFsdWU9ImhvZ2UiIHNlbGVjdGVkPmZvbyBiYXI8L29wdGlvbj4KKyAg
ICA8L3NlbGVjdD4KKworICAgIDxzZWxlY3QgaWQ9Imhvc3QyIiBzaXplPSIxIiBjbGFzcz0icmVz
ZXQtZm9yLXNoYWRvdyI+CisgICAgICAgIDxvcHRpb24gZGlzYWJsZWQ+UGxlYXNlIHNlbGVjdDwv
b3B0aW9uPgorICAgICAgICA8b3B0Z3JvdXAgbGFiZWw9IlJhbmsgMSI+PC9vcHRncm91cD4KKyAg
ICAgICAgPG9wdGlvbiB2YWx1ZT0iaG9nZSIgc2VsZWN0ZWQ+Zm9vIGJhcjwvb3B0aW9uPgorICAg
IDwvc2VsZWN0PgorCisgICAgPHNlbGVjdCBpZD0iaG9zdDMiIG11bHRpcGxlIGNsYXNzPSJyZXNl
dC1mb3Itc2hhZG93Ij4KKyAgICAgICAgPG9wdGlvbiBkaXNhYmxlZD5QbGVhc2Ugc2VsZWN0PC9v
cHRpb24+CisgICAgICAgIDxvcHRncm91cCBsYWJlbD0iUmFuayAxIj48L29wdGdyb3VwPgorICAg
ICAgICA8b3B0aW9uIHZhbHVlPSJob2dlIiBzZWxlY3RlZD5mb28gYmFyPC9vcHRpb24+CiAgICAg
PC9zZWxlY3Q+Ci0gICAgPGlucHV0IGlkPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlN1
Ym1pdCI+CiA8L2Zvcm0+CiAKIDxzY3JpcHQ+Ci12YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdob3N0Jyk7Ci12YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhv
c3QpOwotc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRvdz48L3NoYWRvdz4iCitmdW5jdGlv
biBhZGRTaGFkb3dET00oaG9zdCkKK3sKKyAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdzaGFkb3cnKTsKKyAgICBzaGFkb3dSb290LmFwcGVuZENoaWxkKHNoYWRvdyk7Cit9CisKK2Fk
ZFNoYWRvd0RPTShob3N0MSk7CithZGRTaGFkb3dET00oaG9zdDIpOworYWRkU2hhZG93RE9NKGhv
c3QzKTsKIDwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGgtb3B0aW9ucy1leHBl
Y3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2Vs
ZWN0LXdpdGgtb3B0aW9ucy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkNDU1N2QxNGViODFj
ZWZiMmI5ZWZhMmRjNGYxYWMwOTZkNjQyOTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aC1vcHRpb25zLWV4cGVj
dGVkLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5
PgorCis8cD5PcHRpb24gZWxlbWVudHMgaW4gU2hhZG93IERPTSBtdXN0IGJlIGlnbm9yZWQuPC9w
PgorCis8c2VsZWN0IGlkPSJob3N0MSI+CisgICAgPG9wdGlvbj5BPC9vcHRpb24+CisgICAgPG9w
dGlvbj5CPC9vcHRpb24+CisgICAgPG9wdGlvbj5DPC9vcHRpb24+Cis8L3NlbGVjdD4KKworPHNl
bGVjdCBpZD0iaG9zdDIiIG11bHRpcGxlPgorICAgIDxvcHRpb24+QTwvb3B0aW9uPgorICAgIDxv
cHRpb24+Qjwvb3B0aW9uPgorICAgIDxvcHRpb24+Qzwvb3B0aW9uPgorPC9zZWxlY3Q+CisKKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLXNlbGVjdC13aXRoLW9wdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13aXRoLW9wdGlvbnMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lOTZmNWEyZGVkYzgzZjRlMTkwNzM2MDQ3MWNhZGIwMTA4ZTQxYmRiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0
LXdpdGgtb3B0aW9ucy5odG1sCkBAIC0wLDAgKzEsNDEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBo
cmVmPSJyZXNvdXJjZXMvcmVwbGFjZWQtZWxlbWVudC1zdHlsZXMuY3NzIj4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9wb2x5ZmlsbGwuanMiPjwvc2NyaXB0PgorCis8
cD5PcHRpb24gZWxlbWVudHMgaW4gU2hhZG93IERPTSBtdXN0IGJlIGlnbm9yZWQuPC9wPgorCis8
c2VsZWN0IGlkPSJob3N0MSIgY2xhc3M9InJlc2V0LWZvci1zaGFkb3ciPgorICAgIDxvcHRpb24+
QTwvb3B0aW9uPgorICAgIDxvcHRpb24+Qjwvb3B0aW9uPgorICAgIDxvcHRpb24+Qzwvb3B0aW9u
PgorPC9zZWxlY3Q+CisKKzxzZWxlY3QgaWQ9Imhvc3QyIiBjbGFzcz0icmVzZXQtZm9yLXNoYWRv
dyIgbXVsdGlwbGU+CisgICAgPG9wdGlvbj5BPC9vcHRpb24+CisgICAgPG9wdGlvbj5CPC9vcHRp
b24+CisgICAgPG9wdGlvbj5DPC9vcHRpb24+Cis8L3NlbGVjdD4KKworPHNjcmlwdD4KK2Z1bmN0
aW9uIGFkZFNoYWRvd0RPTShob3N0LCBvcHRpb25UZXh0KQoreworICAgIHZhciBzaGFkb3dSb290
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisKKyAgICB2YXIgb3B0aW9uID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnb3B0aW9uJyk7CisgICAgb3B0aW9uLmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZVRleHROb2RlKG9wdGlvblRleHQpKTsKKworICAgIHZhciBzaGFkb3cgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKTsKKworICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hp
bGQob3B0aW9uKTsgICAgCisgICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChzaGFkb3cpOworfQor
CithZGRTaGFkb3dET00oaG9zdDEsICdEJyk7CithZGRTaGFkb3dET00oaG9zdDIsICdEJyk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13aXRoLXN0eWxlLWV4cGVjdGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aC1z
dHlsZS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1OTUxOGEyY2UzNWFkOWVlYjI2Zjk3ODRj
NjBmOWNjMzMxYmZlMmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aC1zdHlsZS1leHBlY3RlZC5odG1sCkBAIC0w
LDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8bGluayBy
ZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJyZXNvdXJjZXMvcmVwbGFjZWQt
ZWxlbWVudC1zdHlsZXMuY3NzIj4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9wb2x5ZmlsbC5qcyI+PC9zY3JpcHQ+CisKKzxmb3JtPgorICAgIDxkaXYgY2xhc3M9InNl
bGVjdC1saWtlIiBzdHlsZT0ibWFyZ2luOiAxMnB4OyI+PHNlbGVjdCBjbGFzcz0icmVzZXQtZm9y
LWlubmVyIj4KKyAgICAgICAgPG9wdGlvbj5BenVzYSBNaXVyYTwvb3B0aW9uPgorICAgICAgICA8
b3B0aW9uPkNoaWhheWEgS2lzYXJhZ2k8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5NYWtvdG8g
S2lrdWNoaTwvb3B0aW9uPgorICAgIDwvc2VsZWN0PmFmdGVyPC9kaXY+CisKKyAgICA8ZGl2IGNs
YXNzPSJzZWxlY3QtbGlrZSIgc3R5bGU9Im1hcmdpbjogMTJweDsiPjxzZWxlY3Qgc2l6ZT0iMyIg
Y2xhc3M9InJlc2V0LWZvci1pbm5lciI+CisgICAgICAgIDxvcHRpb24+WXVraWhvIEhhZ2l3YXJh
PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+WWF5b2kgVGFrYXRzdWtpPC9vcHRpb24+CisgICAg
ICAgIDxvcHRpb24+TWFtaSBGdXRhbWk8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5BbWkgRnV0
YW1pPC9vcHRpb24+CisgICAgPC9zZWxlY3Q+YWZ0ZXI8L2Rpdj4KKworICAgIDxkaXYgY2xhc3M9
InNlbGVjdC1saWtlIiBzdHlsZT0ibWFyZ2luOiAxMnB4OyI+PHNlbGVjdCBtdWx0aXBsZSBjbGFz
cz0icmVzZXQtZm9yLWlubmVyIj4KKyAgICAgICAgPG9wdGlvbj5Lb3RvcmkgT3RvbmFzaGk8L29w
dGlvbj4KKyAgICAgICAgPG9wdGlvbj5IYXJ1a2EgQW1hbWk8L29wdGlvbj4KKyAgICAgICAgPG9w
dGlvbj5NaWtpIEhvc2hpaTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPlJpdHN1a28gQWtpenVr
aTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPklvcmkgTWluYXNlPC9vcHRpb24+CisgICAgPC9z
ZWxlY3Q+YWZ0ZXI8L2Rpdj4KKzwvZm9ybT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13aXRoLXN0
eWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxl
Y3Qtd2l0aC1zdHlsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0OGIyOWQ4OTlkNThiMmRkMzgyMzYwYzAx
MGQxNWZmYTE4N2JmYjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aC1zdHlsZS5odG1sCkBAIC0wLDAgKzEsNTIg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8bGluayByZWw9InN0eWxl
c2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJyZXNvdXJjZXMvcmVwbGFjZWQtZWxlbWVudC1z
dHlsZXMuY3NzIj4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9wb2x5
ZmlsbC5qcyI+PC9zY3JpcHQ+CisKKzxmb3JtPgorICAgIDxzZWxlY3QgaWQ9Imhvc3QxIiBjbGFz
cz0icmVzZXQtZm9yLXNoYWRvdyI+CisgICAgICAgIDxvcHRpb24+QXp1c2EgTWl1cmE8L29wdGlv
bj4KKyAgICAgICAgPG9wdGlvbj5DaGloYXlhIEtpc2FyYWdpPC9vcHRpb24+CisgICAgICAgIDxv
cHRpb24+TWFrb3RvIEtpa3VjaGk8L29wdGlvbj4KKyAgICA8L3NlbGVjdD4KKworICAgIDxzZWxl
Y3QgaWQ9Imhvc3QyIiBzaXplPSIzIiBjbGFzcz0icmVzZXQtZm9yLXNoYWRvdyI+CisgICAgICAg
IDxvcHRpb24+WXVraWhvIEhhZ2l3YXJhPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+WWF5b2kg
VGFrYXRzdWtpPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+TWFtaSBGdXRhbWk8L29wdGlvbj4K
KyAgICAgICAgPG9wdGlvbj5BbWkgRnV0YW1pPC9vcHRpb24+CisgICAgPC9zZWxlY3Q+CisKKyAg
ICA8c2VsZWN0IGlkPSJob3N0MyIgbXVsdGlwbGUgY2xhc3M9InJlc2V0LWZvci1zaGFkb3ciPgor
ICAgICAgICA8b3B0aW9uPktvdG9yaSBPdG9uYXNoaTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9u
PkhhcnVrYSBBbWFtaTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPk1pa2kgSG9zaGlpPC9vcHRp
b24+CisgICAgICAgIDxvcHRpb24+Uml0c3VrbyBBa2l6dWtpPC9vcHRpb24+CisgICAgICAgIDxv
cHRpb24+SW9yaSBNaW5hc2U8L29wdGlvbj4KKyAgICA8L3NlbGVjdD4KKzwvZm9ybT4KKworPHNj
cmlwdD4KK2Z1bmN0aW9uIGFkZFNoYWRvd1Jvb3QoaG9zdCkKK3sKKyAgICB2YXIgc2hhZG93Um9v
dCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworCisgICAgdmFyIGRpdiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgIGRpdi5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ21h
cmdpbjogMTBweCcpOworCisgICAgdmFyIHNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J3NoYWRvdycpOworICAgIGRpdi5hcHBlbmRDaGlsZChzaGFkb3cpOworICAgIGRpdi5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnYWZ0ZXInKSk7CisKKyAgICBzaGFkb3dSb290
LmFwcGVuZENoaWxkKGRpdik7Cit9CisKK2FkZFNoYWRvd1Jvb3QoaG9zdDEpOworYWRkU2hhZG93
Um9vdChob3N0Mik7CithZGRTaGFkb3dSb290KGhvc3QzKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3Itc2VsZWN0LXdpdGhvdXQtc2hhZG93LWNsaWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13aXRob3V0LXNoYWRvdy1j
bGljay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzMxZjJlMzE2ODFkNmIwNTZlYmMzMzgwMWU4
ZDIzNGJkYTYzMDAzNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13aXRob3V0LXNoYWRvdy1jbGljay1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzIEBACitBIGNyYXNoIHNob3VsZG4ndCBvY2N1ciB3aGVuIGNsaWNraW5n
IGEgc2VsZWN0IGVsZW1lbnQgd2hpY2ggaGFzIGEgU2hhZG93IERPTSBhbmQgdGhlIFNoYWRvdyBE
T00gZG9lcyBub3QgaGF2ZSBhbnkgSW5zZXJ0aW9uUG9pbnQuCisKK1BBU1MKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13aXRob3V0
LXNoYWRvdy1jbGljay5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3Itc2VsZWN0LXdpdGhvdXQtc2hhZG93LWNsaWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDdkNzJi
ZTU0NzkxZjZkYmQxZDI0ZWUyNGUyY2Y0YWNhNjc4OWQ4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13aXRob3V0LXNo
YWRvdy1jbGljay5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BvbHlmaWxsLmpzIj48L3NjcmlwdD4KKworPHN0eWxl
Pgorc2VsZWN0IHsKKyAgICB3aWR0aDogMTAwcHg7CisgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAt
d2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7Cit9Cis8L3N0eWxlPgorCis8cD5BIGNyYXNoIHNob3Vs
ZG4ndCBvY2N1ciB3aGVuIGNsaWNraW5nIGEgc2VsZWN0IGVsZW1lbnQgd2hpY2ggaGFzIGEgU2hh
ZG93IERPTSBhbmQKK3RoZSBTaGFkb3cgRE9NIGRvZXMgbm90IGhhdmUgYW55IEluc2VydGlvblBv
aW50LjwvcD4KKworPGRpdiBpZD0id3JhcHBlciI+CisgICAgPHNlbGVjdCBpZD0iaG9zdDEiPgor
ICAgICAgICA8b3B0aW9uPkE8L29wdGlvbj4KKyAgICA8L3NlbGVjdD4KKworICAgIDxzZWxlY3Qg
aWQ9Imhvc3QyIiBtdWx0aXBsZT4KKyAgICAgICAgPG9wdGlvbj5CPC9vcHRpb24+CisgICAgICAg
IDxvcHRpb24+Qzwvb3B0aW9uPgorICAgIDwvc2VsZWN0PgorPC9kaXY+CisKKzxzY3JpcHQ+Citp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKK3Zh
ciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QxKTsKK3ZhciBzaGFkb3dS
b290MiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKTsKKworaWYgKHdpbmRvdy5ldmVudFNl
bmRlcikgeworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGhvc3QxLm9mZnNldExlZnQgKyBo
b3N0MS5vZmZzZXRXaWR0aCAvIDIsIGhvc3QxLm9mZnNldFRvcCArIGhvc3QxLm9mZnNldEhlaWdo
dCAvIDIpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgIGV2ZW50U2VuZGVyLm1v
dXNlVXAoKTsKKworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGhvc3QyLm9mZnNldExlZnQg
KyBob3N0Mi5vZmZzZXRXaWR0aCAvIDIsIGhvc3QyLm9mZnNldFRvcCArIGhvc3QyLm9mZnNldEhl
aWdodCAvIDIpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgIGV2ZW50U2VuZGVy
Lm1vdXNlVXAoKTsKKworICAgIHdyYXBwZXIuaW5uZXJIVE1MID0gIlBBU1MiOworfQorPC9zY3Jp
cHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3ctZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13aXRob3V0LXNoYWRvdy1l
eHBlY3RlZC5odG1sCmluZGV4IDFiMjU4MWY5ZmM2YjE4MmVkNzUzYzFhNjQ3MzFiNThkZmQ3YWNk
Y2YuLjk5ZGRhNjkzOWE4ZGJjYzRjMjY5YjI4NDg1NzQ2YTMxYzRkNmFkMWUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13aXRob3V0
LXNoYWRvdy1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLXNlbGVjdC13aXRob3V0LXNoYWRvdy1leHBlY3RlZC5odG1sCkBAIC0xLDgg
KzEsMTQgQEAKIDwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8bGluayByZWw9
InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJyZXNvdXJjZXMvcmVwbGFjZWQtZWxl
bWVudC1zdHlsZXMuY3NzIj4KKzwvaGVhZD4KKzxib2R5PgogPHNjcmlwdCBzcmM9InJlc291cmNl
cy9wb2x5ZmlsbC5qcyI+PC9zY3JpcHQ+CiAKIDxwPldoZW4gdGhlIEF1dGhvclNoYWRvd0RPTSBk
b2VzIG5vdCBoYXZlIGEgU2hhZG93IERPTSwgdGhlIGNvbnRlbnQgd29uJ3QgYmUgcmVuZGVyZWQu
PC9wPgogPGZvcm0+Ci0gICAgPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0
aDogMTAwcHg7IGhlaWdodDogMzBweDsgbWFyZ2luIDA7IHBhZGRpbmc6IDA7IGJvcmRlcjogMCI+
PC9kaXY+Ci0gICAgPGlucHV0IGlkPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlN1Ym1p
dCI+CisgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMTAwcHg7
IGhlaWdodDogMzBweDsgbWFyZ2luIDA7IHBhZGRpbmc6IDA7IGJvcmRlcjogMXB4IHNvbGlkIGJs
YWNrOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyI+PC9kaXY+CiA8L2Zvcm0+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13aXRob3V0LXNoYWRvdy5odG1sCmluZGV4IGExZjQw
OTVkNjlhNDJhNDBhZWNhNmZjNzNkNzc5YWU4MjVlNjU5MjguLjVhODk5YTBmMTEwNGE3MzNjYjFl
YzM3YzI1NzMzNTFiZWE1ZjhmNjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13aXRob3V0LXNoYWRvdy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13aXRob3V0LXNoYWRv
dy5odG1sCkBAIC0xLDE3ICsxLDIyIEBACiA8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0icmVzb3Vy
Y2VzL3JlcGxhY2VkLWVsZW1lbnQtc3R5bGVzLmNzcyI+Cis8L2hlYWQ+Cis8Ym9keT4KIDxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvcG9seWZpbGwuanMiPjwvc2NyaXB0PgogCiA8cD5XaGVuIHRoZSBB
dXRob3JTaGFkb3dET00gZG9lcyBub3QgaGF2ZSBhIFNoYWRvdyBET00sIHRoZSBjb250ZW50IHdv
bid0IGJlIHJlbmRlcmVkLjwvcD4KIDxmb3JtPgotICAgIDxzZWxlY3QgaWQ9Imhvc3QiIHN0eWxl
PSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMzBweDsgbWFyZ2luIDA7IHBhZGRpbmc6IDA7IGJvcmRl
cjogMCI+CisgICAgPHNlbGVjdCBpZD0iaG9zdCIgY2xhc3M9InJlc2V0LWZvci1zaGFkb3ciIHN0
eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMzBweDsgbWFyZ2luIDA7IHBhZGRpbmc6IDA7IGJv
cmRlcjogMXB4IHNvbGlkIGJsYWNrIj4KICAgICAgICAgPG9wdGlvbiBkaXNhYmxlZD5QbGVhc2Ug
c2VsZWN0PC9vcHRpb24+CiAgICAgICAgIDxvcHRncm91cCBsYWJlbD0iUmFuayAxIj48L29wdGdy
b3VwPgogICAgICAgICA8b3B0aW9uIHZhbHVlPSJob2dlIiBzZWxlY3RlZD5ob2dlPC9vcHRpb24+
CiAgICAgPC9zZWxlY3Q+Ci0gICAgPGlucHV0IGlkPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFs
dWU9IlN1Ym1pdCI+CiA8L2Zvcm0+CiAKIDxzY3JpcHQ+Ci12YXIgaG9zdCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdob3N0Jyk7CiB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QpOwogPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCAwMzcyNTg5YmMwZWE1OGM5
YzhmMDc1NGQ0YjliOTQ3YTUxOWZkNGNmLi43NGUwMDE5YTFmMjM4NmMzZTk1Nzk2M2ZjNzcyOGY3
MzBiMWY5NDIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTMyNDMsOCArMzI0Myw2IEBAIEJVR1dLOTA4NjAgOiBmYXN0L2RvbS9zaGFk
b3cvc2hhZG93ZG9tLWZvci1vYmplY3Qtb25seS1zaGFkb3cuaHRtbCA9IElNQUdFCiBCVUdXSzkw
ODYwIDogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb2JqZWN0LXdpdGhvdXQtc2hhZG93
Lmh0bWwgPSBJTUFHRQogQlVHV0s5MTQ4NSA6IGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LXRleHRhcmVhLWNvbXBsZXgtc2hhZG93Lmh0bWwgPSBJTUFHRQogQlVHV0s5MTQ4NSA6IGZhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXRleHRhcmVhLXdpdGhvdXQtc2hhZG93Lmh0bWwgPSBJ
TUFHRQotQlVHV0s5MTQ4NyA6IGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1j
b21wbGV4LXNoYWRvdy5odG1sID0gSU1BR0UKLUJVR1dLOTE0ODcgOiBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3cuaHRtbCA9IElNQUdFCiBCVUdXSzkx
NDg4IDogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itb3V0cHV0LW9ubHktc2hhZG93Lmh0
bWwgPSBJTUFHRQogQlVHV0s5MTQ4OSA6IGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLWZp
ZWxkc2V0LWNvbXBsZXgtc2hhZG93Lmh0bWwgPSBJTUFHRQogQlVHV0s5MTQ4OSA6IGZhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLWZpZWxkc2V0LW9ubHktc2hhZG93Lmh0bWwgPSBJTUFHRQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160309</attachid>
            <date>2012-08-23 19:08:15 -0700</date>
            <delta_ts>2012-08-23 19:27:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91487-20120824110811.patch</filename>
            <type>text/plain</type>
            <size>52147</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2NTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmUzNGI0YjY1OTAxNjU3
ODMzZDRmODI0MGVkNDdkZjAxNTRhYTI2NC4uYzIzMDdhNjRiOWZmM2EzNjJiYWU1ZGJhODk2Mjcy
ZWNkZjgzMzY3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkyIEBACisyMDEyLTA4LTIzICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBBdXRob3JTaGFk
b3dET00gZm9yIHNlbGVjdCBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05MTQ4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFdlIHN1cHBvcnQgYWRkaW5nIFNoYWRvdyBET00gZm9yIHNlbGVjdCBl
bGVtZW50LgorCisgICAgICAgIEFjY29yZGluZyB0byB0aGUgU2hhZG93IERPTSBzcGVjLCBhIHNl
bGVjdCBlbGVtZW50IHNob3VsZCBiZWhhdmUgbGlrZSBoYXZpbmcgYSBVc2VyQWdlbnRTaGFkb3dS
b290IGFuZAorICAgICAgICBhbiBlbGVtZW50IGluIFVzZXJBZ2VudFNoYWRvd1Jvb3QgZHJhd3Mg
YSByZWFsICdzZWxlY3QnIGJveC4KKworICAgICAgICBXZSBhZG9wdCBsYXp5IFVzZXJBZ2VudFNo
YWRvd0RPTSBpbnN0YW50aWF0aW9uLCB3aGljaCBtZWFucyBhIFVzZXJBZ2VudFNoYWRvd0RPTSBp
cyBhZGRlZCBqdXN0IGJlZm9yZQorICAgICAgICBhbiBhdXRob3IgU2hhZG93IERPTSBpcyBhZGRl
ZC4gQWZ0ZXIgYSBVc2VyQWdlbnRTaGFkb3dET00gaXMgYWRkZWQsIHNlbGVjdCB3aWxsIGhhdmUg
dGhlIGZvbGxvd2luZworICAgICAgICBzdHJ1Y3R1cmUuCisKKyAgICAgICAgPHNlbGVjdD4gLS0t
LS0tLS0tLS0tIDxzaGFkb3cgcm9vdD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICA8U2VsZWN0SW5uZXJFbGVtZW50PgorCisgICAgICAgIFJlbmRlck1lbnVM
aXN0IHdpbGwgYmUgY3JlYXRlZCBpbiBTZWxlY3RJbm5lckVsZW1lbnQgaW5zdGVhZCBvZiBIVE1M
U2VsZWN0RWxlbWVudC4KKworICAgICAgICBUZXN0czogZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3Itc2VsZWN0LWR5bmFtaWMtYXR0cmlidXRlLWNoYW5nZS5odG1sCisgICAgICAgICAgICAg
ICBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtZHluYW1pYy1jaGlsZHJlbi1j
aGFuZ2UuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
c2VsZWN0LXdpdGgtb3B0aW9ucy5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aC1zdHlsZS5odG1sCisgICAgICAgICAgICAgICBmYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3ctY2xpY2suaHRt
bAorCisgICAgICAgICogY3NzL2h0bWwuY3NzOgorICAgICAgICAoc2VsZWN0Ojotd2Via2l0LXNl
bGVjdC1pbm5lci1lbGVtZW50KToKKyAgICAgICAgKHNlbGVjdFtzaXplXVttdWx0aXBsZV06Oi13
ZWJraXQtc2VsZWN0LWlubmVyLWVsZW1lbnQpOgorICAgICAgICAoc2VsZWN0W3NpemU9IjEiXTo6
LXdlYmtpdC1zZWxlY3QtaW5uZXItZWxlbWVudCk6CisgICAgICAgICogY3NzL3RoZW1lQ2hyb21p
dW1MaW51eC5jc3M6CisgICAgICAgIChzZWxlY3Q6Oi13ZWJraXQtc2VsZWN0LWlubmVyLWVsZW1l
bnQpOgorICAgICAgICAqIGNzcy90aGVtZVdpbi5jc3M6CisgICAgICAgIChzZWxlY3Rbc2l6ZT0i
MSJdOjotd2Via2l0LXNlbGVjdC1pbm5lci1lbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxG
b3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250cm9s
RWxlbWVudDo6YXR0YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtQ29udHJvbEVsZW1l
bnQ6OnJlbmRlcmVyVXBkYXRlRnJvbUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50Lmg6CisgICAgICAgIChIVE1MRm9ybUNv
bnRyb2xFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25FbGVtZW50OjpzZXRSZW5kZXJTdHlsZSk6CisgICAg
ICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxl
Y3RFbGVtZW50OjpjcmVhdGVSZW5kZXJlckZvclNlbGVjdEVsZW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChTZWxlY3RJbm5lckVsZW1lbnQpOiBTZWxlY3RJbm5lckVsZW1lbnQg
aXMgYSByZWFsIGJvZHkgb2YgSFRNTFNlbGVjdEVsZW1lbnQgYWZ0ZXIgYSBVc2VyQWdlbnRTaGFk
b3dET00KKyAgICAgICAgaXMgYWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RJbm5lckVs
ZW1lbnQ6OlNlbGVjdElubmVyRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RJbm5l
ckVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RJbm5lckVsZW1lbnQ6
OnNoYWRvd1BzZXVkb0lkKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdElubmVyRWxlbWVudDo6
c2VsZWN0RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RJbm5lckVsZW1lbnQ6OmNy
ZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdElubmVyRWxlbWVudDo6YXR0
YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpIVE1MU2VsZWN0RWxl
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6YXR0YWNoKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpyZW5kZXJlclVwZGF0ZUZyb21FbGVt
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpyZW5kZXJNZW51TGlz
dCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6cmVuZGVyTGlzdEJveCk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6cmVuZGVyZXJGb3JTZWxlY3Qp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OndpbGxBZGRBdXRob3JTaGFk
b3dSb290KTogV2hlbiBVc2VyQWdlbnRTaGFkb3dET00gaXMgbm90IGFkZGVkLCB3ZSBjcmVhdGUg
aXQKKyAgICAgICAgaW4gdGhpcyBtZXRob2QuCisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0
RWxlbWVudDo6Y3JlYXRlU2hhZG93U3VidHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2Vs
ZWN0RWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVj
dEVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIpOiBXaGVuIGFuIEF1dGhyb1NoYWRv
d0RPTSBpcyBhZGRlZCwgc2VsZWN0IHNob3VsZAorICAgICAgICBjcmVhdGUgY2hpbGRyZW4gcmVu
ZGVyZXJzLgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6Om5leHRTZWxlY3Rh
YmxlTGlzdEluZGV4UGFnZUF3YXkpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1l
bnQ6OnVwZGF0ZUxpc3RCb3hTZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVj
dEVsZW1lbnQ6OnNjcm9sbFRvU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxl
Y3RFbGVtZW50OjpzZXRPcHRpb25zQ2hhbmdlZE9uUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OnNlbGVjdE9wdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MU2VsZWN0RWxlbWVudDo6cGxhdGZvcm1IYW5kbGVLZXlkb3duRXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6Om1lbnVMaXN0RGVmYXVsdEV2ZW50SGFuZGxlcik6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6bGlzdEJveERlZmF1bHRFdmVu
dEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OmRlZmF1bHRF
dmVudEhhbmRsZXIpOgorICAgICAgICAqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoU2VsZWN0RWxlbWVudCk6CisgICAgICAgIChIVE1MU2Vs
ZWN0RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6aGFzQXV0
aG9yU2hhZG93Um9vdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6UmVuZGVyTGlzdEJveCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94OjpzZWxlY3RFbGVtZW50KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWVudUxp
c3Q6OlJlbmRlck1lbnVMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lbnVMaXN0Ojpz
ZWxlY3RFbGVtZW50KToKKwogMjAxMi0wOC0yMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2Vy
QGFwcGxlLmNvbT4KIAogICAgICAgICBQcmVwIHdvcmsgZm9yOiBJbXBsZW1lbnQgc3RpY2t5IHBv
c2l0aW9uaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MKaW5kZXggYzIxM2QzOGQ2YjAzMzExNDg1ZDU0ZWZhMGE3
NzI1Y2RhN2YxZmFjMi4uZDcwYjA2ZWQ2NjQyYTBiYWNjMmJlN2IzNDI2OGQyODk3MDU5YWI3YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9odG1sLmNzcwpAQCAtODE3LDYgKzgxNywzNCBAQCBzZWxlY3Rbc2l6ZT0iMSJdIHsK
ICAgICB3aGl0ZS1zcGFjZTogcHJlOwogfQogCitzZWxlY3Q6Oi13ZWJraXQtc2VsZWN0LWlubmVy
LWVsZW1lbnQgeworICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICAtd2Via2l0LWFwcGVh
cmFuY2U6IG1lbnVsaXN0OworICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CisgICAgdmVy
dGljYWwtYWxpZ246IGJvdHRvbTsKKyAgICBib3JkZXI6IDFweCBzb2xpZDsKKyAgICAtd2Via2l0
LWJvcmRlci1yYWRpdXM6IGluaXRpYWw7CisgICAgY29sb3I6IGJsYWNrOworICAgIGJhY2tncm91
bmQtY29sb3I6IHdoaXRlOworfQorCitzZWxlY3Rbc2l6ZV06Oi13ZWJraXQtc2VsZWN0LWlubmVy
LWVsZW1lbnQsCitzZWxlY3RbbXVsdGlwbGVdOjotd2Via2l0LXNlbGVjdC1pbm5lci1lbGVtZW50
LAorc2VsZWN0W3NpemVdW211bHRpcGxlXTo6LXdlYmtpdC1zZWxlY3QtaW5uZXItZWxlbWVudCB7
CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgIGJvcmRlcjogMXB4IGluc2V0IGdyYXk7
CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBsaXN0Ym94OworICAgIC13ZWJraXQtYm94LWFsaWdu
OiBzdGFydDsKK30KKworc2VsZWN0W3NpemU9IjAiXTo6LXdlYmtpdC1zZWxlY3QtaW5uZXItZWxl
bWVudCwKK3NlbGVjdFtzaXplPSIxIl06Oi13ZWJraXQtc2VsZWN0LWlubmVyLWVsZW1lbnQgewor
ICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICBib3JkZXI6IDFweCBzb2xpZDsKKyAgICAt
d2Via2l0LWFwcGVhcmFuY2U6IG1lbnVsaXN0OworICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50
ZXI7Cit9CisKIG9wdGdyb3VwIHsKICAgICBmb250LXdlaWdodDogYm9sZGVyOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3RoZW1lQ2hyb21pdW1MaW51eC5jc3MgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvdGhlbWVDaHJvbWl1bUxpbnV4LmNzcwppbmRleCBkZWU4NDM2OGEzNmYxOGY4
NTRmNmI1Yzk1NDEwYWRkZTMzMmM3Nzg1Li4xZDI0Y2Q5MDM2NTcwMjY0NjdlYWQwYzhkNzZjNDFj
MzVjODAyY2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdGhlbWVDaHJvbWl1bUxp
bnV4LmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdGhlbWVDaHJvbWl1bUxpbnV4LmNzcwpA
QCAtMzQsNiArMzQsMTAgQEAgc2VsZWN0IHsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkZGRk
OwogfQogCitzZWxlY3Q6Oi13ZWJraXQtc2VsZWN0LWlubmVyLWVsZW1lbnQgeworICAgIGJhY2tn
cm91bmQtY29sb3I6ICNkZGRkZGQ7Cit9CisKIHNlbGVjdDpub3QoW3NpemVdKTpub3QoW211bHRp
cGxlXSkgb3B0aW9uLAogc2VsZWN0W3NpemU9IjAiXSBvcHRpb24sCiBzZWxlY3Rbc2l6ZT0iMSJd
IG9wdGlvbiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdGhlbWVXaW4uY3NzIGIv
U291cmNlL1dlYkNvcmUvY3NzL3RoZW1lV2luLmNzcwppbmRleCAzZGQxY2NhYWQ0NTA1NzdkYjZm
OTBkODk3MTk0NTU0YTc4YzUyODViLi4yOWFhOTlmZWU1YmIzMDEzNmM2ZjM5OTRmNzA0YzBhMDJi
ZmQzOGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdGhlbWVXaW4uY3NzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy90aGVtZVdpbi5jc3MKQEAgLTExNiw4ICsxMTYsMTEgQEAgaW5w
dXRbdHlwZT0iYnV0dG9uIl0sIGlucHV0W3R5cGU9InN1Ym1pdCJdLCBpbnB1dFt0eXBlPSJyZXNl
dCJdLCBpbnB1dFt0eXBlPSJmaWwKIC8qIFdpbmRvd3Mgc2VsZWN0cyBhcmUgbm90IHJvdW5kZWQu
IEN1c3RvbSBib3JkZXJzIGZvciB0aGVtIHNob3VsZG4ndCBiZSBlaXRoZXIuICovCiBrZXlnZW4s
IAogc2VsZWN0LCAKK3NlbGVjdDo6LXdlYmtpdC1zZWxlY3QtaW5uZXItZWxlbWVudCwKIHNlbGVj
dFtzaXplPSIwIl0sCi1zZWxlY3Rbc2l6ZT0iMSJdIHsKK3NlbGVjdFtzaXplPSIwIl06Oi13ZWJr
aXQtc2VsZWN0LWlubmVyLWVsZW1lbnQsCitzZWxlY3Rbc2l6ZT0iMSJdLAorc2VsZWN0W3NpemU9
IjEiXTo6LXdlYmtpdC1zZWxlY3QtaW5uZXItZWxlbWVudCB7CiAgICAgLXdlYmtpdC1ib3JkZXIt
cmFkaXVzOiAwOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3Jt
Q29udHJvbEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xF
bGVtZW50LmNwcAppbmRleCAyZDQ3YWM4YzQ1NjY3NDhjYmU4MzcwZDBiZWYxZWI4ZTA3ZDFkMTJh
Li5kMmU2N2M0OWViODI1MzdlNjAzZTI5M2M5ZjNhZjAzOTM1MGE4MzM0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKQEAgLTIwOSw4ICsyMDks
NyBAQCB2b2lkIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmF0dGFjaCgpCiAgICAgLy8gVGhlIGNh
bGwgdG8gdXBkYXRlRnJvbUVsZW1lbnQoKSBuZWVkcyB0byBnbyBhZnRlciB0aGUgY2FsbCB0aHJv
dWdoCiAgICAgLy8gdG8gdGhlIGJhc2UgY2xhc3MncyBhdHRhY2goKSBiZWNhdXNlIHRoYXQgY2Fu
IHNvbWV0aW1lcyBkbyBhIGNsb3NlCiAgICAgLy8gb24gdGhlIHJlbmRlcmVyLgotICAgIGlmIChy
ZW5kZXJlcigpKQotICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxlbWVudCgpOworICAg
IHJlbmRlcmVyVXBkYXRlRnJvbUVsZW1lbnQoKTsKIAogICAgIGlmIChzaG91bGRBdXRvZm9jdXMo
dGhpcykpIHsKICAgICAgICAgc2V0QXV0b2ZvY3VzZWQoKTsKQEAgLTIyMSw2ICsyMjAsMTIgQEAg
dm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjphdHRhY2goKQogICAgIHJlc3VtZVBvc3RBdHRh
Y2hDYWxsYmFja3MoKTsKIH0KIAordm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpyZW5kZXJl
clVwZGF0ZUZyb21FbGVtZW50KCkKK3sKKyAgICBpZiAocmVuZGVyZXIoKSkKKyAgICAgICAgcmVu
ZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKK30KKwogdm9pZCBIVE1MRm9ybUNvbnRyb2xF
bGVtZW50OjpkaWRNb3ZlVG9OZXdEb2N1bWVudChEb2N1bWVudCogb2xkRG9jdW1lbnQpCiB7CiAg
ICAgRm9ybUFzc29jaWF0ZWRFbGVtZW50OjpkaWRNb3ZlVG9OZXdEb2N1bWVudChvbGREb2N1bWVu
dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCmluZGV4
IGQxMjliYzJjMmEzNmQwNTIzMzI0YWNjZWQyNzZmMTQ3NTg1YjEzMzEuLmFhNjQ4Y2Q4Y2U1ODY1
NDE5NzAzNDJhMGJjNjQxZmY0MzE0OTA5ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEZvcm1Db250cm9sRWxlbWVudC5oCkBAIC0xMTksNiArMTE5LDcgQEAgcHJvdGVjdGVkOgogICAg
IHZpcnR1YWwgdm9pZCByZXF1aXJlZEF0dHJpYnV0ZUNoYW5nZWQoKTsKICAgICB2aXJ0dWFsIHZv
aWQgZGlzYWJsZWRBdHRyaWJ1dGVDaGFuZ2VkKCk7CiAgICAgdmlydHVhbCB2b2lkIGF0dGFjaCgp
OworICAgIHZpcnR1YWwgdm9pZCByZW5kZXJlclVwZGF0ZUZyb21FbGVtZW50KCk7CiAgICAgdmly
dHVhbCBJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IGluc2VydGVkSW50byhDb250YWluZXJO
b2RlKikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZWRGcm9tKENvbnRhaW5lck5v
ZGUqKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkTW92ZVRvTmV3RG9jdW1lbnQoRG9j
dW1lbnQqIG9sZERvY3VtZW50KSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0
aW9uRWxlbWVudC5jcHAKaW5kZXggOGZjYzIyYzI3ZmM3ODgxMTVhZDIwNDlmYjhhZDhkNjA4ODZj
MWIwZS4uZWNiM2Q1NmIxNjRjYjBhNGQzOGZlZDAyMmZiOTYxMjFkNWU0ZDhhNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAKQEAgLTMwOSw3ICszMDksNyBAQCB2
b2lkIEhUTUxPcHRpb25FbGVtZW50OjpzZXRSZW5kZXJTdHlsZShQYXNzUmVmUHRyPFJlbmRlclN0
eWxlPiBuZXdTdHlsZSkKIHsKICAgICBtX3N0eWxlID0gbmV3U3R5bGU7CiAgICAgaWYgKEhUTUxT
ZWxlY3RFbGVtZW50KiBzZWxlY3QgPSBvd25lclNlbGVjdEVsZW1lbnQoKSkgewotICAgICAgICBp
ZiAoUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IHNlbGVjdC0+cmVuZGVyZXIoKSkKKyAgICAgICAg
aWYgKFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSBzZWxlY3QtPnJlbmRlcmVyRm9yU2VsZWN0KCkp
CiAgICAgICAgICAgICByZW5kZXJlci0+cmVwYWludCgpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKaW5kZXggOTI2MWQ1MmI2ZDQ3M2VlMThhMzJk
ZTRjNjVmNzg0ZDRkMTMyNmFkZi4uMzI1OTY2ODQ3MjU1M2MwMzkxOTIwMTY4YzBkZDdkNWRlOWM4
ZjkzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKQEAgLTM2
LDYgKzM2LDggQEAKICNpbmNsdWRlICJGb3JtQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZvcm1E
YXRhTGlzdC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSFRNTENvbnRlbnRFbGVt
ZW50LmgiCisjaW5jbHVkZSAiSFRNTERpdkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRm9ybUVs
ZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MT3B0R3JvdXBF
bGVtZW50LmgiCkBAIC02MSw2ICs2Myw2MyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5n
IG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKK1JlbmRlck9iamVjdCogU2VsZWN0RWxlbWVudDo6Y3Jl
YXRlUmVuZGVyZXJGb3JTZWxlY3RFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQsIFJlbmRlckFyZW5h
KiBhcmVuYSwgSFRNTFNlbGVjdEVsZW1lbnQqIHNlbGVjdCkKK3sKKyAgICBpZiAoc2VsZWN0LT51
c2VzTWVudUxpc3QoKSkKKyAgICAgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlck1lbnVMaXN0
KGVsZW1lbnQpOworICAgIHJldHVybiBuZXcgKGFyZW5hKSBSZW5kZXJMaXN0Qm94KGVsZW1lbnQp
OworfQorCitjbGFzcyBTZWxlY3RJbm5lckVsZW1lbnQgOiBwdWJsaWMgSFRNTERpdkVsZW1lbnQs
IHB1YmxpYyBTZWxlY3RFbGVtZW50IHsKK3B1YmxpYzoKKyAgICBTZWxlY3RJbm5lckVsZW1lbnQo
RG9jdW1lbnQqKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTZWxlY3RJbm5lckVsZW1lbnQ+IGNy
ZWF0ZShEb2N1bWVudCopOworCitwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCBhdHRhY2goKSBP
VkVSUklERTsKKworICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBzaGFkb3dQc2V1ZG9J
ZCgpIGNvbnN0OworCisgICAgSFRNTFNlbGVjdEVsZW1lbnQqIHNlbGVjdEVsZW1lbnQoKSBjb25z
dDsKKyAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEq
LCBSZW5kZXJTdHlsZSopIE9WRVJSSURFOworfTsKKworU2VsZWN0SW5uZXJFbGVtZW50OjpTZWxl
Y3RJbm5lckVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50KQorICAgIDogSFRNTERpdkVsZW1lbnQo
ZGl2VGFnLCBkb2N1bWVudCkKK3sgICAgCit9CisKK1Bhc3NSZWZQdHI8U2VsZWN0SW5uZXJFbGVt
ZW50PiBTZWxlY3RJbm5lckVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQpCit7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTZWxlY3RJbm5lckVsZW1lbnQoZG9jdW1lbnQpKTsKK30K
KworY29uc3QgQXRvbWljU3RyaW5nJiBTZWxlY3RJbm5lckVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lk
KCkgY29uc3QKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgcHNldWRv
SWQsICgiLXdlYmtpdC1zZWxlY3QtaW5uZXItZWxlbWVudCIpKTsKKyAgICByZXR1cm4gcHNldWRv
SWQ7Cit9CisKK2lubGluZSBIVE1MU2VsZWN0RWxlbWVudCogU2VsZWN0SW5uZXJFbGVtZW50Ojpz
ZWxlY3RFbGVtZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gdG9IVE1MU2VsZWN0RWxlbWVudChz
aGFkb3dIb3N0KCkpOworfQorCitSZW5kZXJPYmplY3QqIFNlbGVjdElubmVyRWxlbWVudDo6Y3Jl
YXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSopCit7CisgICAgcmV0
dXJuIGNyZWF0ZVJlbmRlcmVyRm9yU2VsZWN0RWxlbWVudCh0aGlzLCBhcmVuYSwgc2VsZWN0RWxl
bWVudCgpKTsKK30KKwordm9pZCBTZWxlY3RJbm5lckVsZW1lbnQ6OmF0dGFjaCgpCit7CisgICAg
SFRNTERpdkVsZW1lbnQ6OmF0dGFjaCgpOworCisgICAgaWYgKHJlbmRlcmVyKCkpCisgICAgICAg
IHJlbmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7Cit9CisKKy8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
KwogLy8gVXBwZXIgbGltaXQgYWdyZWVkIHVwb24gd2l0aCByZXByZXNlbnRhdGl2ZXMgb2YgT3Bl
cmEgYW5kIE1vemlsbGEuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4U2VsZWN0SXRlbXMgPSAx
MDAwMDsKIApAQCAtNzgsNiArMTM3LDcgQEAgSFRNTFNlbGVjdEVsZW1lbnQ6OkhUTUxTZWxlY3RF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2MKICAgICAs
IG1fbXVsdGlwbGUoZmFsc2UpCiAgICAgLCBtX2FjdGl2ZVNlbGVjdGlvblN0YXRlKGZhbHNlKQog
ICAgICwgbV9zaG91bGRSZWNhbGNMaXN0SXRlbXMoZmFsc2UpCisgICAgLCBtX2hhc0F1dGhvclNo
YWRvd1Jvb3QoZmFsc2UpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoc2VsZWN0VGFnKSk7CiB9
CkBAIC05NSw2ICsxNTUsNjEgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBIVE1MU2VsZWN0RWxlbWVu
dDo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKICAgICByZXR1cm4gbV9tdWx0aXBsZSA/IHNlbGVj
dE11bHRpcGxlIDogc2VsZWN0T25lOwogfQogCit2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjphdHRh
Y2goKQoreworICAgIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGU6OmF0dGFjaCgpOwor
fQorCit2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpyZW5kZXJlclVwZGF0ZUZyb21FbGVtZW50KCkK
K3sKKyAgICBpZiAoaGFzQXV0aG9yU2hhZG93Um9vdCgpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpZiAocmVuZGVyZXJGb3JTZWxlY3QoKSkKKyAgICAgICAgcmVuZGVyZXJGb3JTZWxlY3QoKS0+
dXBkYXRlRnJvbUVsZW1lbnQoKTsKK30KKworaW5saW5lIFJlbmRlck1lbnVMaXN0KiBIVE1MU2Vs
ZWN0RWxlbWVudDo6cmVuZGVyTWVudUxpc3QoKSBjb25zdAoreworICAgIEFTU0VSVCh1c2VzTWVu
dUxpc3QoKSk7CisgICAgcmV0dXJuIHRvUmVuZGVyTWVudUxpc3QocmVuZGVyZXJGb3JTZWxlY3Qo
KSk7Cit9CisKK2lubGluZSBSZW5kZXJMaXN0Qm94KiBIVE1MU2VsZWN0RWxlbWVudDo6cmVuZGVy
TGlzdEJveCgpIGNvbnN0Cit7CisgICAgQVNTRVJUKCF1c2VzTWVudUxpc3QoKSk7CisgICAgcmV0
dXJuIHRvUmVuZGVyTGlzdEJveChyZW5kZXJlckZvclNlbGVjdCgpKTsKK30KKworaW5saW5lIFJl
bmRlck9iamVjdCogSFRNTFNlbGVjdEVsZW1lbnQ6OnJlbmRlcmVyRm9yU2VsZWN0KCkgY29uc3QK
K3sKKyAgICBpZiAoaGFzQXV0aG9yU2hhZG93Um9vdCgpKQorICAgICAgICByZXR1cm4gdXNlckFn
ZW50U2hhZG93Um9vdCgpLT5maXJzdENoaWxkKCktPnJlbmRlcmVyKCk7CisKKyAgICByZXR1cm4g
cmVuZGVyZXIoKTsKK30KKwordm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6d2lsbEFkZEF1dGhvclNo
YWRvd1Jvb3QoKQoreworICAgIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGU6OndpbGxB
ZGRBdXRob3JTaGFkb3dSb290KCk7CisgICAgaWYgKGhhc0F1dGhvclNoYWRvd1Jvb3QoKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgQVNTRVJUKHVzZXJBZ2VudFNoYWRvd1Jvb3QoKSk7CisgICAg
bV9oYXNBdXRob3JTaGFkb3dSb290ID0gdHJ1ZTsKKyAgICBjcmVhdGVTaGFkb3dTdWJ0cmVlKCk7
Cit9CisKK3ZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OmNyZWF0ZVNoYWRvd1N1YnRyZWUoKQorewor
ICAgIFJlZlB0cjxTZWxlY3RJbm5lckVsZW1lbnQ+IGlubmVyID0gU2VsZWN0SW5uZXJFbGVtZW50
OjpjcmVhdGUoZG9jdW1lbnQoKSk7CisgICAgdXNlckFnZW50U2hhZG93Um9vdCgpLT5hcHBlbmRD
aGlsZChpbm5lci5nZXQoKSk7CisKKyAgICBSZWZQdHI8SFRNTENvbnRlbnRFbGVtZW50PiBjb250
ZW50ID0gSFRNTENvbnRlbnRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQoKSk7CisgICAgY29udGVu
dC0+c2V0U2VsZWN0KCJvcHRpb24iKTsKKyAgICBpbm5lci0+YXBwZW5kQ2hpbGQoY29udGVudC5n
ZXQoKSk7Cit9CisKIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OmRlc2VsZWN0SXRlbXMoSFRNTE9w
dGlvbkVsZW1lbnQqIGV4Y2x1ZGVFbGVtZW50KQogewogICAgIGRlc2VsZWN0SXRlbXNXaXRob3V0
VmFsaWRhdGlvbihleGNsdWRlRWxlbWVudCk7CkBAIC0zMzgsMTUgKzQ1MywxOSBAQCBib29sIEhU
TUxTZWxlY3RFbGVtZW50OjpjYW5TZWxlY3RBbGwoKSBjb25zdAogICAgIHJldHVybiAhdXNlc01l
bnVMaXN0KCk7CiB9CiAKLVJlbmRlck9iamVjdCogSFRNTFNlbGVjdEVsZW1lbnQ6OmNyZWF0ZVJl
bmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVyU3R5bGUqKQorUmVuZGVyT2JqZWN0KiBI
VE1MU2VsZWN0RWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5k
ZXJTdHlsZSogc3R5bGUpCiB7Ci0gICAgaWYgKHVzZXNNZW51TGlzdCgpKQotICAgICAgICByZXR1
cm4gbmV3IChhcmVuYSkgUmVuZGVyTWVudUxpc3QodGhpcyk7Ci0gICAgcmV0dXJuIG5ldyAoYXJl
bmEpIFJlbmRlckxpc3RCb3godGhpcyk7CisgICAgaWYgKHVzZXJBZ2VudFNoYWRvd1Jvb3QoKSkK
KyAgICAgICAgcmV0dXJuIFJlbmRlck9iamVjdDo6Y3JlYXRlT2JqZWN0KHRoaXMsIHN0eWxlKTsK
KworICAgIHJldHVybiBTZWxlY3RFbGVtZW50OjpjcmVhdGVSZW5kZXJlckZvclNlbGVjdEVsZW1l
bnQodGhpcywgYXJlbmEsIHRoaXMpOwogfQogCiBib29sIEhUTUxTZWxlY3RFbGVtZW50OjpjaGls
ZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0JiBjaGlsZENv
bnRleHQpIGNvbnN0CiB7CisgICAgaWYgKGhhc0F1dGhvclNoYWRvd1Jvb3QoKSkKKyAgICAgICAg
cmV0dXJuIEhUTUxFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNoaWxkQ29udGV4
dCk7CisKICAgICBpZiAoIUhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGU6OmNoaWxkU2hv
dWxkQ3JlYXRlUmVuZGVyZXIoY2hpbGRDb250ZXh0KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIGlmICghdXNlc01lbnVMaXN0KCkpCkBAIC01NDMsOCArNjYyLDggQEAgaW50IEhUTUxTZWxl
Y3RFbGVtZW50OjpuZXh0U2VsZWN0YWJsZUxpc3RJbmRleFBhZ2VBd2F5KGludCBzdGFydEluZGV4
LCBTa2lwRGlyZWMKICAgICBjb25zdCBWZWN0b3I8SFRNTEVsZW1lbnQqPiYgaXRlbXMgPSBsaXN0
SXRlbXMoKTsKICAgICAvLyBDYW4ndCB1c2UgbV9zaXplIGJlY2F1c2UgcmVuZGVyZXIgZm9yY2Vz
IGEgbWluaW11bSBzaXplLgogICAgIGludCBwYWdlU2l6ZSA9IDA7Ci0gICAgaWYgKHJlbmRlcmVy
KCktPmlzTGlzdEJveCgpKQotICAgICAgICBwYWdlU2l6ZSA9IHRvUmVuZGVyTGlzdEJveChyZW5k
ZXJlcigpKS0+c2l6ZSgpIC0gMTsgLy8gLTEgc28gd2Ugc3RpbGwgc2hvdyBjb250ZXh0LgorICAg
IGlmICghdXNlc01lbnVMaXN0KCkpCisgICAgICAgIHBhZ2VTaXplID0gcmVuZGVyTGlzdEJveCgp
LT5zaXplKCkgLSAxOyAvLyAtMSBzbyB3ZSBzdGlsbCBzaG93IGNvbnRleHQuCiAKICAgICAvLyBP
bmUgcGFnZSBhd2F5LCBidXQgbm90IG91dHNpZGUgdmFsaWQgYm91bmRzLgogICAgIC8vIElmIHRo
ZXJlIGlzIGEgdmFsaWQgb3B0aW9uIGl0ZW0gb25lIHBhZ2UgYXdheSwgdGhlIGluZGV4IGlzIGNo
b3Nlbi4KQEAgLTYxMCw3ICs3MjksNyBAQCB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpzZXRBY3Rp
dmVTZWxlY3Rpb25FbmRJbmRleChpbnQgaW5kZXgpCiAKIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6
OnVwZGF0ZUxpc3RCb3hTZWxlY3Rpb24oYm9vbCBkZXNlbGVjdE90aGVyT3B0aW9ucykKIHsKLSAg
ICBBU1NFUlQocmVuZGVyZXIoKSAmJiAocmVuZGVyZXIoKS0+aXNMaXN0Qm94KCkgfHwgbV9tdWx0
aXBsZSkpOworICAgIEFTU0VSVChyZW5kZXJlckZvclNlbGVjdCgpICYmIChyZW5kZXJlckZvclNl
bGVjdCgpLT5pc0xpc3RCb3goKSB8fCBtX211bHRpcGxlKSk7CiAgICAgQVNTRVJUKCFsaXN0SXRl
bXMoKS5zaXplKCkgfHwgbV9hY3RpdmVTZWxlY3Rpb25BbmNob3JJbmRleCA+PSAwKTsKIAogICAg
IHVuc2lnbmVkIHN0YXJ0ID0gbWluKG1fYWN0aXZlU2VsZWN0aW9uQW5jaG9ySW5kZXgsIG1fYWN0
aXZlU2VsZWN0aW9uRW5kSW5kZXgpOwpAQCAtNjc4LDE3ICs3OTcsMTcgQEAgdm9pZCBIVE1MU2Vs
ZWN0RWxlbWVudDo6c2Nyb2xsVG9TZWxlY3Rpb24oKQogICAgIGlmICh1c2VzTWVudUxpc3QoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSB0aGlz
LT5yZW5kZXJlcigpKQotICAgICAgICB0b1JlbmRlckxpc3RCb3gocmVuZGVyZXIpLT5zZWxlY3Rp
b25DaGFuZ2VkKCk7CisgICAgaWYgKFJlbmRlckxpc3RCb3gqIHJlbmRlcmVyID0gcmVuZGVyTGlz
dEJveCgpKQorICAgICAgICByZW5kZXJlci0+c2VsZWN0aW9uQ2hhbmdlZCgpOwogfQogCiB2b2lk
IEhUTUxTZWxlY3RFbGVtZW50OjpzZXRPcHRpb25zQ2hhbmdlZE9uUmVuZGVyZXIoKQogewotICAg
IGlmIChSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKSkgeworICAgIGlm
IChyZW5kZXJlckZvclNlbGVjdCgpKSB7CiAgICAgICAgIGlmICh1c2VzTWVudUxpc3QoKSkKLSAg
ICAgICAgICAgIHRvUmVuZGVyTWVudUxpc3QocmVuZGVyZXIpLT5zZXRPcHRpb25zQ2hhbmdlZCh0
cnVlKTsKKyAgICAgICAgICAgIHJlbmRlck1lbnVMaXN0KCktPnNldE9wdGlvbnNDaGFuZ2VkKHRy
dWUpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICB0b1JlbmRlckxpc3RCb3gocmVuZGVyZXIp
LT5zZXRPcHRpb25zQ2hhbmdlZCh0cnVlKTsKKyAgICAgICAgICAgIHJlbmRlckxpc3RCb3goKS0+
c2V0T3B0aW9uc0NoYW5nZWQodHJ1ZSk7CiAgICAgfQogfQogCkBAIC04NDYsNyArOTY1LDcgQEAg
dm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6c2VsZWN0T3B0aW9uKGludCBvcHRpb25JbmRleCwgU2Vs
ZWN0T3B0aW9uRmxhZ3MgZmxhZ3MpCiAgICAgICAgIGRlc2VsZWN0SXRlbXNXaXRob3V0VmFsaWRh
dGlvbihlbGVtZW50KTsKIAogICAgIC8vIEZvciB0aGUgbWVudSBsaXN0IGNhc2UsIHRoaXMgaXMg
d2hhdCBtYWtlcyB0aGUgc2VsZWN0ZWQgZWxlbWVudCBhcHBlYXIuCi0gICAgaWYgKFJlbmRlck9i
amVjdCogcmVuZGVyZXIgPSB0aGlzLT5yZW5kZXJlcigpKQorICAgIGlmIChSZW5kZXJPYmplY3Qq
IHJlbmRlcmVyID0gcmVuZGVyZXJGb3JTZWxlY3QoKSkKICAgICAgICAgcmVuZGVyZXItPnVwZGF0
ZUZyb21FbGVtZW50KCk7CiAKICAgICBzY3JvbGxUb1NlbGVjdGlvbigpOwpAQCAtODU1LDcgKzk3
NCw3IEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OnNlbGVjdE9wdGlvbihpbnQgb3B0aW9uSW5k
ZXgsIFNlbGVjdE9wdGlvbkZsYWdzIGZsYWdzKQogICAgICAgICBtX2lzUHJvY2Vzc2luZ1VzZXJE
cml2ZW5DaGFuZ2UgPSBmbGFncyAmIFVzZXJEcml2ZW47CiAgICAgICAgIGlmIChmbGFncyAmIERp
c3BhdGNoQ2hhbmdlRXZlbnQpCiAgICAgICAgICAgICBkaXNwYXRjaENoYW5nZUV2ZW50Rm9yTWVu
dUxpc3QoKTsKLSAgICAgICAgaWYgKFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSB0aGlzLT5yZW5k
ZXJlcigpKSB7CisgICAgICAgIGlmIChSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gcmVuZGVyZXJG
b3JTZWxlY3QoKSkgewogICAgICAgICAgICAgaWYgKHVzZXNNZW51TGlzdCgpKQogICAgICAgICAg
ICAgICAgIHRvUmVuZGVyTWVudUxpc3QocmVuZGVyZXIpLT5kaWRTZXRTZWxlY3RlZEluZGV4KGxp
c3RJbmRleCk7CiAgICAgICAgICAgICBlbHNlIGlmIChyZW5kZXJlci0+aXNMaXN0Qm94KCkpCkBA
IC0xMDg2LDcgKzEyMDUsNyBAQCBib29sIEhUTUxTZWxlY3RFbGVtZW50OjpwbGF0Zm9ybUhhbmRs
ZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50KiBldmVudCkKICAgICAgICAgICAgIC8vIGdldHMg
Y2FsbGVkIGZyb20gUmVuZGVyTWVudUxpc3Q6OnZhbHVlQ2hhbmdlZCwgd2hpY2ggZ2V0cyBjYWxs
ZWQKICAgICAgICAgICAgIC8vIGFmdGVyIHRoZSB1c2VyIG1ha2VzIGEgc2VsZWN0aW9uIGZyb20g
dGhlIG1lbnUuCiAgICAgICAgICAgICBzYXZlTGFzdFNlbGVjdGlvbigpOwotICAgICAgICAgICAg
aWYgKFJlbmRlck1lbnVMaXN0KiBtZW51TGlzdCA9IHRvUmVuZGVyTWVudUxpc3QocmVuZGVyZXIo
KSkpCisgICAgICAgICAgICBpZiAoUmVuZGVyTWVudUxpc3QqIG1lbnVMaXN0ID0gcmVuZGVyTWVu
dUxpc3QoKSkKICAgICAgICAgICAgICAgICBtZW51TGlzdC0+c2hvd1BvcHVwKCk7CiAgICAgICAg
ICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKICAgICAgICAgfQpAQCAtMTEwMyw3ICsx
MjIyLDcgQEAgdm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6bWVudUxpc3REZWZhdWx0RXZlbnRIYW5k
bGVyKEV2ZW50KiBldmVudCkKICAgICBSZWZQdHI8UmVuZGVyVGhlbWU+IHJlbmRlclRoZW1lID0g
cGFnZSA/IHBhZ2UtPnRoZW1lKCkgOiBSZW5kZXJUaGVtZTo6ZGVmYXVsdFRoZW1lKCk7CiAKICAg
ICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkua2V5ZG93bkV2ZW50KSB7Ci0gICAg
ICAgIGlmICghcmVuZGVyZXIoKSB8fCAhZXZlbnQtPmlzS2V5Ym9hcmRFdmVudCgpKQorICAgICAg
ICBpZiAoIXJlbmRlcmVyRm9yU2VsZWN0KCkgfHwgIWV2ZW50LT5pc0tleWJvYXJkRXZlbnQoKSkK
ICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBpZiAocGxhdGZvcm1IYW5kbGVLZXlkb3du
RXZlbnQoc3RhdGljX2Nhc3Q8S2V5Ym9hcmRFdmVudCo+KGV2ZW50KSkpCkBAIC0xMTc0LDcgKzEy
OTMsNyBAQCB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjptZW51TGlzdERlZmF1bHRFdmVudEhhbmRs
ZXIoRXZlbnQqIGV2ZW50KQogICAgICAgICAgICAgICAgIC8vIGdldHMgY2FsbGVkIGZyb20gUmVu
ZGVyTWVudUxpc3Q6OnZhbHVlQ2hhbmdlZCwgd2hpY2ggZ2V0cyBjYWxsZWQKICAgICAgICAgICAg
ICAgICAvLyBhZnRlciB0aGUgdXNlciBtYWtlcyBhIHNlbGVjdGlvbiBmcm9tIHRoZSBtZW51Lgog
ICAgICAgICAgICAgICAgIHNhdmVMYXN0U2VsZWN0aW9uKCk7Ci0gICAgICAgICAgICAgICAgaWYg
KFJlbmRlck1lbnVMaXN0KiBtZW51TGlzdCA9IHRvUmVuZGVyTWVudUxpc3QocmVuZGVyZXIoKSkp
CisgICAgICAgICAgICAgICAgaWYgKFJlbmRlck1lbnVMaXN0KiBtZW51TGlzdCA9IHJlbmRlck1l
bnVMaXN0KCkpCiAgICAgICAgICAgICAgICAgICAgIG1lbnVMaXN0LT5zaG93UG9wdXAoKTsKICAg
ICAgICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTsKICAgICAgICAgICAgIH0KQEAgLTExOTIsNyAr
MTMxMSw3IEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6Om1lbnVMaXN0RGVmYXVsdEV2ZW50SGFu
ZGxlcihFdmVudCogZXZlbnQpCiAgICAgICAgICAgICAgICAgLy8gZ2V0cyBjYWxsZWQgZnJvbSBS
ZW5kZXJNZW51TGlzdDo6dmFsdWVDaGFuZ2VkLCB3aGljaCBnZXRzIGNhbGxlZAogICAgICAgICAg
ICAgICAgIC8vIGFmdGVyIHRoZSB1c2VyIG1ha2VzIGEgc2VsZWN0aW9uIGZyb20gdGhlIG1lbnUu
CiAgICAgICAgICAgICAgICAgc2F2ZUxhc3RTZWxlY3Rpb24oKTsKLSAgICAgICAgICAgICAgICBp
ZiAoUmVuZGVyTWVudUxpc3QqIG1lbnVMaXN0ID0gdG9SZW5kZXJNZW51TGlzdChyZW5kZXJlcigp
KSkKKyAgICAgICAgICAgICAgICBpZiAoUmVuZGVyTWVudUxpc3QqIG1lbnVMaXN0ID0gcmVuZGVy
TWVudUxpc3QoKSkKICAgICAgICAgICAgICAgICAgICAgbWVudUxpc3QtPnNob3dQb3B1cCgpOwog
ICAgICAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlOwogICAgICAgICAgICAgfSBlbHNlIGlmIChr
ZXlDb2RlID09ICdccicpIHsKQEAgLTEyMDksOCArMTMyOCw4IEBAIHZvaWQgSFRNTFNlbGVjdEVs
ZW1lbnQ6Om1lbnVMaXN0RGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiAKICAgICBp
ZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkubW91c2Vkb3duRXZlbnQgJiYgZXZlbnQt
PmlzTW91c2VFdmVudCgpICYmIHN0YXRpY19jYXN0PE1vdXNlRXZlbnQqPihldmVudCktPmJ1dHRv
bigpID09IExlZnRCdXR0b24pIHsKICAgICAgICAgZm9jdXMoKTsKLSAgICAgICAgaWYgKHJlbmRl
cmVyKCkgJiYgcmVuZGVyZXIoKS0+aXNNZW51TGlzdCgpKSB7Ci0gICAgICAgICAgICBpZiAoUmVu
ZGVyTWVudUxpc3QqIG1lbnVMaXN0ID0gdG9SZW5kZXJNZW51TGlzdChyZW5kZXJlcigpKSkgewor
ICAgICAgICBpZiAocmVuZGVyZXJGb3JTZWxlY3QoKSAmJiByZW5kZXJlckZvclNlbGVjdCgpLT5p
c01lbnVMaXN0KCkpIHsKKyAgICAgICAgICAgIGlmIChSZW5kZXJNZW51TGlzdCogbWVudUxpc3Qg
PSByZW5kZXJNZW51TGlzdCgpKSB7CiAgICAgICAgICAgICAgICAgaWYgKG1lbnVMaXN0LT5wb3B1
cElzVmlzaWJsZSgpKQogICAgICAgICAgICAgICAgICAgICBtZW51TGlzdC0+aGlkZVBvcHVwKCk7
CiAgICAgICAgICAgICAgICAgZWxzZSB7CkBAIC0xMjg0LDEzICsxNDAzLDEzIEBAIHZvaWQgSFRN
TFNlbGVjdEVsZW1lbnQ6Omxpc3RCb3hEZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkK
ICAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkubW91c2Vkb3duRXZlbnQgJiYg
ZXZlbnQtPmlzTW91c2VFdmVudCgpICYmIHN0YXRpY19jYXN0PE1vdXNlRXZlbnQqPihldmVudCkt
PmJ1dHRvbigpID09IExlZnRCdXR0b24pIHsKICAgICAgICAgZm9jdXMoKTsKICAgICAgICAgLy8g
Q2FsbGluZyBmb2N1cygpIG1heSBjYXVzZSB1cyB0byBsb3NlIG91ciByZW5kZXJlciwgaW4gd2hp
Y2ggY2FzZSBkbyBub3Qgd2FudCB0byBoYW5kbGUgdGhlIGV2ZW50LgotICAgICAgICBpZiAoIXJl
bmRlcmVyKCkpCisgICAgICAgIGlmICghcmVuZGVyZXJGb3JTZWxlY3QoKSkKICAgICAgICAgICAg
IHJldHVybjsKIAogICAgICAgICAvLyBDb252ZXJ0IHRvIGNvb3JkcyByZWxhdGl2ZSB0byB0aGUg
bGlzdCBib3ggaWYgbmVlZGVkLgogICAgICAgICBNb3VzZUV2ZW50KiBtb3VzZUV2ZW50ID0gc3Rh
dGljX2Nhc3Q8TW91c2VFdmVudCo+KGV2ZW50KTsKLSAgICAgICAgSW50UG9pbnQgbG9jYWxPZmZz
ZXQgPSByb3VuZGVkSW50UG9pbnQocmVuZGVyZXIoKS0+YWJzb2x1dGVUb0xvY2FsKG1vdXNlRXZl
bnQtPmFic29sdXRlTG9jYXRpb24oKSwgZmFsc2UsIHRydWUpKTsKLSAgICAgICAgaW50IGxpc3RJ
bmRleCA9IHRvUmVuZGVyTGlzdEJveChyZW5kZXJlcigpKS0+bGlzdEluZGV4QXRPZmZzZXQodG9T
aXplKGxvY2FsT2Zmc2V0KSk7CisgICAgICAgIEludFBvaW50IGxvY2FsT2Zmc2V0ID0gcm91bmRl
ZEludFBvaW50KHJlbmRlcmVyRm9yU2VsZWN0KCktPmFic29sdXRlVG9Mb2NhbChtb3VzZUV2ZW50
LT5hYnNvbHV0ZUxvY2F0aW9uKCksIGZhbHNlLCB0cnVlKSk7CisgICAgICAgIGludCBsaXN0SW5k
ZXggPSByZW5kZXJMaXN0Qm94KCktPmxpc3RJbmRleEF0T2Zmc2V0KHRvU2l6ZShsb2NhbE9mZnNl
dCkpOwogICAgICAgICBpZiAobGlzdEluZGV4ID49IDApIHsKICAgICAgICAgICAgIGlmICghZGlz
YWJsZWQoKSkgewogI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKENIUk9NSVVNKSAmJiBP
UyhEQVJXSU4pKQpAQCAtMTMwNCwxMyArMTQyMywxMyBAQCB2b2lkIEhUTUxTZWxlY3RFbGVtZW50
OjpsaXN0Qm94RGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiAKICAgICAgICAgICAg
IGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOwogICAgICAgICB9Ci0gICAgfSBlbHNlIGlmIChl
dmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVudCAmJiBldmVudC0+aXNN
b3VzZUV2ZW50KCkgJiYgIXRvUmVuZGVyQm94KHJlbmRlcmVyKCkpLT5jYW5CZVNjcm9sbGVkQW5k
SGFzU2Nyb2xsYWJsZUFyZWEoKSkgeworICAgIH0gZWxzZSBpZiAoZXZlbnQtPnR5cGUoKSA9PSBl
dmVudE5hbWVzKCkubW91c2Vtb3ZlRXZlbnQgJiYgZXZlbnQtPmlzTW91c2VFdmVudCgpICYmICF0
b1JlbmRlckJveChyZW5kZXJlckZvclNlbGVjdCgpKS0+Y2FuQmVTY3JvbGxlZEFuZEhhc1Njcm9s
bGFibGVBcmVhKCkpIHsKICAgICAgICAgTW91c2VFdmVudCogbW91c2VFdmVudCA9IHN0YXRpY19j
YXN0PE1vdXNlRXZlbnQqPihldmVudCk7CiAgICAgICAgIGlmIChtb3VzZUV2ZW50LT5idXR0b24o
KSAhPSBMZWZ0QnV0dG9uIHx8ICFtb3VzZUV2ZW50LT5idXR0b25Eb3duKCkpCiAgICAgICAgICAg
ICByZXR1cm47CiAKLSAgICAgICAgSW50UG9pbnQgbG9jYWxPZmZzZXQgPSByb3VuZGVkSW50UG9p
bnQocmVuZGVyZXIoKS0+YWJzb2x1dGVUb0xvY2FsKG1vdXNlRXZlbnQtPmFic29sdXRlTG9jYXRp
b24oKSwgZmFsc2UsIHRydWUpKTsKLSAgICAgICAgaW50IGxpc3RJbmRleCA9IHRvUmVuZGVyTGlz
dEJveChyZW5kZXJlcigpKS0+bGlzdEluZGV4QXRPZmZzZXQodG9TaXplKGxvY2FsT2Zmc2V0KSk7
CisgICAgICAgIEludFBvaW50IGxvY2FsT2Zmc2V0ID0gcm91bmRlZEludFBvaW50KHJlbmRlcmVy
Rm9yU2VsZWN0KCktPmFic29sdXRlVG9Mb2NhbChtb3VzZUV2ZW50LT5hYnNvbHV0ZUxvY2F0aW9u
KCksIGZhbHNlLCB0cnVlKSk7CisgICAgICAgIGludCBsaXN0SW5kZXggPSByZW5kZXJMaXN0Qm94
KCktPmxpc3RJbmRleEF0T2Zmc2V0KHRvU2l6ZShsb2NhbE9mZnNldCkpOwogICAgICAgICBpZiAo
bGlzdEluZGV4ID49IDApIHsKICAgICAgICAgICAgIGlmICghZGlzYWJsZWQoKSkgewogICAgICAg
ICAgICAgICAgIGlmIChtX211bHRpcGxlKSB7CkBAIC0xNDAzLDcgKzE1MjIsNyBAQCB2b2lkIEhU
TUxTZWxlY3RFbGVtZW50OjpsaXN0Qm94RGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQp
CiAgICAgICAgICAgICAgICAgc2V0QWN0aXZlU2VsZWN0aW9uQW5jaG9ySW5kZXgobV9hY3RpdmVT
ZWxlY3Rpb25FbmRJbmRleCk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIHRvUmVuZGVy
TGlzdEJveChyZW5kZXJlcigpKS0+c2Nyb2xsVG9SZXZlYWxFbGVtZW50QXRMaXN0SW5kZXgoZW5k
SW5kZXgpOworICAgICAgICAgICAgcmVuZGVyTGlzdEJveCgpLT5zY3JvbGxUb1JldmVhbEVsZW1l
bnRBdExpc3RJbmRleChlbmRJbmRleCk7CiAgICAgICAgICAgICBpZiAoc2VsZWN0TmV3SXRlbSkg
ewogICAgICAgICAgICAgICAgIHVwZGF0ZUxpc3RCb3hTZWxlY3Rpb24oZGVzZWxlY3RPdGhlcnMp
OwogICAgICAgICAgICAgICAgIGxpc3RCb3hPbkNoYW5nZSgpOwpAQCAtMTQzMyw3ICsxNTUyLDcg
QEAgdm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6bGlzdEJveERlZmF1bHRFdmVudEhhbmRsZXIoRXZl
bnQqIGV2ZW50KQogCiB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVy
KEV2ZW50KiBldmVudCkKIHsKLSAgICBpZiAoIXJlbmRlcmVyKCkpCisgICAgaWYgKCFyZW5kZXJl
ckZvclNlbGVjdCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAodXNlc01lbnVMaXN0KCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmgKaW5kZXggNDc0YzE1YTY0MTYz
ZjQ1NGNhMzUxMjZhZTIxZDVmY2ZkM2NiMzQ1Yi4uYzhjMDhmMmQ0NTgwZWFlOGNkY2IzYTNiNTNk
OGExOGE3MDllOTI3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaApA
QCAtMzQsMTEgKzM0LDIxIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxPcHRp
b25FbGVtZW50OworY2xhc3MgSFRNTFNlbGVjdEVsZW1lbnQ7CitjbGFzcyBSZW5kZXJNZW51TGlz
dDsKK2NsYXNzIFJlbmRlckxpc3RCb3g7CiAKLWNsYXNzIEhUTUxTZWxlY3RFbGVtZW50IDogcHVi
bGljIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUgeworY2xhc3MgU2VsZWN0RWxlbWVu
dCB7Citwcm90ZWN0ZWQ6CisgICAgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlckZvclNlbGVj
dEVsZW1lbnQoRWxlbWVudCosIFJlbmRlckFyZW5hKiwgSFRNTFNlbGVjdEVsZW1lbnQqKTsKK307
CisKK2NsYXNzIEhUTUxTZWxlY3RFbGVtZW50IDogcHVibGljIEhUTUxGb3JtQ29udHJvbEVsZW1l
bnRXaXRoU3RhdGUsIHB1YmxpYyBTZWxlY3RFbGVtZW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxIVE1MU2VsZWN0RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCosIEhUTUxGb3JtRWxlbWVudCopOwogCisgICAgUmVuZGVyT2JqZWN0KiByZW5k
ZXJlckZvclNlbGVjdCgpIGNvbnN0OworCiAgICAgaW50IHNlbGVjdGVkSW5kZXgoKSBjb25zdDsK
ICAgICB2b2lkIHNldFNlbGVjdGVkSW5kZXgoaW50KTsKIApAQCAtMTA5LDYgKzExOSwxNiBAQCBw
cm90ZWN0ZWQ6CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGZv
cm1Db250cm9sVHlwZSgpIGNvbnN0OworCisgICAgdmlydHVhbCB2b2lkIGF0dGFjaCgpIE9WRVJS
SURFOworICAgIHZpcnR1YWwgdm9pZCByZW5kZXJlclVwZGF0ZUZyb21FbGVtZW50KCkgT1ZFUlJJ
REU7CisgICAgCisgICAgUmVuZGVyTWVudUxpc3QqIHJlbmRlck1lbnVMaXN0KCkgY29uc3Q7Cisg
ICAgUmVuZGVyTGlzdEJveCogcmVuZGVyTGlzdEJveCgpIGNvbnN0OworCisgICAgYm9vbCBoYXNB
dXRob3JTaGFkb3dSb290KCkgY29uc3QgeyByZXR1cm4gbV9oYXNBdXRob3JTaGFkb3dSb290OyB9
CisgICAgdmlydHVhbCB2b2lkIHdpbGxBZGRBdXRob3JTaGFkb3dSb290KCkgT1ZFUlJJREU7Cisg
ICAgdm9pZCBjcmVhdGVTaGFkb3dTdWJ0cmVlKCk7CiAgICAgCiAgICAgdmlydHVhbCBib29sIGlz
S2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCopIGNvbnN0OwogICAgIHZpcnR1YWwgYm9v
bCBpc01vdXNlRm9jdXNhYmxlKCkgY29uc3Q7CkBAIC0xOTUsNiArMjE1LDcgQEAgcHJpdmF0ZToK
ICAgICBib29sIG1fbXVsdGlwbGU7CiAgICAgYm9vbCBtX2FjdGl2ZVNlbGVjdGlvblN0YXRlOwog
ICAgIG11dGFibGUgYm9vbCBtX3Nob3VsZFJlY2FsY0xpc3RJdGVtczsKKyAgICBib29sIG1faGFz
QXV0aG9yU2hhZG93Um9vdDsKIH07CiAKIGlubGluZSBib29sIGlzSFRNTFNlbGVjdEVsZW1lbnQo
Y29uc3QgTm9kZSogbm9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMaXN0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94
LmNwcAppbmRleCA2Mzc2YjA5OGJjNWExZWE1YmVhMjhmNGM3NDg1ZDg4MjUwYjgxOWQ0Li42ZjY4
ZDMxOGJiOTlkZmZmMTNmZjgyZGZlNzljOGQ3ZjU2ZGY1ODJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCkBAIC05MSw3ICs5MSw3IEBAIFJlbmRlckxpc3RC
b3g6OlJlbmRlckxpc3RCb3goRWxlbWVudCogZWxlbWVudCkKIHsKICAgICBBU1NFUlQoZWxlbWVu
dCk7CiAgICAgQVNTRVJUKGVsZW1lbnQtPmlzSFRNTEVsZW1lbnQoKSk7Ci0gICAgQVNTRVJUKGVs
ZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpzZWxlY3RUYWcpKTsKKyAgICBBU1NFUlQoaXNI
VE1MU2VsZWN0RWxlbWVudChlbGVtZW50KSB8fCBpc0hUTUxTZWxlY3RFbGVtZW50KGVsZW1lbnQt
PnNoYWRvd0hvc3QoKSkpOwogCiAgICAgaWYgKEZyYW1lVmlldyogZnJhbWVWaWV3ID0gZnJhbWUo
KS0+dmlldygpKQogICAgICAgICBmcmFtZVZpZXctPmFkZFNjcm9sbGFibGVBcmVhKHRoaXMpOwpA
QCAtMTA3LDcgKzEwNywxMCBAQCBSZW5kZXJMaXN0Qm94Ojp+UmVuZGVyTGlzdEJveCgpCiAKIGlu
bGluZSBIVE1MU2VsZWN0RWxlbWVudCogUmVuZGVyTGlzdEJveDo6c2VsZWN0RWxlbWVudCgpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIHRvSFRNTFNlbGVjdEVsZW1lbnQobm9kZSgpKTsKKyAgICBpZiAo
aXNIVE1MU2VsZWN0RWxlbWVudChub2RlKCkpKQorICAgICAgICByZXR1cm4gdG9IVE1MU2VsZWN0
RWxlbWVudChub2RlKCkpOworCisgICAgcmV0dXJuIHRvSFRNTFNlbGVjdEVsZW1lbnQobm9kZSgp
LT5zaGFkb3dIb3N0KCkpOwogfQogCiB2b2lkIFJlbmRlckxpc3RCb3g6OnVwZGF0ZUZyb21FbGVt
ZW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlz
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCmluZGV4
IDViNzlkNmM5MGNiNjM3NTM2MGIxMmUzMTJmZDM3N2FjM2Q0MzhiNDAuLjcyNzJkZjg1ZjM0YTZm
MWYwZWE3NGM0YzA1ODc4M2IwMjM5Njg2ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck1lbnVMaXN0LmNwcApAQCAtNjQsNyArNjQsNyBAQCBSZW5kZXJNZW51TGlzdDo6UmVu
ZGVyTWVudUxpc3QoRWxlbWVudCogZWxlbWVudCkKIHsKICAgICBBU1NFUlQoZWxlbWVudCk7CiAg
ICAgQVNTRVJUKGVsZW1lbnQtPmlzSFRNTEVsZW1lbnQoKSk7Ci0gICAgQVNTRVJUKGVsZW1lbnQt
Pmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpzZWxlY3RUYWcpKTsKKyAgICBBU1NFUlQoaXNIVE1MU2Vs
ZWN0RWxlbWVudChlbGVtZW50KSB8fCBpc0hUTUxTZWxlY3RFbGVtZW50KGVsZW1lbnQtPnNoYWRv
d0hvc3QoKSkpOwogfQogCiBSZW5kZXJNZW51TGlzdDo6flJlbmRlck1lbnVMaXN0KCkKQEAgLTEy
MSw3ICsxMjEsMTAgQEAgdm9pZCBSZW5kZXJNZW51TGlzdDo6YWRqdXN0SW5uZXJTdHlsZSgpCiAK
IGlubGluZSBIVE1MU2VsZWN0RWxlbWVudCogUmVuZGVyTWVudUxpc3Q6OnNlbGVjdEVsZW1lbnQo
KSBjb25zdAogewotICAgIHJldHVybiB0b0hUTUxTZWxlY3RFbGVtZW50KG5vZGUoKSk7CisgICAg
aWYgKGlzSFRNTFNlbGVjdEVsZW1lbnQobm9kZSgpKSkKKyAgICAgICAgcmV0dXJuIHRvSFRNTFNl
bGVjdEVsZW1lbnQobm9kZSgpKTsKKworICAgIHJldHVybiB0b0hUTUxTZWxlY3RFbGVtZW50KG5v
ZGUoKS0+c2hhZG93SG9zdCgpKTsKIH0KIAogdm9pZCBSZW5kZXJNZW51TGlzdDo6YWRkQ2hpbGQo
UmVuZGVyT2JqZWN0KiBuZXdDaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCBkZjMzNzU4MDUxZmQwMWYzMjY5ZGM0MjllZjZiMzg0NjQ2MjIxYWU0Li44ZjBmMTczZDZlYmNj
ZDAxNzgxZjJiNGRmNjllMjI5OWUxYmJiYTNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTIt
MDgtMjMgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IEF1dGhvclNoYWRvd0RPTSBmb3Igc2VsZWN0IGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxNDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgaGF2ZSB0aGUgZm9sbG93aW5nIHRlc3RzIG9m
IEF1dGhvclNoYWRvd0RPTSBmb3Igc2VsZWN0IGVsZW1lbnQuCisKKyAgICAgICAgKDEpIFNoYWRv
dyBET00gaGF2aW5nIG9ubHkgPHNoYWRvdz4gZWxlbWVudAorICAgICAgICAoMikgU2hhZG93IERP
TSBub3QgaGF2aW5nIGFueSBJbnNlcnRpb25Qb2ludAorICAgICAgICAoMykgU2hhZG93IERPTSB3
aXRoIHN0eWxlCisgICAgICAgICg0KSBEeW5hbWljIGF0dHJpYnV0ZSB1cGRhdGUKKyAgICAgICAg
KDUpIER5bmFtaWMgY2hpbGRyZW4gKG9wdGlvbiBlbGVtZW50cykgdXBkYXRlCisgICAgICAgICg2
KSBNYW5pcHVsYXRpbmcgc2VsZWN0IGVsZW1lbnQgbm90IGhhdmluZyBhbnkgSW5zZXJ0aW9uUG9p
bnQKKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9yZXNvdXJjZXMvcmVwbGFjZWQtZWxlbWVu
dC1zdHlsZXMuY3NzOgorICAgICAgICAoc2VsZWN0LnJlc2V0LWZvci1zaGFkb3cpOgorICAgICAg
ICAoLnJlc2V0LWZvci1pbm5lcik6CisgICAgICAgIChkaXYuc2VsZWN0LWxpa2UpOgorICAgICAg
ICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1jb21wbGV4LXNoYWRvdy1l
eHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNl
bGVjdC1jb21wbGV4LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLXNlbGVjdC1keW5hbWljLWF0dHJpYnV0ZS1jaGFuZ2UtZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWR5
bmFtaWMtYXR0cmlidXRlLWNoYW5nZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtZHluYW1pYy1jaGlsZHJlbi1jaGFuZ2UtZXhwZWN0
ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
c2VsZWN0LWR5bmFtaWMtY2hpbGRyZW4tY2hhbmdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1vbmx5LXNoYWRvdy1leHBlY3RlZC5o
dG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1vbmx5
LXNoYWRvdy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNl
bGVjdC13aXRoLW9wdGlvbnMtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGgtb3B0aW9ucy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aC1zdHls
ZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1zZWxlY3Qtd2l0aC1zdHlsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3ctY2xpY2stZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1z
ZWxlY3Qtd2l0aG91dC1zaGFkb3ctY2xpY2suaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGhvdXQtc2hhZG93LWV4cGVjdGVkLmh0
bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGhv
dXQtc2hhZG93Lmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0
aW9uczoKKwogMjAxMi0wOC0yMyAgU2hlemFuIEJhaWcgIDxzaGV6YmFpZy53a0BnbWFpbC5jb20+
CiAKICAgICAgICAgUmVtb3ZlIEZJWE1FcyBmcm9tIGNzczMvZmxleGJveC9mbGV4aXRlbS5odG1s
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVzb3VyY2VzL3JlcGxh
Y2VkLWVsZW1lbnQtc3R5bGVzLmNzcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXNv
dXJjZXMvcmVwbGFjZWQtZWxlbWVudC1zdHlsZXMuY3NzCmluZGV4IDM3ODM2NGU2NWJlM2UwOTdh
ODY4YzRiZGIzZGExMjg5MTViYWY4YTIuLjcyNmFkMDFkYThhYjk5NWQxYzg5NmJmYzVkMWRmYTIx
MDJmYjVmYWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXNvdXJj
ZXMvcmVwbGFjZWQtZWxlbWVudC1zdHlsZXMuY3NzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9yZXNvdXJjZXMvcmVwbGFjZWQtZWxlbWVudC1zdHlsZXMuY3NzCkBAIC0zOSwzICsz
OSwyMSBAQAogICAgIHdpZHRoOiAxMDAlOwogICAgIHZlcnRpY2FsLWFsaWduOiAwZW07CiB9CisK
K3NlbGVjdC5yZXNldC1mb3Itc2hhZG93IHsKKyAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOworICAg
IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3Bh
cmVudDsKKyAgICBib3JkZXI6IDA7Cit9CisKKy5yZXNldC1mb3ItaW5uZXIgeworICAgIGRpc3Bs
YXk6IGlubGluZS1ibG9jazsKKyAgICBtYXJnaW46IDA7Cit9CisKK2Rpdi5zZWxlY3QtbGlrZSB7
CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgIGZvbnQ6IC13ZWJraXQtc21hbGwtY29u
dHJvbDsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWNvbXBsZXgtc2hhZG93
LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1zZWxlY3QtY29tcGxleC1zaGFkb3ctZXhwZWN0ZWQuaHRtbAppbmRleCBiMDY1OTVhNzRkYTRh
YjRkOWU3YzRhMzk1YzQzMDJiNTYwMzZmODgwLi40NzM0NmQ3OWU2ZDc1NjUxMjRiNzQ4Zjk3NTAw
ZmI0MDNjZGMyNzFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci1zZWxlY3QtY29tcGxleC1zaGFkb3ctZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtY29tcGxleC1zaGFk
b3ctZXhwZWN0ZWQuaHRtbApAQCAtMSwxMCArMSwxOCBAQAogPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxib2R5PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9wb2x5ZmlsbC5qcyI+PC9zY3JpcHQ+
CiAKIDxwPkEgbWl4ZWQgY2FzZSBvZiBhIHNoYWRvdyBlbGVtZW50IGFuZCBjb250ZW50IGVsZW1l
bnQuPC9wPgogPGZvcm0+Ci0gICAgPGRpdiBzdHlsZT0ibWFyZ2luOiAyMHB4Ij4KLSAgICAgICAg
PHNlbGVjdD48L3NlbGVjdD4KKyAgICA8ZGl2IHN0eWxlPSJtYXJnaW46IDE4cHggMjJweCAyMnB4
OyBwYWRkaW5nLXRvcDogMjBweCI+CisgICAgICAgIDxzZWxlY3Qgc3R5bGU9Im1hcmdpbjogMCI+
CisgICAgICAgICAgICA8b3B0aW9uIGRpc2FibGVkPlBsZWFzZSBzZWxlY3Q8L29wdGlvbj4KKyAg
ICAgICAgICAgIDxvcHRncm91cCBsYWJlbD0iUmFuayAxIj48L29wdGdyb3VwPgorICAgICAgICAg
ICAgPG9wdGlvbiB2YWx1ZT0iaG9nZSIgc2VsZWN0ZWQ+aG9nZTwvb3B0aW9uPgorICAgICAgICA8
L3NlbGVjdD4KICAgICA8L2Rpdj4gICAgCi0gICAgPGlucHV0IGlkPSJzdWJtaXQiIHR5cGU9InN1
Ym1pdCIgdmFsdWU9IlN1Ym1pdCI+CiA8L2Zvcm0+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1j
b21wbGV4LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3Itc2VsZWN0LWNvbXBsZXgtc2hhZG93Lmh0bWwKaW5kZXggOWY1NDI5NjQxZmZjOGM5N2Uy
OThiMTg4MjNmNjNlMzcwYWQzMDBhYS4uZjNkNTdmZGI5MjUxMTNlNDFlNDllYWNmNzk4MThjOTgw
OWY1OWY5YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3Itc2VsZWN0LWNvbXBsZXgtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWNvbXBsZXgtc2hhZG93Lmh0bWwKQEAgLTEs
MTggKzEsMzEgQEAKIDwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8bGluayBy
ZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJyZXNvdXJjZXMvcmVwbGFjZWQt
ZWxlbWVudC1zdHlsZXMuY3NzIj4KKzwvaGVhZD4KKzxib2R5PgogPHNjcmlwdCBzcmM9InJlc291
cmNlcy9wb2x5ZmlsbC5qcyI+PC9zY3JpcHQ+CiAKIDxwPkEgbWl4ZWQgY2FzZSBvZiBhIHNoYWRv
dyBlbGVtZW50IGFuZCBjb250ZW50IGVsZW1lbnQuPC9wPgogPGZvcm0+Ci0gICAgPHNlbGVjdCBp
ZD0iaG9zdCI+CisgICAgPHNlbGVjdCBpZD0iaG9zdCIgY2xhc3M9InJlc2V0LWZvci1zaGFkb3ci
PgogICAgICAgICA8b3B0aW9uIGRpc2FibGVkPlBsZWFzZSBzZWxlY3Q8L29wdGlvbj4KICAgICAg
ICAgPG9wdGdyb3VwIGxhYmVsPSJSYW5rIDEiPjwvb3B0Z3JvdXA+CiAgICAgICAgIDxvcHRpb24g
dmFsdWU9ImhvZ2UiIHNlbGVjdGVkPmhvZ2U8L29wdGlvbj4KICAgICA8L3NlbGVjdD4KLSAgICA8
aW5wdXQgaWQ9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU3VibWl0Ij4KIDwvZm9ybT4K
IAogPHNjcmlwdD4KLXZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QnKTsK
K3ZhciBjb250ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY29udGVudCcpOworCit2YXIg
ZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CitkaXYuc3R5bGUubWFyZ2luID0g
JzIwcHgnOwordmFyIHNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpOwor
ZGl2LmFwcGVuZENoaWxkKHNoYWRvdyk7CisKIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3QoaG9zdCk7Ci1zaGFkb3dSb290LmlubmVySFRNTCA9ICI8Y29udGVudD48L2NvbnRl
bnQ+PGRpdiBzdHlsZT0nbWFyZ2luOiAyMHB4Jz48c2hhZG93Pjwvc2hhZG93PjwvZGl2PiIKK3No
YWRvd1Jvb3QuYXBwZW5kQ2hpbGQoY29udGVudCk7CitzaGFkb3dSb290LmFwcGVuZENoaWxkKGRp
dik7CiA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1keW5hbWljLWF0dHJpYnV0ZS1j
aGFuZ2UtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLXNlbGVjdC1keW5hbWljLWF0dHJpYnV0ZS1jaGFuZ2UtZXhwZWN0ZWQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMTM3YzUzNDE5NGU1ZmQxZTk1MGY1ODY1Y2U4NzczZDMxMjMwNmMwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2Vs
ZWN0LWR5bmFtaWMtYXR0cmlidXRlLWNoYW5nZS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMzIg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvcG9seWZpbGwuanMiPjwvc2NyaXB0PgorCis8cD5XaGVuIGF0dHJpYnV0ZSBpcyBkeW5hbWlj
YWxseSBjaGFuZ2VkLCB0aGUgYXBwZWFyYW5jZSBzaG91bGQgYWxzbyBiZSBjaGFuZ2VkLjwvcD4K
KworPGZvcm0+CisgICAgPHNlbGVjdCBpZD0iaG9zdDEiIHNpemU9IjIiPgorICAgICAgICA8b3B0
aW9uIHNlbGVjdGVkPkE8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5CPC9vcHRpb24+CisgICAg
ICAgIDxvcHRpb24+Qzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPkQ8L29wdGlvbj4KKyAgICA8
L3NlbGVjdD4KKworICAgIDxzZWxlY3QgaWQ9Imhvc3QyIiBtdWx0aXBsZT4KKyAgICAgICAgPG9w
dGlvbj5BPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+Qjwvb3B0aW9uPgorICAgICAgICA8b3B0
aW9uPkM8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5EPC9vcHRpb24+CisgICAgPC9zZWxlY3Q+
CisKKyAgICA8c2VsZWN0IGlkPSJob3N0MyI+CisgICAgICAgIDxvcHRpb24+QTwvb3B0aW9uPgor
ICAgICAgICA8b3B0aW9uPkI8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5DPC9vcHRpb24+Cisg
ICAgICAgIDxvcHRpb24+RDwvb3B0aW9uPgorICAgIDwvc2VsZWN0PgorPC9mb3JtPgorPC9ib2R5
PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci1zZWxlY3QtZHluYW1pYy1hdHRyaWJ1dGUtY2hhbmdlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtZHluYW1pYy1hdHRyaWJ1
dGUtY2hhbmdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGU0OTQ4Y2NiOWVmNDJhN2ExNWE4MGU5YzRhN2Zk
MjFlYzEyYzQ5NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3dkb20tZm9yLXNlbGVjdC1keW5hbWljLWF0dHJpYnV0ZS1jaGFuZ2UuaHRtbApAQCAt
MCwwICsxLDUxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0icmVzb3VyY2VzL3JlcGxhY2Vk
LWVsZW1lbnQtc3R5bGVzLmNzcyI+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvcG9seWZpbGwuanMiPjwvc2NyaXB0PgorCis8cD5XaGVuIGF0dHJpYnV0ZSBpcyBkeW5h
bWljYWxseSBjaGFuZ2VkLCB0aGUgYXBwZWFyYW5jZSBzaG91bGQgYWxzbyBiZSBjaGFuZ2VkLjwv
cD4KKzxmb3JtPgorICAgIDxzZWxlY3QgaWQ9Imhvc3QxIiBjbGFzcz0icmVzZXQtZm9yLXNoYWRv
dyI+CisgICAgICAgIDxvcHRpb24+QTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPkI8L29wdGlv
bj4KKyAgICAgICAgPG9wdGlvbj5DPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+RDwvb3B0aW9u
PgorICAgIDwvc2VsZWN0PgorCisgICAgPHNlbGVjdCBpZD0iaG9zdDIiIHNpemU9IjMiIGNsYXNz
PSJyZXNldC1mb3Itc2hhZG93Ij4KKyAgICAgICAgPG9wdGlvbj5BPC9vcHRpb24+CisgICAgICAg
IDxvcHRpb24+Qjwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPkM8L29wdGlvbj4KKyAgICAgICAg
PG9wdGlvbj5EPC9vcHRpb24+CisgICAgPC9zZWxlY3Q+CisKKyAgICA8c2VsZWN0IGlkPSJob3N0
MyIgbXVsdGlwbGUgY2xhc3M9InJlc2V0LWZvci1zaGFkb3ciPgorICAgICAgICA8b3B0aW9uPkE8
L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5CPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+Qzwv
b3B0aW9uPgorICAgICAgICA8b3B0aW9uPkQ8L29wdGlvbj4KKyAgICA8L3NlbGVjdD4KKzwvZm9y
bT4KKworPHNjcmlwdD4KK2Z1bmN0aW9uIGFkZFNoYWRvd1Jvb3QoaG9zdCkKK3sKKyAgICB2YXIg
c2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworICAgIHZhciBzaGFkb3cg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKTsKKyAgICBzaGFkb3dSb290LmFwcGVu
ZENoaWxkKHNoYWRvdyk7Cit9CisKK2FkZFNoYWRvd1Jvb3QoaG9zdDEpOworYWRkU2hhZG93Um9v
dChob3N0Mik7CithZGRTaGFkb3dSb290KGhvc3QzKTsKKworaG9zdDEuc2V0QXR0cmlidXRlKCdz
aXplJywgJzInKTsKK2hvc3QyLnJlbW92ZUF0dHJpYnV0ZSgnc2l6ZScpOworaG9zdDIuc2V0QXR0
cmlidXRlKCdtdWx0aXBsZScsICdtdWx0aXBsZScpOworaG9zdDMucmVtb3ZlQXR0cmlidXRlKCdt
dWx0aXBsZScpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtZHluYW1pYy1jaGls
ZHJlbi1jaGFuZ2UtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLXNlbGVjdC1keW5hbWljLWNoaWxkcmVuLWNoYW5nZS1leHBlY3RlZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjNiMGQ1OTExYmFiZjkxMjNmODIyYjIzYzdhYjFmZmE0ZjIwYjFjYzkKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1zZWxlY3QtZHluYW1pYy1jaGlsZHJlbi1jaGFuZ2UtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsx
LDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3BvbHlmaWxsLmpzIj48L3NjcmlwdD4KKworPHA+V2hlbiBjaGlsZHJlbiBhcmUgZHlu
YW1pY2FsbHkgY2hhbmdlZCwgdGhlIGFwcGVhcmFuY2Ugc2hvdWxkIGFsc28gYmUgY2hhbmdlZC48
L3A+CisKKzxmb3JtPgorICAgIDxzZWxlY3QgaWQ9Imhvc3QxIj4KKyAgICAgICAgPG9wdGlvbj5B
PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+Qjwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPkM8
L29wdGlvbj4KKyAgICA8L3NlbGVjdD4KKworICAgIDxzZWxlY3QgaWQ9Imhvc3QyIiBzaXplPSIz
Ij4KKyAgICAgICAgPG9wdGlvbj5BPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+Qjwvb3B0aW9u
PgorICAgICAgICA8b3B0aW9uPkM8L29wdGlvbj4KKyAgICA8L3NlbGVjdD4KKworICAgIDxzZWxl
Y3QgaWQ9Imhvc3QzIiBtdWx0aXBsZT4KKyAgICAgICAgPG9wdGlvbj5BPC9vcHRpb24+CisgICAg
ICAgIDxvcHRpb24+Qjwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPkM8L29wdGlvbj4KKyAgICA8
L3NlbGVjdD4KKzwvZm9ybT4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWR5bmFtaWMtY2hpbGRy
ZW4tY2hhbmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZv
ci1zZWxlY3QtZHluYW1pYy1jaGlsZHJlbi1jaGFuZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOWFiYjJh
MjZhMTM3MzYyYWM3ODA3NDJmYjBjNjM3ZDkyZDEwNmMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWR5bmFtaWMtY2hp
bGRyZW4tY2hhbmdlLmh0bWwKQEAgLTAsMCArMSw1MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhy
ZWY9InJlc291cmNlcy9yZXBsYWNlZC1lbGVtZW50LXN0eWxlcy5jc3MiPgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BvbHlmaWxsLmpzIj48L3NjcmlwdD4KKworPHA+
V2hlbiBjaGlsZHJlbiBhcmUgZHluYW1pY2FsbHkgY2hhbmdlZCwgdGhlIGFwcGVhcmFuY2Ugc2hv
dWxkIGFsc28gYmUgY2hhbmdlZC48L3A+CisKKzxmb3JtPgorICAgIDxzZWxlY3QgaWQ9Imhvc3Qx
IiBjbGFzcz0icmVzZXQtZm9yLXNoYWRvdyI+CisgICAgICAgIDxvcHRpb24+QTwvb3B0aW9uPgor
ICAgICAgICA8b3B0aW9uPkI8L29wdGlvbj4KKyAgICA8L3NlbGVjdD4KKworICAgIDxzZWxlY3Qg
aWQ9Imhvc3QyIiBzaXplPSIzIiBjbGFzcz0icmVzZXQtZm9yLXNoYWRvdyI+CisgICAgICAgIDxv
cHRpb24+QTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPkI8L29wdGlvbj4KKyAgICA8L3NlbGVj
dD4KKworICAgIDxzZWxlY3QgaWQ9Imhvc3QzIiBtdWx0aXBsZSBjbGFzcz0icmVzZXQtZm9yLXNo
YWRvdyI+CisgICAgICAgIDxvcHRpb24+QTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPkI8L29w
dGlvbj4KKyAgICA8L3NlbGVjdD4KKzwvZm9ybT4KKworPHNjcmlwdD4KK2Z1bmN0aW9uIGFkZFNo
YWRvd1Jvb3QoaG9zdCkKK3sKKyAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KGhvc3QpOworICAgIHZhciBzaGFkb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFk
b3cnKTsKKyAgICBzaGFkb3dSb290LmFwcGVuZENoaWxkKHNoYWRvdyk7Cit9CisKK2Z1bmN0aW9u
IGNyZWF0ZU9wdGlvbldpdGgodGV4dCkKK3sKKyAgICB2YXIgb3B0aW9uID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnb3B0aW9uJyk7CisgICAgb3B0aW9uLmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZVRleHROb2RlKHRleHQpKTsKKworICAgIHJldHVybiBvcHRpb247Cit9CisKK2FkZFNoYWRv
d1Jvb3QoaG9zdDEpOworYWRkU2hhZG93Um9vdChob3N0Mik7CithZGRTaGFkb3dSb290KGhvc3Qz
KTsKKworaG9zdDEuYXBwZW5kQ2hpbGQoY3JlYXRlT3B0aW9uV2l0aCgnQycpKTsKK2hvc3QyLmFw
cGVuZENoaWxkKGNyZWF0ZU9wdGlvbldpdGgoJ0MnKSk7Citob3N0My5hcHBlbmRDaGlsZChjcmVh
dGVPcHRpb25XaXRoKCdDJykpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtb25s
eS1zaGFkb3ctZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLXNlbGVjdC1vbmx5LXNoYWRvdy1leHBlY3RlZC5odG1sCmluZGV4IDg2YjViNTA0
YzQ4NDgzMDM3ZjFiZjk4MWYzZjM2YWNhNDI4NDcyNmMuLjBhZDQ3Y2ZhYWU3MzczZGU0ZjBmOGIx
MGZlODliZjQ3Yjk0YmZlZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3dkb20tZm9yLXNlbGVjdC1vbmx5LXNoYWRvdy1leHBlY3RlZC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1vbmx5LXNoYWRv
dy1leHBlY3RlZC5odG1sCkBAIC0xLDEyICsxLDI4IEBACiA8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGJvZHk+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BvbHlmaWxsLmpzIj48L3NjcmlwdD4K
IAogPHA+V2hlbiB0aGUgQXV0aG9yU2hhZG93RE9NIGhhcyBvbmx5IGEgc2hhZG93IGVsZW1lbnQs
IHRoaXMgc2hvdWxkIGJlIHJlbmRlcmVkIGxpa2Ugbm8gU2hhZG93IERPTSBpcyBhZGRlZC48L3A+
CiA8Zm9ybT4KLSAgICA8c2VsZWN0IGlkPSJob3N0Ij4KKyAgICA8c2VsZWN0IGlkPSJob3N0MSI+
CiAgICAgICAgIDxvcHRpb24gZGlzYWJsZWQ+UGxlYXNlIHNlbGVjdDwvb3B0aW9uPgogICAgICAg
ICA8b3B0Z3JvdXAgbGFiZWw9IlJhbmsgMSI+PC9vcHRncm91cD4KLSAgICAgICAgPG9wdGlvbiB2
YWx1ZT0iaG9nZSIgc2VsZWN0ZWQ+aG9nZTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uIHZhbHVl
PSJob2dlIiBzZWxlY3RlZD5mb28gYmFyPC9vcHRpb24+CisgICAgPC9zZWxlY3Q+CisKKyAgICA8
c2VsZWN0IGlkPSJob3N0MiIgc2l6ZT0iMSI+CisgICAgICAgIDxvcHRpb24gZGlzYWJsZWQ+UGxl
YXNlIHNlbGVjdDwvb3B0aW9uPgorICAgICAgICA8b3B0Z3JvdXAgbGFiZWw9IlJhbmsgMSI+PC9v
cHRncm91cD4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0iaG9nZSIgc2VsZWN0ZWQ+Zm9vIGJhcjwv
b3B0aW9uPgorICAgIDwvc2VsZWN0PgorCisgICAgPHNlbGVjdCBpZD0iaG9zdDMiIG11bHRpcGxl
PgorICAgICAgICA8b3B0aW9uIGRpc2FibGVkPlBsZWFzZSBzZWxlY3Q8L29wdGlvbj4KKyAgICAg
ICAgPG9wdGdyb3VwIGxhYmVsPSJSYW5rIDEiPjwvb3B0Z3JvdXA+CisgICAgICAgIDxvcHRpb24g
dmFsdWU9ImhvZ2UiIHNlbGVjdGVkPmZvbyBiYXI8L29wdGlvbj4KICAgICA8L3NlbGVjdD4KLSAg
ICA8aW5wdXQgaWQ9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU3VibWl0Ij4KIDwvZm9y
bT4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LW9ubHktc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtb25seS1zaGFkb3cuaHRtbApp
bmRleCAzZGJiYWMxZmIzYTE0MTI0ZDNiZmJjMGY1YzdkZGQ3NWFlMWNmYWM2Li5jMGE3ZDBmMTk1
NTJkYzYxZjcwNDE1N2JhOTdiNjUzM2QyNGI1ZjM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtb25seS1zaGFkb3cuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtb25seS1z
aGFkb3cuaHRtbApAQCAtMSwxOCArMSw0MyBAQAogPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InJl
c291cmNlcy9yZXBsYWNlZC1lbGVtZW50LXN0eWxlcy5jc3MiPgorPC9oZWFkPgorPGJvZHk+CiA8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BvbHlmaWxsLmpzIj48L3NjcmlwdD4KIAogPHA+V2hlbiB0
aGUgQXV0aG9yU2hhZG93RE9NIGhhcyBvbmx5IGEgc2hhZG93IGVsZW1lbnQsIHRoaXMgc2hvdWxk
IGJlIHJlbmRlcmVkIGxpa2Ugbm8gU2hhZG93IERPTSBpcyBhZGRlZC48L3A+CiA8Zm9ybT4KLSAg
ICA8c2VsZWN0IGlkPSJob3N0Ij4KKyAgICA8c2VsZWN0IGlkPSJob3N0MSIgY2xhc3M9InJlc2V0
LWZvci1zaGFkb3ciPgogICAgICAgICA8b3B0aW9uIGRpc2FibGVkPlBsZWFzZSBzZWxlY3Q8L29w
dGlvbj4KICAgICAgICAgPG9wdGdyb3VwIGxhYmVsPSJSYW5rIDEiPjwvb3B0Z3JvdXA+Ci0gICAg
ICAgIDxvcHRpb24gdmFsdWU9ImhvZ2UiIHNlbGVjdGVkPmhvZ2U8L29wdGlvbj4KKyAgICAgICAg
PG9wdGlvbiB2YWx1ZT0iaG9nZSIgc2VsZWN0ZWQ+Zm9vIGJhcjwvb3B0aW9uPgorICAgIDwvc2Vs
ZWN0PgorCisgICAgPHNlbGVjdCBpZD0iaG9zdDIiIHNpemU9IjEiIGNsYXNzPSJyZXNldC1mb3It
c2hhZG93Ij4KKyAgICAgICAgPG9wdGlvbiBkaXNhYmxlZD5QbGVhc2Ugc2VsZWN0PC9vcHRpb24+
CisgICAgICAgIDxvcHRncm91cCBsYWJlbD0iUmFuayAxIj48L29wdGdyb3VwPgorICAgICAgICA8
b3B0aW9uIHZhbHVlPSJob2dlIiBzZWxlY3RlZD5mb28gYmFyPC9vcHRpb24+CisgICAgPC9zZWxl
Y3Q+CisKKyAgICA8c2VsZWN0IGlkPSJob3N0MyIgbXVsdGlwbGUgY2xhc3M9InJlc2V0LWZvci1z
aGFkb3ciPgorICAgICAgICA8b3B0aW9uIGRpc2FibGVkPlBsZWFzZSBzZWxlY3Q8L29wdGlvbj4K
KyAgICAgICAgPG9wdGdyb3VwIGxhYmVsPSJSYW5rIDEiPjwvb3B0Z3JvdXA+CisgICAgICAgIDxv
cHRpb24gdmFsdWU9ImhvZ2UiIHNlbGVjdGVkPmZvbyBiYXI8L29wdGlvbj4KICAgICA8L3NlbGVj
dD4KLSAgICA8aW5wdXQgaWQ9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU3VibWl0Ij4K
IDwvZm9ybT4KIAogPHNjcmlwdD4KLXZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2hvc3QnKTsKLXZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7Ci1z
aGFkb3dSb290LmlubmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PiIKK2Z1bmN0aW9uIGFkZFNo
YWRvd0RPTShob3N0KQoreworICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jv
b3QoaG9zdCk7CisgICAgdmFyIHNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRv
dycpOworICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoc2hhZG93KTsKK30KKworYWRkU2hhZG93
RE9NKGhvc3QxKTsKK2FkZFNoYWRvd0RPTShob3N0Mik7CithZGRTaGFkb3dET00oaG9zdDMpOwog
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aC1vcHRpb25zLWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0
aC1vcHRpb25zLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Q0NTU3ZDE0ZWI4MWNlZmIyYjll
ZmEyZGM0ZjFhYzA5NmQ2NDI5OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13aXRoLW9wdGlvbnMtZXhwZWN0ZWQuaHRt
bApAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+CisKKzxw
Pk9wdGlvbiBlbGVtZW50cyBpbiBTaGFkb3cgRE9NIG11c3QgYmUgaWdub3JlZC48L3A+CisKKzxz
ZWxlY3QgaWQ9Imhvc3QxIj4KKyAgICA8b3B0aW9uPkE8L29wdGlvbj4KKyAgICA8b3B0aW9uPkI8
L29wdGlvbj4KKyAgICA8b3B0aW9uPkM8L29wdGlvbj4KKzwvc2VsZWN0PgorCis8c2VsZWN0IGlk
PSJob3N0MiIgbXVsdGlwbGU+CisgICAgPG9wdGlvbj5BPC9vcHRpb24+CisgICAgPG9wdGlvbj5C
PC9vcHRpb24+CisgICAgPG9wdGlvbj5DPC9vcHRpb24+Cis8L3NlbGVjdD4KKworPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3Itc2VsZWN0LXdpdGgtb3B0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGgtb3B0aW9ucy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5
NmY1YTJkZWRjODNmNGUxOTA3MzYwNDcxY2FkYjAxMDhlNDFiZGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aC1v
cHRpb25zLmh0bWwKQEAgLTAsMCArMSw0MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InJl
c291cmNlcy9yZXBsYWNlZC1lbGVtZW50LXN0eWxlcy5jc3MiPgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BvbHlmaWxsbC5qcyI+PC9zY3JpcHQ+CisKKzxwPk9wdGlv
biBlbGVtZW50cyBpbiBTaGFkb3cgRE9NIG11c3QgYmUgaWdub3JlZC48L3A+CisKKzxzZWxlY3Qg
aWQ9Imhvc3QxIiBjbGFzcz0icmVzZXQtZm9yLXNoYWRvdyI+CisgICAgPG9wdGlvbj5BPC9vcHRp
b24+CisgICAgPG9wdGlvbj5CPC9vcHRpb24+CisgICAgPG9wdGlvbj5DPC9vcHRpb24+Cis8L3Nl
bGVjdD4KKworPHNlbGVjdCBpZD0iaG9zdDIiIGNsYXNzPSJyZXNldC1mb3Itc2hhZG93IiBtdWx0
aXBsZT4KKyAgICA8b3B0aW9uPkE8L29wdGlvbj4KKyAgICA8b3B0aW9uPkI8L29wdGlvbj4KKyAg
ICA8b3B0aW9uPkM8L29wdGlvbj4KKzwvc2VsZWN0PgorCis8c2NyaXB0PgorZnVuY3Rpb24gYWRk
U2hhZG93RE9NKGhvc3QsIG9wdGlvblRleHQpCit7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdChob3N0KTsKKworICAgIHZhciBvcHRpb24gPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdvcHRpb24nKTsKKyAgICBvcHRpb24uYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3Jl
YXRlVGV4dE5vZGUob3B0aW9uVGV4dCkpOworCisgICAgdmFyIHNoYWRvdyA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ3NoYWRvdycpOworCisgICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChvcHRp
b24pOyAgICAKKyAgICBzaGFkb3dSb290LmFwcGVuZENoaWxkKHNoYWRvdyk7Cit9CisKK2FkZFNo
YWRvd0RPTShob3N0MSwgJ0QnKTsKK2FkZFNoYWRvd0RPTShob3N0MiwgJ0QnKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGgtc3R5bGUtZXhwZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13aXRoLXN0eWxlLWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTU5NTE4YTJjZTM1YWQ5ZWViMjZmOTc4NGM2MGY5Y2Mz
MzFiZmUyZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLXNlbGVjdC13aXRoLXN0eWxlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwz
MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InJlc291cmNlcy9yZXBsYWNlZC1lbGVtZW50
LXN0eWxlcy5jc3MiPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Bv
bHlmaWxsLmpzIj48L3NjcmlwdD4KKworPGZvcm0+CisgICAgPGRpdiBjbGFzcz0ic2VsZWN0LWxp
a2UiIHN0eWxlPSJtYXJnaW46IDEycHg7Ij48c2VsZWN0IGNsYXNzPSJyZXNldC1mb3ItaW5uZXIi
PgorICAgICAgICA8b3B0aW9uPkF6dXNhIE1pdXJhPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+
Q2hpaGF5YSBLaXNhcmFnaTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPk1ha290byBLaWt1Y2hp
PC9vcHRpb24+CisgICAgPC9zZWxlY3Q+YWZ0ZXI8L2Rpdj4KKworICAgIDxkaXYgY2xhc3M9InNl
bGVjdC1saWtlIiBzdHlsZT0ibWFyZ2luOiAxMnB4OyI+PHNlbGVjdCBzaXplPSIzIiBjbGFzcz0i
cmVzZXQtZm9yLWlubmVyIj4KKyAgICAgICAgPG9wdGlvbj5ZdWtpaG8gSGFnaXdhcmE8L29wdGlv
bj4KKyAgICAgICAgPG9wdGlvbj5ZYXlvaSBUYWthdHN1a2k8L29wdGlvbj4KKyAgICAgICAgPG9w
dGlvbj5NYW1pIEZ1dGFtaTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPkFtaSBGdXRhbWk8L29w
dGlvbj4KKyAgICA8L3NlbGVjdD5hZnRlcjwvZGl2PgorCisgICAgPGRpdiBjbGFzcz0ic2VsZWN0
LWxpa2UiIHN0eWxlPSJtYXJnaW46IDEycHg7Ij48c2VsZWN0IG11bHRpcGxlIGNsYXNzPSJyZXNl
dC1mb3ItaW5uZXIiPgorICAgICAgICA8b3B0aW9uPktvdG9yaSBPdG9uYXNoaTwvb3B0aW9uPgor
ICAgICAgICA8b3B0aW9uPkhhcnVrYSBBbWFtaTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPk1p
a2kgSG9zaGlpPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+Uml0c3VrbyBBa2l6dWtpPC9vcHRp
b24+CisgICAgICAgIDxvcHRpb24+SW9yaSBNaW5hc2U8L29wdGlvbj4KKyAgICA8L3NlbGVjdD5h
ZnRlcjwvZGl2PgorPC9mb3JtPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGgtc3R5bGUuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13aXRo
LXN0eWxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzQ4YjI5ZDg5OWQ1OGIyZGQzODIzNjBjMDEwZDE1ZmZh
MTg3YmZiNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLXNlbGVjdC13aXRoLXN0eWxlLmh0bWwKQEAgLTAsMCArMSw1MiBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
dHlwZT0idGV4dC9jc3MiIGhyZWY9InJlc291cmNlcy9yZXBsYWNlZC1lbGVtZW50LXN0eWxlcy5j
c3MiPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BvbHlmaWxsLmpz
Ij48L3NjcmlwdD4KKworPGZvcm0+CisgICAgPHNlbGVjdCBpZD0iaG9zdDEiIGNsYXNzPSJyZXNl
dC1mb3Itc2hhZG93Ij4KKyAgICAgICAgPG9wdGlvbj5BenVzYSBNaXVyYTwvb3B0aW9uPgorICAg
ICAgICA8b3B0aW9uPkNoaWhheWEgS2lzYXJhZ2k8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5N
YWtvdG8gS2lrdWNoaTwvb3B0aW9uPgorICAgIDwvc2VsZWN0PgorCisgICAgPHNlbGVjdCBpZD0i
aG9zdDIiIHNpemU9IjMiIGNsYXNzPSJyZXNldC1mb3Itc2hhZG93Ij4KKyAgICAgICAgPG9wdGlv
bj5ZdWtpaG8gSGFnaXdhcmE8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5ZYXlvaSBUYWthdHN1
a2k8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5NYW1pIEZ1dGFtaTwvb3B0aW9uPgorICAgICAg
ICA8b3B0aW9uPkFtaSBGdXRhbWk8L29wdGlvbj4KKyAgICA8L3NlbGVjdD4KKworICAgIDxzZWxl
Y3QgaWQ9Imhvc3QzIiBtdWx0aXBsZSBjbGFzcz0icmVzZXQtZm9yLXNoYWRvdyI+CisgICAgICAg
IDxvcHRpb24+S290b3JpIE90b25hc2hpPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+SGFydWth
IEFtYW1pPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+TWlraSBIb3NoaWk8L29wdGlvbj4KKyAg
ICAgICAgPG9wdGlvbj5SaXRzdWtvIEFraXp1a2k8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5J
b3JpIE1pbmFzZTwvb3B0aW9uPgorICAgIDwvc2VsZWN0PgorPC9mb3JtPgorCis8c2NyaXB0Pgor
ZnVuY3Rpb24gYWRkU2hhZG93Um9vdChob3N0KQoreworICAgIHZhciBzaGFkb3dSb290ID0gbmV3
IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisKKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CisgICAgZGl2LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAnbWFyZ2luOiAx
MHB4Jyk7CisKKyAgICB2YXIgc2hhZG93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93
Jyk7CisgICAgZGl2LmFwcGVuZENoaWxkKHNoYWRvdyk7CisgICAgZGl2LmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZVRleHROb2RlKCdhZnRlcicpKTsKKworICAgIHNoYWRvd1Jvb3QuYXBwZW5k
Q2hpbGQoZGl2KTsKK30KKworYWRkU2hhZG93Um9vdChob3N0MSk7CithZGRTaGFkb3dSb290KGhv
c3QyKTsKK2FkZFNoYWRvd1Jvb3QoaG9zdDMpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1z
ZWxlY3Qtd2l0aG91dC1zaGFkb3ctY2xpY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGhvdXQtc2hhZG93LWNsaWNrLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzFmMmUzMTY4MWQ2YjA1NmViYzMzODAxZThkMjM0YmRh
NjMwMDM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3Itc2VsZWN0LXdpdGhvdXQtc2hhZG93LWNsaWNrLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDMgQEAKK0EgY3Jhc2ggc2hvdWxkbid0IG9jY3VyIHdoZW4gY2xpY2tpbmcgYSBzZWxl
Y3QgZWxlbWVudCB3aGljaCBoYXMgYSBTaGFkb3cgRE9NIGFuZCB0aGUgU2hhZG93IERPTSBkb2Vz
IG5vdCBoYXZlIGFueSBJbnNlcnRpb25Qb2ludC4KKworUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGhvdXQtc2hhZG93
LWNsaWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1z
ZWxlY3Qtd2l0aG91dC1zaGFkb3ctY2xpY2suaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wN2Q3MmJlNTQ3OTFm
NmRiZDFkMjRlZTI0ZTJjZjRhY2E2Nzg5ZDhlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGhvdXQtc2hhZG93LWNs
aWNrLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvcG9seWZpbGwuanMiPjwvc2NyaXB0PgorCis8c3R5bGU+CitzZWxl
Y3QgeworICAgIHdpZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIC13ZWJraXQt
YXBwZWFyYW5jZTogbm9uZTsKK30KKzwvc3R5bGU+CisKKzxwPkEgY3Jhc2ggc2hvdWxkbid0IG9j
Y3VyIHdoZW4gY2xpY2tpbmcgYSBzZWxlY3QgZWxlbWVudCB3aGljaCBoYXMgYSBTaGFkb3cgRE9N
IGFuZAordGhlIFNoYWRvdyBET00gZG9lcyBub3QgaGF2ZSBhbnkgSW5zZXJ0aW9uUG9pbnQuPC9w
PgorCis8ZGl2IGlkPSJ3cmFwcGVyIj4KKyAgICA8c2VsZWN0IGlkPSJob3N0MSI+CisgICAgICAg
IDxvcHRpb24+QTwvb3B0aW9uPgorICAgIDwvc2VsZWN0PgorCisgICAgPHNlbGVjdCBpZD0iaG9z
dDIiIG11bHRpcGxlPgorICAgICAgICA8b3B0aW9uPkI8L29wdGlvbj4KKyAgICAgICAgPG9wdGlv
bj5DPC9vcHRpb24+CisgICAgPC9zZWxlY3Q+Cis8L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKwordmFyIHNoYWRv
d1Jvb3QxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpOwordmFyIHNoYWRvd1Jvb3QyID0g
bmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDIpOworCitpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7
CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oaG9zdDEub2Zmc2V0TGVmdCArIGhvc3QxLm9m
ZnNldFdpZHRoIC8gMiwgaG9zdDEub2Zmc2V0VG9wICsgaG9zdDEub2Zmc2V0SGVpZ2h0IC8gMik7
CisgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VVcCgp
OworCisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oaG9zdDIub2Zmc2V0TGVmdCArIGhvc3Qy
Lm9mZnNldFdpZHRoIC8gMiwgaG9zdDIub2Zmc2V0VG9wICsgaG9zdDIub2Zmc2V0SGVpZ2h0IC8g
Mik7CisgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VV
cCgpOworCisgICAgd3JhcHBlci5pbm5lckhUTUwgPSAiUEFTUyI7Cit9Cis8L3NjcmlwdD4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLXNlbGVjdC13aXRob3V0LXNoYWRvdy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGhvdXQtc2hhZG93LWV4cGVjdGVk
Lmh0bWwKaW5kZXggMWIyNTgxZjlmYzZiMTgyZWQ3NTNjMWE2NDczMWI1OGRmZDdhY2RjZi4uOTlk
ZGE2OTM5YThkYmNjNGMyNjliMjg0ODU3NDZhMzFjNGQ2YWQxZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGhvdXQtc2hhZG93
LWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3Itc2VsZWN0LXdpdGhvdXQtc2hhZG93LWV4cGVjdGVkLmh0bWwKQEAgLTEsOCArMSwxNCBA
QAogPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InJlc291cmNlcy9yZXBsYWNlZC1lbGVtZW50LXN0
eWxlcy5jc3MiPgorPC9oZWFkPgorPGJvZHk+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BvbHlm
aWxsLmpzIj48L3NjcmlwdD4KIAogPHA+V2hlbiB0aGUgQXV0aG9yU2hhZG93RE9NIGRvZXMgbm90
IGhhdmUgYSBTaGFkb3cgRE9NLCB0aGUgY29udGVudCB3b24ndCBiZSByZW5kZXJlZC48L3A+CiA8
Zm9ybT4KLSAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAxMDBw
eDsgaGVpZ2h0OiAzMHB4OyBtYXJnaW4gMDsgcGFkZGluZzogMDsgYm9yZGVyOiAwIj48L2Rpdj4K
LSAgICA8aW5wdXQgaWQ9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU3VibWl0Ij4KKyAg
ICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAxMDBweDsgaGVpZ2h0
OiAzMHB4OyBtYXJnaW4gMDsgcGFkZGluZzogMDsgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7IGJv
eC1zaXppbmc6IGJvcmRlci1ib3g7Ij48L2Rpdj4KIDwvZm9ybT4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNl
bGVjdC13aXRob3V0LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3Itc2VsZWN0LXdpdGhvdXQtc2hhZG93Lmh0bWwKaW5kZXggYTFmNDA5NWQ2OWE0
MmE0MGFlY2E2ZmM3M2Q3NzlhZTgyNWU2NTkyOC4uNWE4OTlhMGYxMTA0YTczM2NiMWVjMzdjMjU3
MzM1MWJlYTVmOGY2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvd2RvbS1mb3Itc2VsZWN0LXdpdGhvdXQtc2hhZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGhvdXQtc2hhZG93Lmh0bWwK
QEAgLTEsMTcgKzEsMjIgQEAKIDwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8
bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJyZXNvdXJjZXMvcmVw
bGFjZWQtZWxlbWVudC1zdHlsZXMuY3NzIj4KKzwvaGVhZD4KKzxib2R5PgogPHNjcmlwdCBzcmM9
InJlc291cmNlcy9wb2x5ZmlsbC5qcyI+PC9zY3JpcHQ+CiAKIDxwPldoZW4gdGhlIEF1dGhvclNo
YWRvd0RPTSBkb2VzIG5vdCBoYXZlIGEgU2hhZG93IERPTSwgdGhlIGNvbnRlbnQgd29uJ3QgYmUg
cmVuZGVyZWQuPC9wPgogPGZvcm0+Ci0gICAgPHNlbGVjdCBpZD0iaG9zdCIgc3R5bGU9IndpZHRo
OiAxMDBweDsgaGVpZ2h0OiAzMHB4OyBtYXJnaW4gMDsgcGFkZGluZzogMDsgYm9yZGVyOiAwIj4K
KyAgICA8c2VsZWN0IGlkPSJob3N0IiBjbGFzcz0icmVzZXQtZm9yLXNoYWRvdyIgc3R5bGU9Indp
ZHRoOiAxMDBweDsgaGVpZ2h0OiAzMHB4OyBtYXJnaW4gMDsgcGFkZGluZzogMDsgYm9yZGVyOiAx
cHggc29saWQgYmxhY2siPgogICAgICAgICA8b3B0aW9uIGRpc2FibGVkPlBsZWFzZSBzZWxlY3Q8
L29wdGlvbj4KICAgICAgICAgPG9wdGdyb3VwIGxhYmVsPSJSYW5rIDEiPjwvb3B0Z3JvdXA+CiAg
ICAgICAgIDxvcHRpb24gdmFsdWU9ImhvZ2UiIHNlbGVjdGVkPmhvZ2U8L29wdGlvbj4KICAgICA8
L3NlbGVjdD4KLSAgICA8aW5wdXQgaWQ9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU3Vi
bWl0Ij4KIDwvZm9ybT4KIAogPHNjcmlwdD4KLXZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2hvc3QnKTsKIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9z
dCk7CiA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDIwYjU2ZGYyMGQyYWZjMjc4YzlmYjM0
MGYyYzUxNzNiY2YyNGExZTAuLmIwYmE3MzBiMTY4ZWRmMmJkMmM1MzU5NDc1YWYwNDcyNGY0NGZk
NzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9u
cwpAQCAtMzIzOCw4ICszMjM4LDYgQEAgQlVHV0s5MDg2MCA6IGZhc3QvZG9tL3NoYWRvdy9zaGFk
b3dkb20tZm9yLW9iamVjdC1vbmx5LXNoYWRvdy5odG1sID0gSU1BR0UKIEJVR1dLOTA4NjAgOiBm
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vYmplY3Qtd2l0aG91dC1zaGFkb3cuaHRtbCA9
IElNQUdFCiBCVUdXSzkxNDg1IDogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFy
ZWEtY29tcGxleC1zaGFkb3cuaHRtbCA9IElNQUdFCiBCVUdXSzkxNDg1IDogZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3ItdGV4dGFyZWEtd2l0aG91dC1zaGFkb3cuaHRtbCA9IElNQUdFCi1C
VUdXSzkxNDg3IDogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWNvbXBsZXgt
c2hhZG93Lmh0bWwgPSBJTUFHRQotQlVHV0s5MTQ4NyA6IGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dk
b20tZm9yLXNlbGVjdC13aXRob3V0LXNoYWRvdy5odG1sID0gSU1BR0UKIEJVR1dLOTE0ODggOiBm
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1vdXRwdXQtb25seS1zaGFkb3cuaHRtbCA9IElN
QUdFCiBCVUdXSzkxNDg5IDogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3ItZmllbGRzZXQt
Y29tcGxleC1zaGFkb3cuaHRtbCA9IElNQUdFCiBCVUdXSzkxNDg5IDogZmFzdC9kb20vc2hhZG93
L3NoYWRvd2RvbS1mb3ItZmllbGRzZXQtb25seS1zaGFkb3cuaHRtbCA9IElNQUdFCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160311</attachid>
            <date>2012-08-23 19:27:57 -0700</date>
            <delta_ts>2012-08-24 09:23:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91487-20120824112752.patch</filename>
            <type>text/plain</type>
            <size>52140</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2NTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmUzNGI0YjY1OTAxNjU3
ODMzZDRmODI0MGVkNDdkZjAxNTRhYTI2NC4uYzIzMDdhNjRiOWZmM2EzNjJiYWU1ZGJhODk2Mjcy
ZWNkZjgzMzY3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkyIEBACisyMDEyLTA4LTIzICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBBdXRob3JTaGFk
b3dET00gZm9yIHNlbGVjdCBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05MTQ4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFdlIHN1cHBvcnQgYWRkaW5nIFNoYWRvdyBET00gZm9yIHNlbGVjdCBl
bGVtZW50LgorCisgICAgICAgIEFjY29yZGluZyB0byB0aGUgU2hhZG93IERPTSBzcGVjLCBhIHNl
bGVjdCBlbGVtZW50IHNob3VsZCBiZWhhdmUgbGlrZSBoYXZpbmcgYSBVc2VyQWdlbnRTaGFkb3dS
b290IGFuZAorICAgICAgICBhbiBlbGVtZW50IGluIFVzZXJBZ2VudFNoYWRvd1Jvb3QgZHJhd3Mg
YSByZWFsICdzZWxlY3QnIGJveC4KKworICAgICAgICBXZSBhZG9wdCBsYXp5IFVzZXJBZ2VudFNo
YWRvd0RPTSBpbnN0YW50aWF0aW9uLCB3aGljaCBtZWFucyBhIFVzZXJBZ2VudFNoYWRvd0RPTSBp
cyBhZGRlZCBqdXN0IGJlZm9yZQorICAgICAgICBhbiBhdXRob3IgU2hhZG93IERPTSBpcyBhZGRl
ZC4gQWZ0ZXIgYSBVc2VyQWdlbnRTaGFkb3dET00gaXMgYWRkZWQsIHNlbGVjdCB3aWxsIGhhdmUg
dGhlIGZvbGxvd2luZworICAgICAgICBzdHJ1Y3R1cmUuCisKKyAgICAgICAgPHNlbGVjdD4gLS0t
LS0tLS0tLS0tIDxzaGFkb3cgcm9vdD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICA8U2VsZWN0SW5uZXJFbGVtZW50PgorCisgICAgICAgIFJlbmRlck1lbnVM
aXN0IHdpbGwgYmUgY3JlYXRlZCBpbiBTZWxlY3RJbm5lckVsZW1lbnQgaW5zdGVhZCBvZiBIVE1M
U2VsZWN0RWxlbWVudC4KKworICAgICAgICBUZXN0czogZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3Itc2VsZWN0LWR5bmFtaWMtYXR0cmlidXRlLWNoYW5nZS5odG1sCisgICAgICAgICAgICAg
ICBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtZHluYW1pYy1jaGlsZHJlbi1j
aGFuZ2UuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
c2VsZWN0LXdpdGgtb3B0aW9ucy5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aC1zdHlsZS5odG1sCisgICAgICAgICAgICAgICBmYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3ctY2xpY2suaHRt
bAorCisgICAgICAgICogY3NzL2h0bWwuY3NzOgorICAgICAgICAoc2VsZWN0Ojotd2Via2l0LXNl
bGVjdC1pbm5lci1lbGVtZW50KToKKyAgICAgICAgKHNlbGVjdFtzaXplXVttdWx0aXBsZV06Oi13
ZWJraXQtc2VsZWN0LWlubmVyLWVsZW1lbnQpOgorICAgICAgICAoc2VsZWN0W3NpemU9IjEiXTo6
LXdlYmtpdC1zZWxlY3QtaW5uZXItZWxlbWVudCk6CisgICAgICAgICogY3NzL3RoZW1lQ2hyb21p
dW1MaW51eC5jc3M6CisgICAgICAgIChzZWxlY3Q6Oi13ZWJraXQtc2VsZWN0LWlubmVyLWVsZW1l
bnQpOgorICAgICAgICAqIGNzcy90aGVtZVdpbi5jc3M6CisgICAgICAgIChzZWxlY3Rbc2l6ZT0i
MSJdOjotd2Via2l0LXNlbGVjdC1pbm5lci1lbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxG
b3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250cm9s
RWxlbWVudDo6YXR0YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtQ29udHJvbEVsZW1l
bnQ6OnJlbmRlcmVyVXBkYXRlRnJvbUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50Lmg6CisgICAgICAgIChIVE1MRm9ybUNv
bnRyb2xFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25FbGVtZW50OjpzZXRSZW5kZXJTdHlsZSk6CisgICAg
ICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxl
Y3RFbGVtZW50OjpjcmVhdGVSZW5kZXJlckZvclNlbGVjdEVsZW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChTZWxlY3RJbm5lckVsZW1lbnQpOiBTZWxlY3RJbm5lckVsZW1lbnQg
aXMgYSByZWFsIGJvZHkgb2YgSFRNTFNlbGVjdEVsZW1lbnQgYWZ0ZXIgYSBVc2VyQWdlbnRTaGFk
b3dET00KKyAgICAgICAgaXMgYWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RJbm5lckVs
ZW1lbnQ6OlNlbGVjdElubmVyRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RJbm5l
ckVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RJbm5lckVsZW1lbnQ6
OnNoYWRvd1BzZXVkb0lkKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdElubmVyRWxlbWVudDo6
c2VsZWN0RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RJbm5lckVsZW1lbnQ6OmNy
ZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdElubmVyRWxlbWVudDo6YXR0
YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpIVE1MU2VsZWN0RWxl
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6YXR0YWNoKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpyZW5kZXJlclVwZGF0ZUZyb21FbGVt
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpyZW5kZXJNZW51TGlz
dCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6cmVuZGVyTGlzdEJveCk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6cmVuZGVyZXJGb3JTZWxlY3Qp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OndpbGxBZGRBdXRob3JTaGFk
b3dSb290KTogV2hlbiBVc2VyQWdlbnRTaGFkb3dET00gaXMgbm90IGFkZGVkLCB3ZSBjcmVhdGUg
aXQKKyAgICAgICAgaW4gdGhpcyBtZXRob2QuCisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0
RWxlbWVudDo6Y3JlYXRlU2hhZG93U3VidHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2Vs
ZWN0RWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVj
dEVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIpOiBXaGVuIGFuIEF1dGhyb1NoYWRv
d0RPTSBpcyBhZGRlZCwgc2VsZWN0IHNob3VsZAorICAgICAgICBjcmVhdGUgY2hpbGRyZW4gcmVu
ZGVyZXJzLgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6Om5leHRTZWxlY3Rh
YmxlTGlzdEluZGV4UGFnZUF3YXkpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1l
bnQ6OnVwZGF0ZUxpc3RCb3hTZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVj
dEVsZW1lbnQ6OnNjcm9sbFRvU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxl
Y3RFbGVtZW50OjpzZXRPcHRpb25zQ2hhbmdlZE9uUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OnNlbGVjdE9wdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MU2VsZWN0RWxlbWVudDo6cGxhdGZvcm1IYW5kbGVLZXlkb3duRXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6Om1lbnVMaXN0RGVmYXVsdEV2ZW50SGFuZGxlcik6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6bGlzdEJveERlZmF1bHRFdmVu
dEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OmRlZmF1bHRF
dmVudEhhbmRsZXIpOgorICAgICAgICAqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoU2VsZWN0RWxlbWVudCk6CisgICAgICAgIChIVE1MU2Vs
ZWN0RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6aGFzQXV0
aG9yU2hhZG93Um9vdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6UmVuZGVyTGlzdEJveCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94OjpzZWxlY3RFbGVtZW50KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWVudUxp
c3Q6OlJlbmRlck1lbnVMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lbnVMaXN0Ojpz
ZWxlY3RFbGVtZW50KToKKwogMjAxMi0wOC0yMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2Vy
QGFwcGxlLmNvbT4KIAogICAgICAgICBQcmVwIHdvcmsgZm9yOiBJbXBsZW1lbnQgc3RpY2t5IHBv
c2l0aW9uaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MKaW5kZXggYzIxM2QzOGQ2YjAzMzExNDg1ZDU0ZWZhMGE3
NzI1Y2RhN2YxZmFjMi4uZDcwYjA2ZWQ2NjQyYTBiYWNjMmJlN2IzNDI2OGQyODk3MDU5YWI3YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9odG1sLmNzcwpAQCAtODE3LDYgKzgxNywzNCBAQCBzZWxlY3Rbc2l6ZT0iMSJdIHsK
ICAgICB3aGl0ZS1zcGFjZTogcHJlOwogfQogCitzZWxlY3Q6Oi13ZWJraXQtc2VsZWN0LWlubmVy
LWVsZW1lbnQgeworICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICAtd2Via2l0LWFwcGVh
cmFuY2U6IG1lbnVsaXN0OworICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CisgICAgdmVy
dGljYWwtYWxpZ246IGJvdHRvbTsKKyAgICBib3JkZXI6IDFweCBzb2xpZDsKKyAgICAtd2Via2l0
LWJvcmRlci1yYWRpdXM6IGluaXRpYWw7CisgICAgY29sb3I6IGJsYWNrOworICAgIGJhY2tncm91
bmQtY29sb3I6IHdoaXRlOworfQorCitzZWxlY3Rbc2l6ZV06Oi13ZWJraXQtc2VsZWN0LWlubmVy
LWVsZW1lbnQsCitzZWxlY3RbbXVsdGlwbGVdOjotd2Via2l0LXNlbGVjdC1pbm5lci1lbGVtZW50
LAorc2VsZWN0W3NpemVdW211bHRpcGxlXTo6LXdlYmtpdC1zZWxlY3QtaW5uZXItZWxlbWVudCB7
CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgIGJvcmRlcjogMXB4IGluc2V0IGdyYXk7
CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBsaXN0Ym94OworICAgIC13ZWJraXQtYm94LWFsaWdu
OiBzdGFydDsKK30KKworc2VsZWN0W3NpemU9IjAiXTo6LXdlYmtpdC1zZWxlY3QtaW5uZXItZWxl
bWVudCwKK3NlbGVjdFtzaXplPSIxIl06Oi13ZWJraXQtc2VsZWN0LWlubmVyLWVsZW1lbnQgewor
ICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICBib3JkZXI6IDFweCBzb2xpZDsKKyAgICAt
d2Via2l0LWFwcGVhcmFuY2U6IG1lbnVsaXN0OworICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50
ZXI7Cit9CisKIG9wdGdyb3VwIHsKICAgICBmb250LXdlaWdodDogYm9sZGVyOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3RoZW1lQ2hyb21pdW1MaW51eC5jc3MgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvdGhlbWVDaHJvbWl1bUxpbnV4LmNzcwppbmRleCBkZWU4NDM2OGEzNmYxOGY4
NTRmNmI1Yzk1NDEwYWRkZTMzMmM3Nzg1Li4xZDI0Y2Q5MDM2NTcwMjY0NjdlYWQwYzhkNzZjNDFj
MzVjODAyY2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdGhlbWVDaHJvbWl1bUxp
bnV4LmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdGhlbWVDaHJvbWl1bUxpbnV4LmNzcwpA
QCAtMzQsNiArMzQsMTAgQEAgc2VsZWN0IHsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkZGRk
OwogfQogCitzZWxlY3Q6Oi13ZWJraXQtc2VsZWN0LWlubmVyLWVsZW1lbnQgeworICAgIGJhY2tn
cm91bmQtY29sb3I6ICNkZGRkZGQ7Cit9CisKIHNlbGVjdDpub3QoW3NpemVdKTpub3QoW211bHRp
cGxlXSkgb3B0aW9uLAogc2VsZWN0W3NpemU9IjAiXSBvcHRpb24sCiBzZWxlY3Rbc2l6ZT0iMSJd
IG9wdGlvbiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdGhlbWVXaW4uY3NzIGIv
U291cmNlL1dlYkNvcmUvY3NzL3RoZW1lV2luLmNzcwppbmRleCAzZGQxY2NhYWQ0NTA1NzdkYjZm
OTBkODk3MTk0NTU0YTc4YzUyODViLi4yOWFhOTlmZWU1YmIzMDEzNmM2ZjM5OTRmNzA0YzBhMDJi
ZmQzOGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdGhlbWVXaW4uY3NzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy90aGVtZVdpbi5jc3MKQEAgLTExNiw4ICsxMTYsMTEgQEAgaW5w
dXRbdHlwZT0iYnV0dG9uIl0sIGlucHV0W3R5cGU9InN1Ym1pdCJdLCBpbnB1dFt0eXBlPSJyZXNl
dCJdLCBpbnB1dFt0eXBlPSJmaWwKIC8qIFdpbmRvd3Mgc2VsZWN0cyBhcmUgbm90IHJvdW5kZWQu
IEN1c3RvbSBib3JkZXJzIGZvciB0aGVtIHNob3VsZG4ndCBiZSBlaXRoZXIuICovCiBrZXlnZW4s
IAogc2VsZWN0LCAKK3NlbGVjdDo6LXdlYmtpdC1zZWxlY3QtaW5uZXItZWxlbWVudCwKIHNlbGVj
dFtzaXplPSIwIl0sCi1zZWxlY3Rbc2l6ZT0iMSJdIHsKK3NlbGVjdFtzaXplPSIwIl06Oi13ZWJr
aXQtc2VsZWN0LWlubmVyLWVsZW1lbnQsCitzZWxlY3Rbc2l6ZT0iMSJdLAorc2VsZWN0W3NpemU9
IjEiXTo6LXdlYmtpdC1zZWxlY3QtaW5uZXItZWxlbWVudCB7CiAgICAgLXdlYmtpdC1ib3JkZXIt
cmFkaXVzOiAwOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3Jt
Q29udHJvbEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xF
bGVtZW50LmNwcAppbmRleCAyZDQ3YWM4YzQ1NjY3NDhjYmU4MzcwZDBiZWYxZWI4ZTA3ZDFkMTJh
Li5kMmU2N2M0OWViODI1MzdlNjAzZTI5M2M5ZjNhZjAzOTM1MGE4MzM0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKQEAgLTIwOSw4ICsyMDks
NyBAQCB2b2lkIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmF0dGFjaCgpCiAgICAgLy8gVGhlIGNh
bGwgdG8gdXBkYXRlRnJvbUVsZW1lbnQoKSBuZWVkcyB0byBnbyBhZnRlciB0aGUgY2FsbCB0aHJv
dWdoCiAgICAgLy8gdG8gdGhlIGJhc2UgY2xhc3MncyBhdHRhY2goKSBiZWNhdXNlIHRoYXQgY2Fu
IHNvbWV0aW1lcyBkbyBhIGNsb3NlCiAgICAgLy8gb24gdGhlIHJlbmRlcmVyLgotICAgIGlmIChy
ZW5kZXJlcigpKQotICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxlbWVudCgpOworICAg
IHJlbmRlcmVyVXBkYXRlRnJvbUVsZW1lbnQoKTsKIAogICAgIGlmIChzaG91bGRBdXRvZm9jdXMo
dGhpcykpIHsKICAgICAgICAgc2V0QXV0b2ZvY3VzZWQoKTsKQEAgLTIyMSw2ICsyMjAsMTIgQEAg
dm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjphdHRhY2goKQogICAgIHJlc3VtZVBvc3RBdHRh
Y2hDYWxsYmFja3MoKTsKIH0KIAordm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpyZW5kZXJl
clVwZGF0ZUZyb21FbGVtZW50KCkKK3sKKyAgICBpZiAocmVuZGVyZXIoKSkKKyAgICAgICAgcmVu
ZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKK30KKwogdm9pZCBIVE1MRm9ybUNvbnRyb2xF
bGVtZW50OjpkaWRNb3ZlVG9OZXdEb2N1bWVudChEb2N1bWVudCogb2xkRG9jdW1lbnQpCiB7CiAg
ICAgRm9ybUFzc29jaWF0ZWRFbGVtZW50OjpkaWRNb3ZlVG9OZXdEb2N1bWVudChvbGREb2N1bWVu
dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCmluZGV4
IGQxMjliYzJjMmEzNmQwNTIzMzI0YWNjZWQyNzZmMTQ3NTg1YjEzMzEuLmFhNjQ4Y2Q4Y2U1ODY1
NDE5NzAzNDJhMGJjNjQxZmY0MzE0OTA5ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEZvcm1Db250cm9sRWxlbWVudC5oCkBAIC0xMTksNiArMTE5LDcgQEAgcHJvdGVjdGVkOgogICAg
IHZpcnR1YWwgdm9pZCByZXF1aXJlZEF0dHJpYnV0ZUNoYW5nZWQoKTsKICAgICB2aXJ0dWFsIHZv
aWQgZGlzYWJsZWRBdHRyaWJ1dGVDaGFuZ2VkKCk7CiAgICAgdmlydHVhbCB2b2lkIGF0dGFjaCgp
OworICAgIHZpcnR1YWwgdm9pZCByZW5kZXJlclVwZGF0ZUZyb21FbGVtZW50KCk7CiAgICAgdmly
dHVhbCBJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IGluc2VydGVkSW50byhDb250YWluZXJO
b2RlKikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZWRGcm9tKENvbnRhaW5lck5v
ZGUqKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkTW92ZVRvTmV3RG9jdW1lbnQoRG9j
dW1lbnQqIG9sZERvY3VtZW50KSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0
aW9uRWxlbWVudC5jcHAKaW5kZXggOGZjYzIyYzI3ZmM3ODgxMTVhZDIwNDlmYjhhZDhkNjA4ODZj
MWIwZS4uZWNiM2Q1NmIxNjRjYjBhNGQzOGZlZDAyMmZiOTYxMjFkNWU0ZDhhNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAKQEAgLTMwOSw3ICszMDksNyBAQCB2
b2lkIEhUTUxPcHRpb25FbGVtZW50OjpzZXRSZW5kZXJTdHlsZShQYXNzUmVmUHRyPFJlbmRlclN0
eWxlPiBuZXdTdHlsZSkKIHsKICAgICBtX3N0eWxlID0gbmV3U3R5bGU7CiAgICAgaWYgKEhUTUxT
ZWxlY3RFbGVtZW50KiBzZWxlY3QgPSBvd25lclNlbGVjdEVsZW1lbnQoKSkgewotICAgICAgICBp
ZiAoUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IHNlbGVjdC0+cmVuZGVyZXIoKSkKKyAgICAgICAg
aWYgKFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSBzZWxlY3QtPnJlbmRlcmVyRm9yU2VsZWN0KCkp
CiAgICAgICAgICAgICByZW5kZXJlci0+cmVwYWludCgpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKaW5kZXggOTI2MWQ1MmI2ZDQ3M2VlMThhMzJk
ZTRjNjVmNzg0ZDRkMTMyNmFkZi4uNjhlNDY0MDMzZWUxYzVjYWEyMjg1MGU4ZmM2Yjk1ZGU5OWVj
ZDllZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKQEAgLTM2
LDYgKzM2LDggQEAKICNpbmNsdWRlICJGb3JtQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZvcm1E
YXRhTGlzdC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSFRNTENvbnRlbnRFbGVt
ZW50LmgiCisjaW5jbHVkZSAiSFRNTERpdkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRm9ybUVs
ZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MT3B0R3JvdXBF
bGVtZW50LmgiCkBAIC02MSw2ICs2Myw2MyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5n
IG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKK1JlbmRlck9iamVjdCogU2VsZWN0RWxlbWVudDo6Y3Jl
YXRlUmVuZGVyZXJGb3JTZWxlY3RFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQsIFJlbmRlckFyZW5h
KiBhcmVuYSwgSFRNTFNlbGVjdEVsZW1lbnQqIHNlbGVjdCkKK3sKKyAgICBpZiAoc2VsZWN0LT51
c2VzTWVudUxpc3QoKSkKKyAgICAgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlck1lbnVMaXN0
KGVsZW1lbnQpOworICAgIHJldHVybiBuZXcgKGFyZW5hKSBSZW5kZXJMaXN0Qm94KGVsZW1lbnQp
OworfQorCitjbGFzcyBTZWxlY3RJbm5lckVsZW1lbnQgOiBwdWJsaWMgSFRNTERpdkVsZW1lbnQs
IHB1YmxpYyBTZWxlY3RFbGVtZW50IHsKK3B1YmxpYzoKKyAgICBTZWxlY3RJbm5lckVsZW1lbnQo
RG9jdW1lbnQqKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTZWxlY3RJbm5lckVsZW1lbnQ+IGNy
ZWF0ZShEb2N1bWVudCopOworCitwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCBhdHRhY2goKSBP
VkVSUklERTsKKworICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBzaGFkb3dQc2V1ZG9J
ZCgpIGNvbnN0OworCisgICAgSFRNTFNlbGVjdEVsZW1lbnQqIHNlbGVjdEVsZW1lbnQoKSBjb25z
dDsKKyAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEq
LCBSZW5kZXJTdHlsZSopIE9WRVJSSURFOworfTsKKworU2VsZWN0SW5uZXJFbGVtZW50OjpTZWxl
Y3RJbm5lckVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50KQorICAgIDogSFRNTERpdkVsZW1lbnQo
ZGl2VGFnLCBkb2N1bWVudCkKK3sgICAgCit9CisKK1Bhc3NSZWZQdHI8U2VsZWN0SW5uZXJFbGVt
ZW50PiBTZWxlY3RJbm5lckVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQpCit7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTZWxlY3RJbm5lckVsZW1lbnQoZG9jdW1lbnQpKTsKK30K
KworY29uc3QgQXRvbWljU3RyaW5nJiBTZWxlY3RJbm5lckVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lk
KCkgY29uc3QKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgcHNldWRv
SWQsICgiLXdlYmtpdC1zZWxlY3QtaW5uZXItZWxlbWVudCIpKTsKKyAgICByZXR1cm4gcHNldWRv
SWQ7Cit9CisKK2lubGluZSBIVE1MU2VsZWN0RWxlbWVudCogU2VsZWN0SW5uZXJFbGVtZW50Ojpz
ZWxlY3RFbGVtZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gdG9IVE1MU2VsZWN0RWxlbWVudChz
aGFkb3dIb3N0KCkpOworfQorCitSZW5kZXJPYmplY3QqIFNlbGVjdElubmVyRWxlbWVudDo6Y3Jl
YXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSopCit7CisgICAgcmV0
dXJuIGNyZWF0ZVJlbmRlcmVyRm9yU2VsZWN0RWxlbWVudCh0aGlzLCBhcmVuYSwgc2VsZWN0RWxl
bWVudCgpKTsKK30KKwordm9pZCBTZWxlY3RJbm5lckVsZW1lbnQ6OmF0dGFjaCgpCit7CisgICAg
SFRNTERpdkVsZW1lbnQ6OmF0dGFjaCgpOworCisgICAgaWYgKHJlbmRlcmVyKCkpCisgICAgICAg
IHJlbmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7Cit9CisKKy8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
KwogLy8gVXBwZXIgbGltaXQgYWdyZWVkIHVwb24gd2l0aCByZXByZXNlbnRhdGl2ZXMgb2YgT3Bl
cmEgYW5kIE1vemlsbGEuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4U2VsZWN0SXRlbXMgPSAx
MDAwMDsKIApAQCAtNzgsNiArMTM3LDcgQEAgSFRNTFNlbGVjdEVsZW1lbnQ6OkhUTUxTZWxlY3RF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2MKICAgICAs
IG1fbXVsdGlwbGUoZmFsc2UpCiAgICAgLCBtX2FjdGl2ZVNlbGVjdGlvblN0YXRlKGZhbHNlKQog
ICAgICwgbV9zaG91bGRSZWNhbGNMaXN0SXRlbXMoZmFsc2UpCisgICAgLCBtX2hhc0F1dGhvclNo
YWRvd1Jvb3QoZmFsc2UpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoc2VsZWN0VGFnKSk7CiB9
CkBAIC05NSw2ICsxNTUsNjEgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBIVE1MU2VsZWN0RWxlbWVu
dDo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKICAgICByZXR1cm4gbV9tdWx0aXBsZSA/IHNlbGVj
dE11bHRpcGxlIDogc2VsZWN0T25lOwogfQogCit2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjphdHRh
Y2goKQoreworICAgIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGU6OmF0dGFjaCgpOwor
fQorCit2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpyZW5kZXJlclVwZGF0ZUZyb21FbGVtZW50KCkK
K3sKKyAgICBpZiAoaGFzQXV0aG9yU2hhZG93Um9vdCgpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpZiAocmVuZGVyZXJGb3JTZWxlY3QoKSkKKyAgICAgICAgcmVuZGVyZXJGb3JTZWxlY3QoKS0+
dXBkYXRlRnJvbUVsZW1lbnQoKTsKK30KKworaW5saW5lIFJlbmRlck1lbnVMaXN0KiBIVE1MU2Vs
ZWN0RWxlbWVudDo6cmVuZGVyTWVudUxpc3QoKSBjb25zdAoreworICAgIEFTU0VSVCh1c2VzTWVu
dUxpc3QoKSk7CisgICAgcmV0dXJuIHRvUmVuZGVyTWVudUxpc3QocmVuZGVyZXJGb3JTZWxlY3Qo
KSk7Cit9CisKK2lubGluZSBSZW5kZXJMaXN0Qm94KiBIVE1MU2VsZWN0RWxlbWVudDo6cmVuZGVy
TGlzdEJveCgpIGNvbnN0Cit7CisgICAgQVNTRVJUKCF1c2VzTWVudUxpc3QoKSk7CisgICAgcmV0
dXJuIHRvUmVuZGVyTGlzdEJveChyZW5kZXJlckZvclNlbGVjdCgpKTsKK30KKworUmVuZGVyT2Jq
ZWN0KiBIVE1MU2VsZWN0RWxlbWVudDo6cmVuZGVyZXJGb3JTZWxlY3QoKSBjb25zdAoreworICAg
IGlmIChoYXNBdXRob3JTaGFkb3dSb290KCkpCisgICAgICAgIHJldHVybiB1c2VyQWdlbnRTaGFk
b3dSb290KCktPmZpcnN0Q2hpbGQoKS0+cmVuZGVyZXIoKTsKKworICAgIHJldHVybiByZW5kZXJl
cigpOworfQorCit2b2lkIEhUTUxTZWxlY3RFbGVtZW50Ojp3aWxsQWRkQXV0aG9yU2hhZG93Um9v
dCgpCit7CisgICAgSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZTo6d2lsbEFkZEF1dGhv
clNoYWRvd1Jvb3QoKTsKKyAgICBpZiAoaGFzQXV0aG9yU2hhZG93Um9vdCgpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBBU1NFUlQodXNlckFnZW50U2hhZG93Um9vdCgpKTsKKyAgICBtX2hhc0F1
dGhvclNoYWRvd1Jvb3QgPSB0cnVlOworICAgIGNyZWF0ZVNoYWRvd1N1YnRyZWUoKTsKK30KKwor
dm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6Y3JlYXRlU2hhZG93U3VidHJlZSgpCit7CisgICAgUmVm
UHRyPFNlbGVjdElubmVyRWxlbWVudD4gaW5uZXIgPSBTZWxlY3RJbm5lckVsZW1lbnQ6OmNyZWF0
ZShkb2N1bWVudCgpKTsKKyAgICB1c2VyQWdlbnRTaGFkb3dSb290KCktPmFwcGVuZENoaWxkKGlu
bmVyLmdldCgpKTsKKworICAgIFJlZlB0cjxIVE1MQ29udGVudEVsZW1lbnQ+IGNvbnRlbnQgPSBI
VE1MQ29udGVudEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCgpKTsKKyAgICBjb250ZW50LT5zZXRT
ZWxlY3QoIm9wdGlvbiIpOworICAgIGlubmVyLT5hcHBlbmRDaGlsZChjb250ZW50LmdldCgpKTsK
K30KKwogdm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6ZGVzZWxlY3RJdGVtcyhIVE1MT3B0aW9uRWxl
bWVudCogZXhjbHVkZUVsZW1lbnQpCiB7CiAgICAgZGVzZWxlY3RJdGVtc1dpdGhvdXRWYWxpZGF0
aW9uKGV4Y2x1ZGVFbGVtZW50KTsKQEAgLTMzOCwxNSArNDUzLDE5IEBAIGJvb2wgSFRNTFNlbGVj
dEVsZW1lbnQ6OmNhblNlbGVjdEFsbCgpIGNvbnN0CiAgICAgcmV0dXJuICF1c2VzTWVudUxpc3Qo
KTsKIH0KIAotUmVuZGVyT2JqZWN0KiBIVE1MU2VsZWN0RWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIo
UmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSopCitSZW5kZXJPYmplY3QqIEhUTUxTZWxl
Y3RFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWxl
KiBzdHlsZSkKIHsKLSAgICBpZiAodXNlc01lbnVMaXN0KCkpCi0gICAgICAgIHJldHVybiBuZXcg
KGFyZW5hKSBSZW5kZXJNZW51TGlzdCh0aGlzKTsKLSAgICByZXR1cm4gbmV3IChhcmVuYSkgUmVu
ZGVyTGlzdEJveCh0aGlzKTsKKyAgICBpZiAodXNlckFnZW50U2hhZG93Um9vdCgpKQorICAgICAg
ICByZXR1cm4gUmVuZGVyT2JqZWN0OjpjcmVhdGVPYmplY3QodGhpcywgc3R5bGUpOworCisgICAg
cmV0dXJuIFNlbGVjdEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyRm9yU2VsZWN0RWxlbWVudCh0aGlz
LCBhcmVuYSwgdGhpcyk7CiB9CiAKIGJvb2wgSFRNTFNlbGVjdEVsZW1lbnQ6OmNoaWxkU2hvdWxk
Q3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZVJlbmRlcmluZ0NvbnRleHQmIGNoaWxkQ29udGV4dCkg
Y29uc3QKIHsKKyAgICBpZiAoaGFzQXV0aG9yU2hhZG93Um9vdCgpKQorICAgICAgICByZXR1cm4g
SFRNTEVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY2hpbGRDb250ZXh0KTsKKwog
ICAgIGlmICghSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZTo6Y2hpbGRTaG91bGRDcmVh
dGVSZW5kZXJlcihjaGlsZENvbnRleHQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYg
KCF1c2VzTWVudUxpc3QoKSkKQEAgLTU0Myw4ICs2NjIsOCBAQCBpbnQgSFRNTFNlbGVjdEVsZW1l
bnQ6Om5leHRTZWxlY3RhYmxlTGlzdEluZGV4UGFnZUF3YXkoaW50IHN0YXJ0SW5kZXgsIFNraXBE
aXJlYwogICAgIGNvbnN0IFZlY3RvcjxIVE1MRWxlbWVudCo+JiBpdGVtcyA9IGxpc3RJdGVtcygp
OwogICAgIC8vIENhbid0IHVzZSBtX3NpemUgYmVjYXVzZSByZW5kZXJlciBmb3JjZXMgYSBtaW5p
bXVtIHNpemUuCiAgICAgaW50IHBhZ2VTaXplID0gMDsKLSAgICBpZiAocmVuZGVyZXIoKS0+aXNM
aXN0Qm94KCkpCi0gICAgICAgIHBhZ2VTaXplID0gdG9SZW5kZXJMaXN0Qm94KHJlbmRlcmVyKCkp
LT5zaXplKCkgLSAxOyAvLyAtMSBzbyB3ZSBzdGlsbCBzaG93IGNvbnRleHQuCisgICAgaWYgKCF1
c2VzTWVudUxpc3QoKSkKKyAgICAgICAgcGFnZVNpemUgPSByZW5kZXJMaXN0Qm94KCktPnNpemUo
KSAtIDE7IC8vIC0xIHNvIHdlIHN0aWxsIHNob3cgY29udGV4dC4KIAogICAgIC8vIE9uZSBwYWdl
IGF3YXksIGJ1dCBub3Qgb3V0c2lkZSB2YWxpZCBib3VuZHMuCiAgICAgLy8gSWYgdGhlcmUgaXMg
YSB2YWxpZCBvcHRpb24gaXRlbSBvbmUgcGFnZSBhd2F5LCB0aGUgaW5kZXggaXMgY2hvc2VuLgpA
QCAtNjEwLDcgKzcyOSw3IEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OnNldEFjdGl2ZVNlbGVj
dGlvbkVuZEluZGV4KGludCBpbmRleCkKIAogdm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6dXBkYXRl
TGlzdEJveFNlbGVjdGlvbihib29sIGRlc2VsZWN0T3RoZXJPcHRpb25zKQogewotICAgIEFTU0VS
VChyZW5kZXJlcigpICYmIChyZW5kZXJlcigpLT5pc0xpc3RCb3goKSB8fCBtX211bHRpcGxlKSk7
CisgICAgQVNTRVJUKHJlbmRlcmVyRm9yU2VsZWN0KCkgJiYgKHJlbmRlcmVyRm9yU2VsZWN0KCkt
PmlzTGlzdEJveCgpIHx8IG1fbXVsdGlwbGUpKTsKICAgICBBU1NFUlQoIWxpc3RJdGVtcygpLnNp
emUoKSB8fCBtX2FjdGl2ZVNlbGVjdGlvbkFuY2hvckluZGV4ID49IDApOwogCiAgICAgdW5zaWdu
ZWQgc3RhcnQgPSBtaW4obV9hY3RpdmVTZWxlY3Rpb25BbmNob3JJbmRleCwgbV9hY3RpdmVTZWxl
Y3Rpb25FbmRJbmRleCk7CkBAIC02NzgsMTcgKzc5NywxNyBAQCB2b2lkIEhUTUxTZWxlY3RFbGVt
ZW50OjpzY3JvbGxUb1NlbGVjdGlvbigpCiAgICAgaWYgKHVzZXNNZW51TGlzdCgpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBpZiAoUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IHRoaXMtPnJlbmRl
cmVyKCkpCi0gICAgICAgIHRvUmVuZGVyTGlzdEJveChyZW5kZXJlciktPnNlbGVjdGlvbkNoYW5n
ZWQoKTsKKyAgICBpZiAoUmVuZGVyTGlzdEJveCogcmVuZGVyZXIgPSByZW5kZXJMaXN0Qm94KCkp
CisgICAgICAgIHJlbmRlcmVyLT5zZWxlY3Rpb25DaGFuZ2VkKCk7CiB9CiAKIHZvaWQgSFRNTFNl
bGVjdEVsZW1lbnQ6OnNldE9wdGlvbnNDaGFuZ2VkT25SZW5kZXJlcigpCiB7Ci0gICAgaWYgKFJl
bmRlck9iamVjdCogcmVuZGVyZXIgPSB0aGlzLT5yZW5kZXJlcigpKSB7CisgICAgaWYgKHJlbmRl
cmVyRm9yU2VsZWN0KCkpIHsKICAgICAgICAgaWYgKHVzZXNNZW51TGlzdCgpKQotICAgICAgICAg
ICAgdG9SZW5kZXJNZW51TGlzdChyZW5kZXJlciktPnNldE9wdGlvbnNDaGFuZ2VkKHRydWUpOwor
ICAgICAgICAgICAgcmVuZGVyTWVudUxpc3QoKS0+c2V0T3B0aW9uc0NoYW5nZWQodHJ1ZSk7CiAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRvUmVuZGVyTGlzdEJveChyZW5kZXJlciktPnNldE9w
dGlvbnNDaGFuZ2VkKHRydWUpOworICAgICAgICAgICAgcmVuZGVyTGlzdEJveCgpLT5zZXRPcHRp
b25zQ2hhbmdlZCh0cnVlKTsKICAgICB9CiB9CiAKQEAgLTg0Niw3ICs5NjUsNyBAQCB2b2lkIEhU
TUxTZWxlY3RFbGVtZW50OjpzZWxlY3RPcHRpb24oaW50IG9wdGlvbkluZGV4LCBTZWxlY3RPcHRp
b25GbGFncyBmbGFncykKICAgICAgICAgZGVzZWxlY3RJdGVtc1dpdGhvdXRWYWxpZGF0aW9uKGVs
ZW1lbnQpOwogCiAgICAgLy8gRm9yIHRoZSBtZW51IGxpc3QgY2FzZSwgdGhpcyBpcyB3aGF0IG1h
a2VzIHRoZSBzZWxlY3RlZCBlbGVtZW50IGFwcGVhci4KLSAgICBpZiAoUmVuZGVyT2JqZWN0KiBy
ZW5kZXJlciA9IHRoaXMtPnJlbmRlcmVyKCkpCisgICAgaWYgKFJlbmRlck9iamVjdCogcmVuZGVy
ZXIgPSByZW5kZXJlckZvclNlbGVjdCgpKQogICAgICAgICByZW5kZXJlci0+dXBkYXRlRnJvbUVs
ZW1lbnQoKTsKIAogICAgIHNjcm9sbFRvU2VsZWN0aW9uKCk7CkBAIC04NTUsNyArOTc0LDcgQEAg
dm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6c2VsZWN0T3B0aW9uKGludCBvcHRpb25JbmRleCwgU2Vs
ZWN0T3B0aW9uRmxhZ3MgZmxhZ3MpCiAgICAgICAgIG1faXNQcm9jZXNzaW5nVXNlckRyaXZlbkNo
YW5nZSA9IGZsYWdzICYgVXNlckRyaXZlbjsKICAgICAgICAgaWYgKGZsYWdzICYgRGlzcGF0Y2hD
aGFuZ2VFdmVudCkKICAgICAgICAgICAgIGRpc3BhdGNoQ2hhbmdlRXZlbnRGb3JNZW51TGlzdCgp
OwotICAgICAgICBpZiAoUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IHRoaXMtPnJlbmRlcmVyKCkp
IHsKKyAgICAgICAgaWYgKFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSByZW5kZXJlckZvclNlbGVj
dCgpKSB7CiAgICAgICAgICAgICBpZiAodXNlc01lbnVMaXN0KCkpCiAgICAgICAgICAgICAgICAg
dG9SZW5kZXJNZW51TGlzdChyZW5kZXJlciktPmRpZFNldFNlbGVjdGVkSW5kZXgobGlzdEluZGV4
KTsKICAgICAgICAgICAgIGVsc2UgaWYgKHJlbmRlcmVyLT5pc0xpc3RCb3goKSkKQEAgLTEwODYs
NyArMTIwNSw3IEBAIGJvb2wgSFRNTFNlbGVjdEVsZW1lbnQ6OnBsYXRmb3JtSGFuZGxlS2V5ZG93
bkV2ZW50KEtleWJvYXJkRXZlbnQqIGV2ZW50KQogICAgICAgICAgICAgLy8gZ2V0cyBjYWxsZWQg
ZnJvbSBSZW5kZXJNZW51TGlzdDo6dmFsdWVDaGFuZ2VkLCB3aGljaCBnZXRzIGNhbGxlZAogICAg
ICAgICAgICAgLy8gYWZ0ZXIgdGhlIHVzZXIgbWFrZXMgYSBzZWxlY3Rpb24gZnJvbSB0aGUgbWVu
dS4KICAgICAgICAgICAgIHNhdmVMYXN0U2VsZWN0aW9uKCk7Ci0gICAgICAgICAgICBpZiAoUmVu
ZGVyTWVudUxpc3QqIG1lbnVMaXN0ID0gdG9SZW5kZXJNZW51TGlzdChyZW5kZXJlcigpKSkKKyAg
ICAgICAgICAgIGlmIChSZW5kZXJNZW51TGlzdCogbWVudUxpc3QgPSByZW5kZXJNZW51TGlzdCgp
KQogICAgICAgICAgICAgICAgIG1lbnVMaXN0LT5zaG93UG9wdXAoKTsKICAgICAgICAgICAgIGV2
ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOwogICAgICAgICB9CkBAIC0xMTAzLDcgKzEyMjIsNyBA
QCB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjptZW51TGlzdERlZmF1bHRFdmVudEhhbmRsZXIoRXZl
bnQqIGV2ZW50KQogICAgIFJlZlB0cjxSZW5kZXJUaGVtZT4gcmVuZGVyVGhlbWUgPSBwYWdlID8g
cGFnZS0+dGhlbWUoKSA6IFJlbmRlclRoZW1lOjpkZWZhdWx0VGhlbWUoKTsKIAogICAgIGlmIChl
dmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5rZXlkb3duRXZlbnQpIHsKLSAgICAgICAgaWYg
KCFyZW5kZXJlcigpIHx8ICFldmVudC0+aXNLZXlib2FyZEV2ZW50KCkpCisgICAgICAgIGlmICgh
cmVuZGVyZXJGb3JTZWxlY3QoKSB8fCAhZXZlbnQtPmlzS2V5Ym9hcmRFdmVudCgpKQogICAgICAg
ICAgICAgcmV0dXJuOwogCiAgICAgICAgIGlmIChwbGF0Zm9ybUhhbmRsZUtleWRvd25FdmVudChz
dGF0aWNfY2FzdDxLZXlib2FyZEV2ZW50Kj4oZXZlbnQpKSkKQEAgLTExNzQsNyArMTI5Myw3IEBA
IHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6Om1lbnVMaXN0RGVmYXVsdEV2ZW50SGFuZGxlcihFdmVu
dCogZXZlbnQpCiAgICAgICAgICAgICAgICAgLy8gZ2V0cyBjYWxsZWQgZnJvbSBSZW5kZXJNZW51
TGlzdDo6dmFsdWVDaGFuZ2VkLCB3aGljaCBnZXRzIGNhbGxlZAogICAgICAgICAgICAgICAgIC8v
IGFmdGVyIHRoZSB1c2VyIG1ha2VzIGEgc2VsZWN0aW9uIGZyb20gdGhlIG1lbnUuCiAgICAgICAg
ICAgICAgICAgc2F2ZUxhc3RTZWxlY3Rpb24oKTsKLSAgICAgICAgICAgICAgICBpZiAoUmVuZGVy
TWVudUxpc3QqIG1lbnVMaXN0ID0gdG9SZW5kZXJNZW51TGlzdChyZW5kZXJlcigpKSkKKyAgICAg
ICAgICAgICAgICBpZiAoUmVuZGVyTWVudUxpc3QqIG1lbnVMaXN0ID0gcmVuZGVyTWVudUxpc3Qo
KSkKICAgICAgICAgICAgICAgICAgICAgbWVudUxpc3QtPnNob3dQb3B1cCgpOwogICAgICAgICAg
ICAgICAgIGhhbmRsZWQgPSB0cnVlOwogICAgICAgICAgICAgfQpAQCAtMTE5Miw3ICsxMzExLDcg
QEAgdm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6bWVudUxpc3REZWZhdWx0RXZlbnRIYW5kbGVyKEV2
ZW50KiBldmVudCkKICAgICAgICAgICAgICAgICAvLyBnZXRzIGNhbGxlZCBmcm9tIFJlbmRlck1l
bnVMaXN0Ojp2YWx1ZUNoYW5nZWQsIHdoaWNoIGdldHMgY2FsbGVkCiAgICAgICAgICAgICAgICAg
Ly8gYWZ0ZXIgdGhlIHVzZXIgbWFrZXMgYSBzZWxlY3Rpb24gZnJvbSB0aGUgbWVudS4KICAgICAg
ICAgICAgICAgICBzYXZlTGFzdFNlbGVjdGlvbigpOwotICAgICAgICAgICAgICAgIGlmIChSZW5k
ZXJNZW51TGlzdCogbWVudUxpc3QgPSB0b1JlbmRlck1lbnVMaXN0KHJlbmRlcmVyKCkpKQorICAg
ICAgICAgICAgICAgIGlmIChSZW5kZXJNZW51TGlzdCogbWVudUxpc3QgPSByZW5kZXJNZW51TGlz
dCgpKQogICAgICAgICAgICAgICAgICAgICBtZW51TGlzdC0+c2hvd1BvcHVwKCk7CiAgICAgICAg
ICAgICAgICAgaGFuZGxlZCA9IHRydWU7CiAgICAgICAgICAgICB9IGVsc2UgaWYgKGtleUNvZGUg
PT0gJ1xyJykgewpAQCAtMTIwOSw4ICsxMzI4LDggQEAgdm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6
bWVudUxpc3REZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKIAogICAgIGlmIChldmVu
dC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5tb3VzZWRvd25FdmVudCAmJiBldmVudC0+aXNNb3Vz
ZUV2ZW50KCkgJiYgc3RhdGljX2Nhc3Q8TW91c2VFdmVudCo+KGV2ZW50KS0+YnV0dG9uKCkgPT0g
TGVmdEJ1dHRvbikgewogICAgICAgICBmb2N1cygpOwotICAgICAgICBpZiAocmVuZGVyZXIoKSAm
JiByZW5kZXJlcigpLT5pc01lbnVMaXN0KCkpIHsKLSAgICAgICAgICAgIGlmIChSZW5kZXJNZW51
TGlzdCogbWVudUxpc3QgPSB0b1JlbmRlck1lbnVMaXN0KHJlbmRlcmVyKCkpKSB7CisgICAgICAg
IGlmIChyZW5kZXJlckZvclNlbGVjdCgpICYmIHJlbmRlcmVyRm9yU2VsZWN0KCktPmlzTWVudUxp
c3QoKSkgeworICAgICAgICAgICAgaWYgKFJlbmRlck1lbnVMaXN0KiBtZW51TGlzdCA9IHJlbmRl
ck1lbnVMaXN0KCkpIHsKICAgICAgICAgICAgICAgICBpZiAobWVudUxpc3QtPnBvcHVwSXNWaXNp
YmxlKCkpCiAgICAgICAgICAgICAgICAgICAgIG1lbnVMaXN0LT5oaWRlUG9wdXAoKTsKICAgICAg
ICAgICAgICAgICBlbHNlIHsKQEAgLTEyODQsMTMgKzE0MDMsMTMgQEAgdm9pZCBIVE1MU2VsZWN0
RWxlbWVudDo6bGlzdEJveERlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQogICAgIGlm
IChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5tb3VzZWRvd25FdmVudCAmJiBldmVudC0+
aXNNb3VzZUV2ZW50KCkgJiYgc3RhdGljX2Nhc3Q8TW91c2VFdmVudCo+KGV2ZW50KS0+YnV0dG9u
KCkgPT0gTGVmdEJ1dHRvbikgewogICAgICAgICBmb2N1cygpOwogICAgICAgICAvLyBDYWxsaW5n
IGZvY3VzKCkgbWF5IGNhdXNlIHVzIHRvIGxvc2Ugb3VyIHJlbmRlcmVyLCBpbiB3aGljaCBjYXNl
IGRvIG5vdCB3YW50IHRvIGhhbmRsZSB0aGUgZXZlbnQuCi0gICAgICAgIGlmICghcmVuZGVyZXIo
KSkKKyAgICAgICAgaWYgKCFyZW5kZXJlckZvclNlbGVjdCgpKQogICAgICAgICAgICAgcmV0dXJu
OwogCiAgICAgICAgIC8vIENvbnZlcnQgdG8gY29vcmRzIHJlbGF0aXZlIHRvIHRoZSBsaXN0IGJv
eCBpZiBuZWVkZWQuCiAgICAgICAgIE1vdXNlRXZlbnQqIG1vdXNlRXZlbnQgPSBzdGF0aWNfY2Fz
dDxNb3VzZUV2ZW50Kj4oZXZlbnQpOwotICAgICAgICBJbnRQb2ludCBsb2NhbE9mZnNldCA9IHJv
dW5kZWRJbnRQb2ludChyZW5kZXJlcigpLT5hYnNvbHV0ZVRvTG9jYWwobW91c2VFdmVudC0+YWJz
b2x1dGVMb2NhdGlvbigpLCBmYWxzZSwgdHJ1ZSkpOwotICAgICAgICBpbnQgbGlzdEluZGV4ID0g
dG9SZW5kZXJMaXN0Qm94KHJlbmRlcmVyKCkpLT5saXN0SW5kZXhBdE9mZnNldCh0b1NpemUobG9j
YWxPZmZzZXQpKTsKKyAgICAgICAgSW50UG9pbnQgbG9jYWxPZmZzZXQgPSByb3VuZGVkSW50UG9p
bnQocmVuZGVyZXJGb3JTZWxlY3QoKS0+YWJzb2x1dGVUb0xvY2FsKG1vdXNlRXZlbnQtPmFic29s
dXRlTG9jYXRpb24oKSwgZmFsc2UsIHRydWUpKTsKKyAgICAgICAgaW50IGxpc3RJbmRleCA9IHJl
bmRlckxpc3RCb3goKS0+bGlzdEluZGV4QXRPZmZzZXQodG9TaXplKGxvY2FsT2Zmc2V0KSk7CiAg
ICAgICAgIGlmIChsaXN0SW5kZXggPj0gMCkgewogICAgICAgICAgICAgaWYgKCFkaXNhYmxlZCgp
KSB7CiAjaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oQ0hST01JVU0pICYmIE9TKERBUldJ
TikpCkBAIC0xMzA0LDEzICsxNDIzLDEzIEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6Omxpc3RC
b3hEZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKIAogICAgICAgICAgICAgZXZlbnQt
PnNldERlZmF1bHRIYW5kbGVkKCk7CiAgICAgICAgIH0KLSAgICB9IGVsc2UgaWYgKGV2ZW50LT50
eXBlKCkgPT0gZXZlbnROYW1lcygpLm1vdXNlbW92ZUV2ZW50ICYmIGV2ZW50LT5pc01vdXNlRXZl
bnQoKSAmJiAhdG9SZW5kZXJCb3gocmVuZGVyZXIoKSktPmNhbkJlU2Nyb2xsZWRBbmRIYXNTY3Jv
bGxhYmxlQXJlYSgpKSB7CisgICAgfSBlbHNlIGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50TmFt
ZXMoKS5tb3VzZW1vdmVFdmVudCAmJiBldmVudC0+aXNNb3VzZUV2ZW50KCkgJiYgIXRvUmVuZGVy
Qm94KHJlbmRlcmVyRm9yU2VsZWN0KCkpLT5jYW5CZVNjcm9sbGVkQW5kSGFzU2Nyb2xsYWJsZUFy
ZWEoKSkgewogICAgICAgICBNb3VzZUV2ZW50KiBtb3VzZUV2ZW50ID0gc3RhdGljX2Nhc3Q8TW91
c2VFdmVudCo+KGV2ZW50KTsKICAgICAgICAgaWYgKG1vdXNlRXZlbnQtPmJ1dHRvbigpICE9IExl
ZnRCdXR0b24gfHwgIW1vdXNlRXZlbnQtPmJ1dHRvbkRvd24oKSkKICAgICAgICAgICAgIHJldHVy
bjsKIAotICAgICAgICBJbnRQb2ludCBsb2NhbE9mZnNldCA9IHJvdW5kZWRJbnRQb2ludChyZW5k
ZXJlcigpLT5hYnNvbHV0ZVRvTG9jYWwobW91c2VFdmVudC0+YWJzb2x1dGVMb2NhdGlvbigpLCBm
YWxzZSwgdHJ1ZSkpOwotICAgICAgICBpbnQgbGlzdEluZGV4ID0gdG9SZW5kZXJMaXN0Qm94KHJl
bmRlcmVyKCkpLT5saXN0SW5kZXhBdE9mZnNldCh0b1NpemUobG9jYWxPZmZzZXQpKTsKKyAgICAg
ICAgSW50UG9pbnQgbG9jYWxPZmZzZXQgPSByb3VuZGVkSW50UG9pbnQocmVuZGVyZXJGb3JTZWxl
Y3QoKS0+YWJzb2x1dGVUb0xvY2FsKG1vdXNlRXZlbnQtPmFic29sdXRlTG9jYXRpb24oKSwgZmFs
c2UsIHRydWUpKTsKKyAgICAgICAgaW50IGxpc3RJbmRleCA9IHJlbmRlckxpc3RCb3goKS0+bGlz
dEluZGV4QXRPZmZzZXQodG9TaXplKGxvY2FsT2Zmc2V0KSk7CiAgICAgICAgIGlmIChsaXN0SW5k
ZXggPj0gMCkgewogICAgICAgICAgICAgaWYgKCFkaXNhYmxlZCgpKSB7CiAgICAgICAgICAgICAg
ICAgaWYgKG1fbXVsdGlwbGUpIHsKQEAgLTE0MDMsNyArMTUyMiw3IEBAIHZvaWQgSFRNTFNlbGVj
dEVsZW1lbnQ6Omxpc3RCb3hEZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKICAgICAg
ICAgICAgICAgICBzZXRBY3RpdmVTZWxlY3Rpb25BbmNob3JJbmRleChtX2FjdGl2ZVNlbGVjdGlv
bkVuZEluZGV4KTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgdG9SZW5kZXJMaXN0Qm94
KHJlbmRlcmVyKCkpLT5zY3JvbGxUb1JldmVhbEVsZW1lbnRBdExpc3RJbmRleChlbmRJbmRleCk7
CisgICAgICAgICAgICByZW5kZXJMaXN0Qm94KCktPnNjcm9sbFRvUmV2ZWFsRWxlbWVudEF0TGlz
dEluZGV4KGVuZEluZGV4KTsKICAgICAgICAgICAgIGlmIChzZWxlY3ROZXdJdGVtKSB7CiAgICAg
ICAgICAgICAgICAgdXBkYXRlTGlzdEJveFNlbGVjdGlvbihkZXNlbGVjdE90aGVycyk7CiAgICAg
ICAgICAgICAgICAgbGlzdEJveE9uQ2hhbmdlKCk7CkBAIC0xNDMzLDcgKzE1NTIsNyBAQCB2b2lk
IEhUTUxTZWxlY3RFbGVtZW50OjpsaXN0Qm94RGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZl
bnQpCiAKIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQq
IGV2ZW50KQogewotICAgIGlmICghcmVuZGVyZXIoKSkKKyAgICBpZiAoIXJlbmRlcmVyRm9yU2Vs
ZWN0KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmICh1c2VzTWVudUxpc3QoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaAppbmRleCA0NzRjMTVhNjQxNjNmNDU0Y2Ez
NTEyNmFlMjFkNWZjZmQzY2IzNDViLi5jOGMwOGYyZDQ1ODBlYWU4Y2RjYjNhM2I1M2Q4YTE4YTcw
OWU5MjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCkBAIC0zNCwx
MSArMzQsMjEgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTE9wdGlvbkVsZW1l
bnQ7CitjbGFzcyBIVE1MU2VsZWN0RWxlbWVudDsKK2NsYXNzIFJlbmRlck1lbnVMaXN0OworY2xh
c3MgUmVuZGVyTGlzdEJveDsKIAotY2xhc3MgSFRNTFNlbGVjdEVsZW1lbnQgOiBwdWJsaWMgSFRN
TEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZSB7CitjbGFzcyBTZWxlY3RFbGVtZW50IHsKK3By
b3RlY3RlZDoKKyAgICBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyRm9yU2VsZWN0RWxlbWVu
dChFbGVtZW50KiwgUmVuZGVyQXJlbmEqLCBIVE1MU2VsZWN0RWxlbWVudCopOworfTsKKworY2xh
c3MgSFRNTFNlbGVjdEVsZW1lbnQgOiBwdWJsaWMgSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhT
dGF0ZSwgcHVibGljIFNlbGVjdEVsZW1lbnQgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVm
UHRyPEhUTUxTZWxlY3RFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50KiwgSFRNTEZvcm1FbGVtZW50Kik7CiAKKyAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyRm9y
U2VsZWN0KCkgY29uc3Q7CisKICAgICBpbnQgc2VsZWN0ZWRJbmRleCgpIGNvbnN0OwogICAgIHZv
aWQgc2V0U2VsZWN0ZWRJbmRleChpbnQpOwogCkBAIC0xMDksNiArMTE5LDE2IEBAIHByb3RlY3Rl
ZDoKIAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRy
b2xUeXBlKCkgY29uc3Q7CisKKyAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoKCkgT1ZFUlJJREU7Cisg
ICAgdmlydHVhbCB2b2lkIHJlbmRlcmVyVXBkYXRlRnJvbUVsZW1lbnQoKSBPVkVSUklERTsKKyAg
ICAKKyAgICBSZW5kZXJNZW51TGlzdCogcmVuZGVyTWVudUxpc3QoKSBjb25zdDsKKyAgICBSZW5k
ZXJMaXN0Qm94KiByZW5kZXJMaXN0Qm94KCkgY29uc3Q7CisKKyAgICBib29sIGhhc0F1dGhvclNo
YWRvd1Jvb3QoKSBjb25zdCB7IHJldHVybiBtX2hhc0F1dGhvclNoYWRvd1Jvb3Q7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgd2lsbEFkZEF1dGhvclNoYWRvd1Jvb3QoKSBPVkVSUklERTsKKyAgICB2b2lk
IGNyZWF0ZVNoYWRvd1N1YnRyZWUoKTsKICAgICAKICAgICB2aXJ0dWFsIGJvb2wgaXNLZXlib2Fy
ZEZvY3VzYWJsZShLZXlib2FyZEV2ZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzTW91
c2VGb2N1c2FibGUoKSBjb25zdDsKQEAgLTE5NSw2ICsyMTUsNyBAQCBwcml2YXRlOgogICAgIGJv
b2wgbV9tdWx0aXBsZTsKICAgICBib29sIG1fYWN0aXZlU2VsZWN0aW9uU3RhdGU7CiAgICAgbXV0
YWJsZSBib29sIG1fc2hvdWxkUmVjYWxjTGlzdEl0ZW1zOworICAgIGJvb2wgbV9oYXNBdXRob3JT
aGFkb3dSb290OwogfTsKIAogaW5saW5lIGJvb2wgaXNIVE1MU2VsZWN0RWxlbWVudChjb25zdCBO
b2RlKiBub2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxp
c3RCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCmlu
ZGV4IDYzNzZiMDk4YmM1YTFlYTViZWEyOGY0Yzc0ODVkODgyNTBiODE5ZDQuLjZmNjhkMzE4YmI5
OWRmZmYxM2ZmODJkZmU3OWM4ZDdmNTZkZjU4MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGlzdEJveC5jcHAKQEAgLTkxLDcgKzkxLDcgQEAgUmVuZGVyTGlzdEJveDo6UmVu
ZGVyTGlzdEJveChFbGVtZW50KiBlbGVtZW50KQogewogICAgIEFTU0VSVChlbGVtZW50KTsKICAg
ICBBU1NFUlQoZWxlbWVudC0+aXNIVE1MRWxlbWVudCgpKTsKLSAgICBBU1NFUlQoZWxlbWVudC0+
aGFzVGFnTmFtZShIVE1MTmFtZXM6OnNlbGVjdFRhZykpOworICAgIEFTU0VSVChpc0hUTUxTZWxl
Y3RFbGVtZW50KGVsZW1lbnQpIHx8IGlzSFRNTFNlbGVjdEVsZW1lbnQoZWxlbWVudC0+c2hhZG93
SG9zdCgpKSk7CiAKICAgICBpZiAoRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBmcmFtZSgpLT52aWV3
KCkpCiAgICAgICAgIGZyYW1lVmlldy0+YWRkU2Nyb2xsYWJsZUFyZWEodGhpcyk7CkBAIC0xMDcs
NyArMTA3LDEwIEBAIFJlbmRlckxpc3RCb3g6On5SZW5kZXJMaXN0Qm94KCkKIAogaW5saW5lIEhU
TUxTZWxlY3RFbGVtZW50KiBSZW5kZXJMaXN0Qm94OjpzZWxlY3RFbGVtZW50KCkgY29uc3QKIHsK
LSAgICByZXR1cm4gdG9IVE1MU2VsZWN0RWxlbWVudChub2RlKCkpOworICAgIGlmIChpc0hUTUxT
ZWxlY3RFbGVtZW50KG5vZGUoKSkpCisgICAgICAgIHJldHVybiB0b0hUTUxTZWxlY3RFbGVtZW50
KG5vZGUoKSk7CisKKyAgICByZXR1cm4gdG9IVE1MU2VsZWN0RWxlbWVudChub2RlKCktPnNoYWRv
d0hvc3QoKSk7CiB9CiAKIHZvaWQgUmVuZGVyTGlzdEJveDo6dXBkYXRlRnJvbUVsZW1lbnQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAKaW5kZXggNWI3OWQ2
YzkwY2I2Mzc1MzYwYjEyZTMxMmZkMzc3YWMzZDQzOGI0MC4uNzI3MmRmODVmMzRhNmYxZjBlYTc0
YzRjMDU4NzgzYjAyMzk2ODZmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck1lbnVMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TWVudUxpc3QuY3BwCkBAIC02NCw3ICs2NCw3IEBAIFJlbmRlck1lbnVMaXN0OjpSZW5kZXJNZW51
TGlzdChFbGVtZW50KiBlbGVtZW50KQogewogICAgIEFTU0VSVChlbGVtZW50KTsKICAgICBBU1NF
UlQoZWxlbWVudC0+aXNIVE1MRWxlbWVudCgpKTsKLSAgICBBU1NFUlQoZWxlbWVudC0+aGFzVGFn
TmFtZShIVE1MTmFtZXM6OnNlbGVjdFRhZykpOworICAgIEFTU0VSVChpc0hUTUxTZWxlY3RFbGVt
ZW50KGVsZW1lbnQpIHx8IGlzSFRNTFNlbGVjdEVsZW1lbnQoZWxlbWVudC0+c2hhZG93SG9zdCgp
KSk7CiB9CiAKIFJlbmRlck1lbnVMaXN0Ojp+UmVuZGVyTWVudUxpc3QoKQpAQCAtMTIxLDcgKzEy
MSwxMCBAQCB2b2lkIFJlbmRlck1lbnVMaXN0OjphZGp1c3RJbm5lclN0eWxlKCkKIAogaW5saW5l
IEhUTUxTZWxlY3RFbGVtZW50KiBSZW5kZXJNZW51TGlzdDo6c2VsZWN0RWxlbWVudCgpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIHRvSFRNTFNlbGVjdEVsZW1lbnQobm9kZSgpKTsKKyAgICBpZiAoaXNI
VE1MU2VsZWN0RWxlbWVudChub2RlKCkpKQorICAgICAgICByZXR1cm4gdG9IVE1MU2VsZWN0RWxl
bWVudChub2RlKCkpOworCisgICAgcmV0dXJuIHRvSFRNTFNlbGVjdEVsZW1lbnQobm9kZSgpLT5z
aGFkb3dIb3N0KCkpOwogfQogCiB2b2lkIFJlbmRlck1lbnVMaXN0OjphZGRDaGlsZChSZW5kZXJP
YmplY3QqIG5ld0NoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGRmMzM3
NTgwNTFmZDAxZjMyNjlkYzQyOWVmNmIzODQ2NDYyMjFhZTQuLjhmMGYxNzNkNmViY2NkMDE3ODFm
MmI0ZGY2OWUyMjk5ZTFiYmJhM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAxMi0wOC0yMyAg
U2hpbnlhIEthd2FuYWthICA8c2hpbnlha0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQXV0aG9y
U2hhZG93RE9NIGZvciBzZWxlY3QgZWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE0ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZSBoYXZlIHRoZSBmb2xsb3dpbmcgdGVzdHMgb2YgQXV0aG9y
U2hhZG93RE9NIGZvciBzZWxlY3QgZWxlbWVudC4KKworICAgICAgICAoMSkgU2hhZG93IERPTSBo
YXZpbmcgb25seSA8c2hhZG93PiBlbGVtZW50CisgICAgICAgICgyKSBTaGFkb3cgRE9NIG5vdCBo
YXZpbmcgYW55IEluc2VydGlvblBvaW50CisgICAgICAgICgzKSBTaGFkb3cgRE9NIHdpdGggc3R5
bGUKKyAgICAgICAgKDQpIER5bmFtaWMgYXR0cmlidXRlIHVwZGF0ZQorICAgICAgICAoNSkgRHlu
YW1pYyBjaGlsZHJlbiAob3B0aW9uIGVsZW1lbnRzKSB1cGRhdGUKKyAgICAgICAgKDYpIE1hbmlw
dWxhdGluZyBzZWxlY3QgZWxlbWVudCBub3QgaGF2aW5nIGFueSBJbnNlcnRpb25Qb2ludAorCisg
ICAgICAgICogZmFzdC9kb20vc2hhZG93L3Jlc291cmNlcy9yZXBsYWNlZC1lbGVtZW50LXN0eWxl
cy5jc3M6CisgICAgICAgIChzZWxlY3QucmVzZXQtZm9yLXNoYWRvdyk6CisgICAgICAgICgucmVz
ZXQtZm9yLWlubmVyKToKKyAgICAgICAgKGRpdi5zZWxlY3QtbGlrZSk6CisgICAgICAgICogZmFz
dC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWNvbXBsZXgtc2hhZG93LWV4cGVjdGVk
Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWNv
bXBsZXgtc2hhZG93Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3Itc2VsZWN0LWR5bmFtaWMtYXR0cmlidXRlLWNoYW5nZS1leHBlY3RlZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtZHluYW1pYy1h
dHRyaWJ1dGUtY2hhbmdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3dkb20tZm9yLXNlbGVjdC1keW5hbWljLWNoaWxkcmVuLWNoYW5nZS1leHBlY3RlZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qt
ZHluYW1pYy1jaGlsZHJlbi1jaGFuZ2UuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20v
c2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LW9ubHktc2hhZG93LWV4cGVjdGVkLmh0bWw6Cisg
ICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LW9ubHktc2hhZG93
Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdp
dGgtb3B0aW9ucy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aC1vcHRpb25zLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13aXRoLXN0eWxlLWV4cGVj
dGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9y
LXNlbGVjdC13aXRoLXN0eWxlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRv
dy9zaGFkb3dkb20tZm9yLXNlbGVjdC13aXRob3V0LXNoYWRvdy1jbGljay1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13
aXRob3V0LXNoYWRvdy1jbGljay5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3ctZXhwZWN0ZWQuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aG91dC1zaGFk
b3cuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOgor
CiAyMDEyLTA4LTIzICBTaGV6YW4gQmFpZyAgPHNoZXpiYWlnLndrQGdtYWlsLmNvbT4KIAogICAg
ICAgICBSZW1vdmUgRklYTUVzIGZyb20gY3NzMy9mbGV4Ym94L2ZsZXhpdGVtLmh0bWwKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXNvdXJjZXMvcmVwbGFjZWQtZWxl
bWVudC1zdHlsZXMuY3NzIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Jlc291cmNlcy9y
ZXBsYWNlZC1lbGVtZW50LXN0eWxlcy5jc3MKaW5kZXggMzc4MzY0ZTY1YmUzZTA5N2E4NjhjNGJk
YjNkYTEyODkxNWJhZjhhMi4uNzI2YWQwMWRhOGFiOTk1ZDFjODk2YmZjNWQxZGZhMjEwMmZiNWZh
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Jlc291cmNlcy9yZXBs
YWNlZC1lbGVtZW50LXN0eWxlcy5jc3MKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3Jlc291cmNlcy9yZXBsYWNlZC1lbGVtZW50LXN0eWxlcy5jc3MKQEAgLTM5LDMgKzM5LDIxIEBA
CiAgICAgd2lkdGg6IDEwMCU7CiAgICAgdmVydGljYWwtYWxpZ246IDBlbTsKIH0KKworc2VsZWN0
LnJlc2V0LWZvci1zaGFkb3cgeworICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7CisgICAgLXdlYmtp
dC1hcHBlYXJhbmNlOiBub25lOworICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Owor
ICAgIGJvcmRlcjogMDsKK30KKworLnJlc2V0LWZvci1pbm5lciB7CisgICAgZGlzcGxheTogaW5s
aW5lLWJsb2NrOworICAgIG1hcmdpbjogMDsKK30KKworZGl2LnNlbGVjdC1saWtlIHsKKyAgICBk
aXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgZm9udDogLXdlYmtpdC1zbWFsbC1jb250cm9sOwor
ICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtY29tcGxleC1zaGFkb3ctZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVj
dC1jb21wbGV4LXNoYWRvdy1leHBlY3RlZC5odG1sCmluZGV4IGIwNjU5NWE3NGRhNGFiNGQ5ZTdj
NGEzOTVjNDMwMmI1NjAzNmY4ODAuLjQ3MzQ2ZDc5ZTZkNzU2NTEyNGI3NDhmOTc1MDBmYjQwM2Nk
YzI3MWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLXNlbGVjdC1jb21wbGV4LXNoYWRvdy1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1jb21wbGV4LXNoYWRvdy1leHBl
Y3RlZC5odG1sCkBAIC0xLDEwICsxLDE4IEBACiA8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJv
ZHk+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BvbHlmaWxsLmpzIj48L3NjcmlwdD4KIAogPHA+
QSBtaXhlZCBjYXNlIG9mIGEgc2hhZG93IGVsZW1lbnQgYW5kIGNvbnRlbnQgZWxlbWVudC48L3A+
CiA8Zm9ybT4KLSAgICA8ZGl2IHN0eWxlPSJtYXJnaW46IDIwcHgiPgotICAgICAgICA8c2VsZWN0
Pjwvc2VsZWN0PgorICAgIDxkaXYgc3R5bGU9Im1hcmdpbjogMThweCAyMnB4IDIycHg7IHBhZGRp
bmctdG9wOiAyMHB4Ij4KKyAgICAgICAgPHNlbGVjdCBzdHlsZT0ibWFyZ2luOiAwIj4KKyAgICAg
ICAgICAgIDxvcHRpb24gZGlzYWJsZWQ+UGxlYXNlIHNlbGVjdDwvb3B0aW9uPgorICAgICAgICAg
ICAgPG9wdGdyb3VwIGxhYmVsPSJSYW5rIDEiPjwvb3B0Z3JvdXA+CisgICAgICAgICAgICA8b3B0
aW9uIHZhbHVlPSJob2dlIiBzZWxlY3RlZD5ob2dlPC9vcHRpb24+CisgICAgICAgIDwvc2VsZWN0
PgogICAgIDwvZGl2PiAgICAKLSAgICA8aW5wdXQgaWQ9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2
YWx1ZT0iU3VibWl0Ij4KIDwvZm9ybT4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWNvbXBsZXgt
c2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1z
ZWxlY3QtY29tcGxleC1zaGFkb3cuaHRtbAppbmRleCA5ZjU0Mjk2NDFmZmM4Yzk3ZTI5OGIxODgy
M2Y2M2UzNzBhZDMwMGFhLi5mM2Q1N2ZkYjkyNTExM2U0MWU0OWVhY2Y3OTgxOGM5ODA5ZjU5Zjlj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1z
ZWxlY3QtY29tcGxleC1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtY29tcGxleC1zaGFkb3cuaHRtbApAQCAtMSwxOCArMSwz
MSBAQAogPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InJlc291cmNlcy9yZXBsYWNlZC1lbGVtZW50
LXN0eWxlcy5jc3MiPgorPC9oZWFkPgorPGJvZHk+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Bv
bHlmaWxsLmpzIj48L3NjcmlwdD4KIAogPHA+QSBtaXhlZCBjYXNlIG9mIGEgc2hhZG93IGVsZW1l
bnQgYW5kIGNvbnRlbnQgZWxlbWVudC48L3A+CiA8Zm9ybT4KLSAgICA8c2VsZWN0IGlkPSJob3N0
Ij4KKyAgICA8c2VsZWN0IGlkPSJob3N0IiBjbGFzcz0icmVzZXQtZm9yLXNoYWRvdyI+CiAgICAg
ICAgIDxvcHRpb24gZGlzYWJsZWQ+UGxlYXNlIHNlbGVjdDwvb3B0aW9uPgogICAgICAgICA8b3B0
Z3JvdXAgbGFiZWw9IlJhbmsgMSI+PC9vcHRncm91cD4KICAgICAgICAgPG9wdGlvbiB2YWx1ZT0i
aG9nZSIgc2VsZWN0ZWQ+aG9nZTwvb3B0aW9uPgogICAgIDwvc2VsZWN0PgotICAgIDxpbnB1dCBp
ZD0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTdWJtaXQiPgogPC9mb3JtPgogCiA8c2Ny
aXB0PgotdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcpOwordmFyIGNv
bnRlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjb250ZW50Jyk7CisKK3ZhciBkaXYgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKK2Rpdi5zdHlsZS5tYXJnaW4gPSAnMjBweCc7
Cit2YXIgc2hhZG93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93Jyk7CitkaXYuYXBw
ZW5kQ2hpbGQoc2hhZG93KTsKKwogdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9v
dChob3N0KTsKLXNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gIjxjb250ZW50PjwvY29udGVudD48ZGl2
IHN0eWxlPSdtYXJnaW46IDIwcHgnPjxzaGFkb3c+PC9zaGFkb3c+PC9kaXY+Igorc2hhZG93Um9v
dC5hcHBlbmRDaGlsZChjb250ZW50KTsKK3NoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoZGl2KTsKIDwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LWR5bmFtaWMtYXR0cmlidXRlLWNoYW5nZS1l
eHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
c2VsZWN0LWR5bmFtaWMtYXR0cmlidXRlLWNoYW5nZS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYxMzdjNTM0MTk0ZTVmZDFlOTUwZjU4NjVjZTg3NzNkMzEyMzA2YzAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtZHlu
YW1pYy1hdHRyaWJ1dGUtY2hhbmdlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9wb2x5
ZmlsbC5qcyI+PC9zY3JpcHQ+CisKKzxwPldoZW4gYXR0cmlidXRlIGlzIGR5bmFtaWNhbGx5IGNo
YW5nZWQsIHRoZSBhcHBlYXJhbmNlIHNob3VsZCBhbHNvIGJlIGNoYW5nZWQuPC9wPgorCis8Zm9y
bT4KKyAgICA8c2VsZWN0IGlkPSJob3N0MSIgc2l6ZT0iMiI+CisgICAgICAgIDxvcHRpb24gc2Vs
ZWN0ZWQ+QTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPkI8L29wdGlvbj4KKyAgICAgICAgPG9w
dGlvbj5DPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+RDwvb3B0aW9uPgorICAgIDwvc2VsZWN0
PgorCisgICAgPHNlbGVjdCBpZD0iaG9zdDIiIG11bHRpcGxlPgorICAgICAgICA8b3B0aW9uPkE8
L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5CPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+Qzwv
b3B0aW9uPgorICAgICAgICA8b3B0aW9uPkQ8L29wdGlvbj4KKyAgICA8L3NlbGVjdD4KKworICAg
IDxzZWxlY3QgaWQ9Imhvc3QzIj4KKyAgICAgICAgPG9wdGlvbj5BPC9vcHRpb24+CisgICAgICAg
IDxvcHRpb24+Qjwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPkM8L29wdGlvbj4KKyAgICAgICAg
PG9wdGlvbj5EPC9vcHRpb24+CisgICAgPC9zZWxlY3Q+Cis8L2Zvcm0+Cis8L2JvZHk+Cis8L2h0
bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20t
Zm9yLXNlbGVjdC1keW5hbWljLWF0dHJpYnV0ZS1jaGFuZ2UuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1keW5hbWljLWF0dHJpYnV0ZS1jaGFu
Z2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4wZTQ5NDhjY2I5ZWY0MmE3YTE1YTgwZTljNGE3ZmQyMWVjMTJj
NDk1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3Itc2VsZWN0LWR5bmFtaWMtYXR0cmlidXRlLWNoYW5nZS5odG1sCkBAIC0wLDAgKzEs
NTEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8bGluayByZWw9InN0
eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJyZXNvdXJjZXMvcmVwbGFjZWQtZWxlbWVu
dC1zdHlsZXMuY3NzIj4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9w
b2x5ZmlsbC5qcyI+PC9zY3JpcHQ+CisKKzxwPldoZW4gYXR0cmlidXRlIGlzIGR5bmFtaWNhbGx5
IGNoYW5nZWQsIHRoZSBhcHBlYXJhbmNlIHNob3VsZCBhbHNvIGJlIGNoYW5nZWQuPC9wPgorPGZv
cm0+CisgICAgPHNlbGVjdCBpZD0iaG9zdDEiIGNsYXNzPSJyZXNldC1mb3Itc2hhZG93Ij4KKyAg
ICAgICAgPG9wdGlvbj5BPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+Qjwvb3B0aW9uPgorICAg
ICAgICA8b3B0aW9uPkM8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5EPC9vcHRpb24+CisgICAg
PC9zZWxlY3Q+CisKKyAgICA8c2VsZWN0IGlkPSJob3N0MiIgc2l6ZT0iMyIgY2xhc3M9InJlc2V0
LWZvci1zaGFkb3ciPgorICAgICAgICA8b3B0aW9uPkE8L29wdGlvbj4KKyAgICAgICAgPG9wdGlv
bj5CPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+Qzwvb3B0aW9uPgorICAgICAgICA8b3B0aW9u
PkQ8L29wdGlvbj4KKyAgICA8L3NlbGVjdD4KKworICAgIDxzZWxlY3QgaWQ9Imhvc3QzIiBtdWx0
aXBsZSBjbGFzcz0icmVzZXQtZm9yLXNoYWRvdyI+CisgICAgICAgIDxvcHRpb24+QTwvb3B0aW9u
PgorICAgICAgICA8b3B0aW9uPkI8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5DPC9vcHRpb24+
CisgICAgICAgIDxvcHRpb24+RDwvb3B0aW9uPgorICAgIDwvc2VsZWN0PgorPC9mb3JtPgorCis8
c2NyaXB0PgorZnVuY3Rpb24gYWRkU2hhZG93Um9vdChob3N0KQoreworICAgIHZhciBzaGFkb3dS
b290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdCk7CisgICAgdmFyIHNoYWRvdyA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpOworICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQo
c2hhZG93KTsKK30KKworYWRkU2hhZG93Um9vdChob3N0MSk7CithZGRTaGFkb3dSb290KGhvc3Qy
KTsKK2FkZFNoYWRvd1Jvb3QoaG9zdDMpOworCitob3N0MS5zZXRBdHRyaWJ1dGUoJ3NpemUnLCAn
MicpOworaG9zdDIucmVtb3ZlQXR0cmlidXRlKCdzaXplJyk7Citob3N0Mi5zZXRBdHRyaWJ1dGUo
J211bHRpcGxlJywgJ211bHRpcGxlJyk7Citob3N0My5yZW1vdmVBdHRyaWJ1dGUoJ211bHRpcGxl
Jyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1keW5hbWljLWNoaWxkcmVuLWNo
YW5nZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3Itc2VsZWN0LWR5bmFtaWMtY2hpbGRyZW4tY2hhbmdlLWV4cGVjdGVkLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uM2IwZDU5MTFiYWJmOTEyM2Y4MjJiMjNjN2FiMWZmYTRmMjBiMWNjOQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVj
dC1keW5hbWljLWNoaWxkcmVuLWNoYW5nZS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjkgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
cG9seWZpbGwuanMiPjwvc2NyaXB0PgorCis8cD5XaGVuIGNoaWxkcmVuIGFyZSBkeW5hbWljYWxs
eSBjaGFuZ2VkLCB0aGUgYXBwZWFyYW5jZSBzaG91bGQgYWxzbyBiZSBjaGFuZ2VkLjwvcD4KKwor
PGZvcm0+CisgICAgPHNlbGVjdCBpZD0iaG9zdDEiPgorICAgICAgICA8b3B0aW9uPkE8L29wdGlv
bj4KKyAgICAgICAgPG9wdGlvbj5CPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+Qzwvb3B0aW9u
PgorICAgIDwvc2VsZWN0PgorCisgICAgPHNlbGVjdCBpZD0iaG9zdDIiIHNpemU9IjMiPgorICAg
ICAgICA8b3B0aW9uPkE8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5CPC9vcHRpb24+CisgICAg
ICAgIDxvcHRpb24+Qzwvb3B0aW9uPgorICAgIDwvc2VsZWN0PgorCisgICAgPHNlbGVjdCBpZD0i
aG9zdDMiIG11bHRpcGxlPgorICAgICAgICA8b3B0aW9uPkE8L29wdGlvbj4KKyAgICAgICAgPG9w
dGlvbj5CPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+Qzwvb3B0aW9uPgorICAgIDwvc2VsZWN0
PgorPC9mb3JtPgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtZHluYW1pYy1jaGlsZHJlbi1jaGFu
Z2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVj
dC1keW5hbWljLWNoaWxkcmVuLWNoYW5nZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5YWJiMmEyNmExMzcz
NjJhYzc4MDc0MmZiMGM2MzdkOTJkMTA2YzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtZHluYW1pYy1jaGlsZHJlbi1j
aGFuZ2UuaHRtbApAQCAtMCwwICsxLDUzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0icmVz
b3VyY2VzL3JlcGxhY2VkLWVsZW1lbnQtc3R5bGVzLmNzcyI+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvcG9seWZpbGwuanMiPjwvc2NyaXB0PgorCis8cD5XaGVuIGNo
aWxkcmVuIGFyZSBkeW5hbWljYWxseSBjaGFuZ2VkLCB0aGUgYXBwZWFyYW5jZSBzaG91bGQgYWxz
byBiZSBjaGFuZ2VkLjwvcD4KKworPGZvcm0+CisgICAgPHNlbGVjdCBpZD0iaG9zdDEiIGNsYXNz
PSJyZXNldC1mb3Itc2hhZG93Ij4KKyAgICAgICAgPG9wdGlvbj5BPC9vcHRpb24+CisgICAgICAg
IDxvcHRpb24+Qjwvb3B0aW9uPgorICAgIDwvc2VsZWN0PgorCisgICAgPHNlbGVjdCBpZD0iaG9z
dDIiIHNpemU9IjMiIGNsYXNzPSJyZXNldC1mb3Itc2hhZG93Ij4KKyAgICAgICAgPG9wdGlvbj5B
PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+Qjwvb3B0aW9uPgorICAgIDwvc2VsZWN0PgorCisg
ICAgPHNlbGVjdCBpZD0iaG9zdDMiIG11bHRpcGxlIGNsYXNzPSJyZXNldC1mb3Itc2hhZG93Ij4K
KyAgICAgICAgPG9wdGlvbj5BPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+Qjwvb3B0aW9uPgor
ICAgIDwvc2VsZWN0PgorPC9mb3JtPgorCis8c2NyaXB0PgorZnVuY3Rpb24gYWRkU2hhZG93Um9v
dChob3N0KQoreworICAgIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9z
dCk7CisgICAgdmFyIHNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NoYWRvdycpOwor
ICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoc2hhZG93KTsKK30KKworZnVuY3Rpb24gY3JlYXRl
T3B0aW9uV2l0aCh0ZXh0KQoreworICAgIHZhciBvcHRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdvcHRpb24nKTsKKyAgICBvcHRpb24uYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4
dE5vZGUodGV4dCkpOworCisgICAgcmV0dXJuIG9wdGlvbjsKK30KKworYWRkU2hhZG93Um9vdCho
b3N0MSk7CithZGRTaGFkb3dSb290KGhvc3QyKTsKK2FkZFNoYWRvd1Jvb3QoaG9zdDMpOworCito
b3N0MS5hcHBlbmRDaGlsZChjcmVhdGVPcHRpb25XaXRoKCdDJykpOworaG9zdDIuYXBwZW5kQ2hp
bGQoY3JlYXRlT3B0aW9uV2l0aCgnQycpKTsKK2hvc3QzLmFwcGVuZENoaWxkKGNyZWF0ZU9wdGlv
bldpdGgoJ0MnKSk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1vbmx5LXNoYWRv
dy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3Itc2VsZWN0LW9ubHktc2hhZG93LWV4cGVjdGVkLmh0bWwKaW5kZXggODZiNWI1MDRjNDg0ODMw
MzdmMWJmOTgxZjNmMzZhY2E0Mjg0NzI2Yy4uMGFkNDdjZmFhZTczNzNkZTRmMGY4YjEwZmU4OWJm
NDdiOTRiZmVkMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
d2RvbS1mb3Itc2VsZWN0LW9ubHktc2hhZG93LWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LW9ubHktc2hhZG93LWV4cGVj
dGVkLmh0bWwKQEAgLTEsMTIgKzEsMjggQEAKIDwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9k
eT4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcG9seWZpbGwuanMiPjwvc2NyaXB0PgogCiA8cD5X
aGVuIHRoZSBBdXRob3JTaGFkb3dET00gaGFzIG9ubHkgYSBzaGFkb3cgZWxlbWVudCwgdGhpcyBz
aG91bGQgYmUgcmVuZGVyZWQgbGlrZSBubyBTaGFkb3cgRE9NIGlzIGFkZGVkLjwvcD4KIDxmb3Jt
PgotICAgIDxzZWxlY3QgaWQ9Imhvc3QiPgorICAgIDxzZWxlY3QgaWQ9Imhvc3QxIj4KICAgICAg
ICAgPG9wdGlvbiBkaXNhYmxlZD5QbGVhc2Ugc2VsZWN0PC9vcHRpb24+CiAgICAgICAgIDxvcHRn
cm91cCBsYWJlbD0iUmFuayAxIj48L29wdGdyb3VwPgotICAgICAgICA8b3B0aW9uIHZhbHVlPSJo
b2dlIiBzZWxlY3RlZD5ob2dlPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24gdmFsdWU9ImhvZ2Ui
IHNlbGVjdGVkPmZvbyBiYXI8L29wdGlvbj4KKyAgICA8L3NlbGVjdD4KKworICAgIDxzZWxlY3Qg
aWQ9Imhvc3QyIiBzaXplPSIxIj4KKyAgICAgICAgPG9wdGlvbiBkaXNhYmxlZD5QbGVhc2Ugc2Vs
ZWN0PC9vcHRpb24+CisgICAgICAgIDxvcHRncm91cCBsYWJlbD0iUmFuayAxIj48L29wdGdyb3Vw
PgorICAgICAgICA8b3B0aW9uIHZhbHVlPSJob2dlIiBzZWxlY3RlZD5mb28gYmFyPC9vcHRpb24+
CisgICAgPC9zZWxlY3Q+CisKKyAgICA8c2VsZWN0IGlkPSJob3N0MyIgbXVsdGlwbGU+CisgICAg
ICAgIDxvcHRpb24gZGlzYWJsZWQ+UGxlYXNlIHNlbGVjdDwvb3B0aW9uPgorICAgICAgICA8b3B0
Z3JvdXAgbGFiZWw9IlJhbmsgMSI+PC9vcHRncm91cD4KKyAgICAgICAgPG9wdGlvbiB2YWx1ZT0i
aG9nZSIgc2VsZWN0ZWQ+Zm9vIGJhcjwvb3B0aW9uPgogICAgIDwvc2VsZWN0PgotICAgIDxpbnB1
dCBpZD0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTdWJtaXQiPgogPC9mb3JtPgorPC9i
b2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93ZG9tLWZvci1zZWxlY3Qtb25seS1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1vbmx5LXNoYWRvdy5odG1sCmluZGV4IDNk
YmJhYzFmYjNhMTQxMjRkM2JmYmMwZjVjN2RkZDc1YWUxY2ZhYzYuLmMwYTdkMGYxOTU1MmRjNjFm
NzA0MTU3YmE5N2I2NTMzZDI0YjVmMzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1vbmx5LXNoYWRvdy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC1vbmx5LXNoYWRvdy5o
dG1sCkBAIC0xLDE4ICsxLDQzIEBACiA8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cisg
ICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0icmVzb3VyY2Vz
L3JlcGxhY2VkLWVsZW1lbnQtc3R5bGVzLmNzcyI+Cis8L2hlYWQ+Cis8Ym9keT4KIDxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvcG9seWZpbGwuanMiPjwvc2NyaXB0PgogCiA8cD5XaGVuIHRoZSBBdXRo
b3JTaGFkb3dET00gaGFzIG9ubHkgYSBzaGFkb3cgZWxlbWVudCwgdGhpcyBzaG91bGQgYmUgcmVu
ZGVyZWQgbGlrZSBubyBTaGFkb3cgRE9NIGlzIGFkZGVkLjwvcD4KIDxmb3JtPgotICAgIDxzZWxl
Y3QgaWQ9Imhvc3QiPgorICAgIDxzZWxlY3QgaWQ9Imhvc3QxIiBjbGFzcz0icmVzZXQtZm9yLXNo
YWRvdyI+CiAgICAgICAgIDxvcHRpb24gZGlzYWJsZWQ+UGxlYXNlIHNlbGVjdDwvb3B0aW9uPgog
ICAgICAgICA8b3B0Z3JvdXAgbGFiZWw9IlJhbmsgMSI+PC9vcHRncm91cD4KLSAgICAgICAgPG9w
dGlvbiB2YWx1ZT0iaG9nZSIgc2VsZWN0ZWQ+aG9nZTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9u
IHZhbHVlPSJob2dlIiBzZWxlY3RlZD5mb28gYmFyPC9vcHRpb24+CisgICAgPC9zZWxlY3Q+CisK
KyAgICA8c2VsZWN0IGlkPSJob3N0MiIgc2l6ZT0iMSIgY2xhc3M9InJlc2V0LWZvci1zaGFkb3ci
PgorICAgICAgICA8b3B0aW9uIGRpc2FibGVkPlBsZWFzZSBzZWxlY3Q8L29wdGlvbj4KKyAgICAg
ICAgPG9wdGdyb3VwIGxhYmVsPSJSYW5rIDEiPjwvb3B0Z3JvdXA+CisgICAgICAgIDxvcHRpb24g
dmFsdWU9ImhvZ2UiIHNlbGVjdGVkPmZvbyBiYXI8L29wdGlvbj4KKyAgICA8L3NlbGVjdD4KKwor
ICAgIDxzZWxlY3QgaWQ9Imhvc3QzIiBtdWx0aXBsZSBjbGFzcz0icmVzZXQtZm9yLXNoYWRvdyI+
CisgICAgICAgIDxvcHRpb24gZGlzYWJsZWQ+UGxlYXNlIHNlbGVjdDwvb3B0aW9uPgorICAgICAg
ICA8b3B0Z3JvdXAgbGFiZWw9IlJhbmsgMSI+PC9vcHRncm91cD4KKyAgICAgICAgPG9wdGlvbiB2
YWx1ZT0iaG9nZSIgc2VsZWN0ZWQ+Zm9vIGJhcjwvb3B0aW9uPgogICAgIDwvc2VsZWN0PgotICAg
IDxpbnB1dCBpZD0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTdWJtaXQiPgogPC9mb3Jt
PgogCiA8c2NyaXB0PgotdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcp
OwotdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKLXNoYWRvd1Jv
b3QuaW5uZXJIVE1MID0gIjxzaGFkb3c+PC9zaGFkb3c+IgorZnVuY3Rpb24gYWRkU2hhZG93RE9N
KGhvc3QpCit7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0
KTsKKyAgICB2YXIgc2hhZG93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2hhZG93Jyk7Cisg
ICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChzaGFkb3cpOworfQorCithZGRTaGFkb3dET00oaG9z
dDEpOworYWRkU2hhZG93RE9NKGhvc3QyKTsKK2FkZFNoYWRvd0RPTShob3N0Myk7CiA8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13aXRoLW9wdGlvbnMtZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13aXRoLW9wdGlv
bnMtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZDQ1NTdkMTRlYjgxY2VmYjJiOWVmYTJkYzRm
MWFjMDk2ZDY0Mjk4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGgtb3B0aW9ucy1leHBlY3RlZC5odG1sCkBAIC0w
LDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKworPHA+T3B0aW9u
IGVsZW1lbnRzIGluIFNoYWRvdyBET00gbXVzdCBiZSBpZ25vcmVkLjwvcD4KKworPHNlbGVjdCBp
ZD0iaG9zdDEiPgorICAgIDxvcHRpb24+QTwvb3B0aW9uPgorICAgIDxvcHRpb24+Qjwvb3B0aW9u
PgorICAgIDxvcHRpb24+Qzwvb3B0aW9uPgorPC9zZWxlY3Q+CisKKzxzZWxlY3QgaWQ9Imhvc3Qy
IiBtdWx0aXBsZT4KKyAgICA8b3B0aW9uPkE8L29wdGlvbj4KKyAgICA8b3B0aW9uPkI8L29wdGlv
bj4KKyAgICA8b3B0aW9uPkM8L29wdGlvbj4KKzwvc2VsZWN0PgorCis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1z
ZWxlY3Qtd2l0aC1vcHRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci1zZWxlY3Qtd2l0aC1vcHRpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTk2ZjVhMmRl
ZGM4M2Y0ZTE5MDczNjA0NzFjYWRiMDEwOGU0MWJkYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13aXRoLW9wdGlvbnMu
aHRtbApAQCAtMCwwICsxLDQxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cisg
ICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0icmVzb3VyY2Vz
L3JlcGxhY2VkLWVsZW1lbnQtc3R5bGVzLmNzcyI+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvcG9seWZpbGxsLmpzIj48L3NjcmlwdD4KKworPHA+T3B0aW9uIGVsZW1l
bnRzIGluIFNoYWRvdyBET00gbXVzdCBiZSBpZ25vcmVkLjwvcD4KKworPHNlbGVjdCBpZD0iaG9z
dDEiIGNsYXNzPSJyZXNldC1mb3Itc2hhZG93Ij4KKyAgICA8b3B0aW9uPkE8L29wdGlvbj4KKyAg
ICA8b3B0aW9uPkI8L29wdGlvbj4KKyAgICA8b3B0aW9uPkM8L29wdGlvbj4KKzwvc2VsZWN0Pgor
Cis8c2VsZWN0IGlkPSJob3N0MiIgY2xhc3M9InJlc2V0LWZvci1zaGFkb3ciIG11bHRpcGxlPgor
ICAgIDxvcHRpb24+QTwvb3B0aW9uPgorICAgIDxvcHRpb24+Qjwvb3B0aW9uPgorICAgIDxvcHRp
b24+Qzwvb3B0aW9uPgorPC9zZWxlY3Q+CisKKzxzY3JpcHQ+CitmdW5jdGlvbiBhZGRTaGFkb3dE
T00oaG9zdCwgb3B0aW9uVGV4dCkKK3sKKyAgICB2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRT
aGFkb3dSb290KGhvc3QpOworCisgICAgdmFyIG9wdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ29wdGlvbicpOworICAgIG9wdGlvbi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0
Tm9kZShvcHRpb25UZXh0KSk7CisKKyAgICB2YXIgc2hhZG93ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnc2hhZG93Jyk7CisKKyAgICBzaGFkb3dSb290LmFwcGVuZENoaWxkKG9wdGlvbik7ICAg
IAorICAgIHNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoc2hhZG93KTsKK30KKworYWRkU2hhZG93RE9N
KGhvc3QxLCAnRCcpOworYWRkU2hhZG93RE9NKGhvc3QyLCAnRCcpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci1zZWxlY3Qtd2l0aC1zdHlsZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGgtc3R5bGUtZXhwZWN0ZWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NTk1MThhMmNlMzVhZDllZWIyNmY5Nzg0YzYwZjljYzMzMWJmZTJk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3Itc2VsZWN0LXdpdGgtc3R5bGUtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDMyIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0icmVzb3VyY2VzL3JlcGxhY2VkLWVsZW1lbnQtc3R5bGVz
LmNzcyI+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcG9seWZpbGwu
anMiPjwvc2NyaXB0PgorCis8Zm9ybT4KKyAgICA8ZGl2IGNsYXNzPSJzZWxlY3QtbGlrZSIgc3R5
bGU9Im1hcmdpbjogMTJweDsiPjxzZWxlY3QgY2xhc3M9InJlc2V0LWZvci1pbm5lciI+CisgICAg
ICAgIDxvcHRpb24+QXp1c2EgTWl1cmE8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5DaGloYXlh
IEtpc2FyYWdpPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+TWFrb3RvIEtpa3VjaGk8L29wdGlv
bj4KKyAgICA8L3NlbGVjdD5hZnRlcjwvZGl2PgorCisgICAgPGRpdiBjbGFzcz0ic2VsZWN0LWxp
a2UiIHN0eWxlPSJtYXJnaW46IDEycHg7Ij48c2VsZWN0IHNpemU9IjMiIGNsYXNzPSJyZXNldC1m
b3ItaW5uZXIiPgorICAgICAgICA8b3B0aW9uPll1a2lobyBIYWdpd2FyYTwvb3B0aW9uPgorICAg
ICAgICA8b3B0aW9uPllheW9pIFRha2F0c3VraTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPk1h
bWkgRnV0YW1pPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+QW1pIEZ1dGFtaTwvb3B0aW9uPgor
ICAgIDwvc2VsZWN0PmFmdGVyPC9kaXY+CisKKyAgICA8ZGl2IGNsYXNzPSJzZWxlY3QtbGlrZSIg
c3R5bGU9Im1hcmdpbjogMTJweDsiPjxzZWxlY3QgbXVsdGlwbGUgY2xhc3M9InJlc2V0LWZvci1p
bm5lciI+CisgICAgICAgIDxvcHRpb24+S290b3JpIE90b25hc2hpPC9vcHRpb24+CisgICAgICAg
IDxvcHRpb24+SGFydWthIEFtYW1pPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+TWlraSBIb3No
aWk8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5SaXRzdWtvIEFraXp1a2k8L29wdGlvbj4KKyAg
ICAgICAgPG9wdGlvbj5Jb3JpIE1pbmFzZTwvb3B0aW9uPgorICAgIDwvc2VsZWN0PmFmdGVyPC9k
aXY+Cis8L2Zvcm0+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aC1zdHlsZS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdpdGgtc3R5bGUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43NDhiMjlkODk5ZDU4YjJkZDM4MjM2MGMwMTBkMTVmZmExODdiZmI1
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2Rv
bS1mb3Itc2VsZWN0LXdpdGgtc3R5bGUuaHRtbApAQCAtMCwwICsxLDUyIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0
ZXh0L2NzcyIgaHJlZj0icmVzb3VyY2VzL3JlcGxhY2VkLWVsZW1lbnQtc3R5bGVzLmNzcyI+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcG9seWZpbGwuanMiPjwvc2Ny
aXB0PgorCis8Zm9ybT4KKyAgICA8c2VsZWN0IGlkPSJob3N0MSIgY2xhc3M9InJlc2V0LWZvci1z
aGFkb3ciPgorICAgICAgICA8b3B0aW9uPkF6dXNhIE1pdXJhPC9vcHRpb24+CisgICAgICAgIDxv
cHRpb24+Q2hpaGF5YSBLaXNhcmFnaTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPk1ha290byBL
aWt1Y2hpPC9vcHRpb24+CisgICAgPC9zZWxlY3Q+CisKKyAgICA8c2VsZWN0IGlkPSJob3N0MiIg
c2l6ZT0iMyIgY2xhc3M9InJlc2V0LWZvci1zaGFkb3ciPgorICAgICAgICA8b3B0aW9uPll1a2lo
byBIYWdpd2FyYTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPllheW9pIFRha2F0c3VraTwvb3B0
aW9uPgorICAgICAgICA8b3B0aW9uPk1hbWkgRnV0YW1pPC9vcHRpb24+CisgICAgICAgIDxvcHRp
b24+QW1pIEZ1dGFtaTwvb3B0aW9uPgorICAgIDwvc2VsZWN0PgorCisgICAgPHNlbGVjdCBpZD0i
aG9zdDMiIG11bHRpcGxlIGNsYXNzPSJyZXNldC1mb3Itc2hhZG93Ij4KKyAgICAgICAgPG9wdGlv
bj5Lb3RvcmkgT3RvbmFzaGk8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5IYXJ1a2EgQW1hbWk8
L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5NaWtpIEhvc2hpaTwvb3B0aW9uPgorICAgICAgICA8
b3B0aW9uPlJpdHN1a28gQWtpenVraTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPklvcmkgTWlu
YXNlPC9vcHRpb24+CisgICAgPC9zZWxlY3Q+Cis8L2Zvcm0+CisKKzxzY3JpcHQ+CitmdW5jdGlv
biBhZGRTaGFkb3dSb290KGhvc3QpCit7CisgICAgdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdChob3N0KTsKKworICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdkaXYnKTsKKyAgICBkaXYuc2V0QXR0cmlidXRlKCdzdHlsZScsICdtYXJnaW46IDEwcHgnKTsK
KworICAgIHZhciBzaGFkb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzaGFkb3cnKTsKKyAg
ICBkaXYuYXBwZW5kQ2hpbGQoc2hhZG93KTsKKyAgICBkaXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlVGV4dE5vZGUoJ2FmdGVyJykpOworCisgICAgc2hhZG93Um9vdC5hcHBlbmRDaGlsZChk
aXYpOworfQorCithZGRTaGFkb3dSb290KGhvc3QxKTsKK2FkZFNoYWRvd1Jvb3QoaG9zdDIpOwor
YWRkU2hhZG93Um9vdChob3N0Myk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13
aXRob3V0LXNoYWRvdy1jbGljay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3ctY2xpY2stZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjczMWYyZTMxNjgxZDZiMDU2ZWJjMzM4MDFlOGQyMzRiZGE2MzAwMzQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3ctY2xpY2stZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MyBAQAorQSBjcmFzaCBzaG91bGRuJ3Qgb2NjdXIgd2hlbiBjbGlja2luZyBhIHNlbGVjdCBlbGVt
ZW50IHdoaWNoIGhhcyBhIFNoYWRvdyBET00gYW5kIHRoZSBTaGFkb3cgRE9NIGRvZXMgbm90IGhh
dmUgYW55IEluc2VydGlvblBvaW50LgorCitQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3ctY2xpY2su
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3dkb20tZm9yLXNlbGVjdC13
aXRob3V0LXNoYWRvdy1jbGljay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA3ZDcyYmU1NDc5MWY2ZGJkMWQy
NGVlMjRlMmNmNGFjYTY3ODlkOGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3ctY2xpY2suaHRt
bApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPHNjcmlwdCBzcmM9
InJlc291cmNlcy9wb2x5ZmlsbC5qcyI+PC9zY3JpcHQ+CisKKzxzdHlsZT4KK3NlbGVjdCB7Cisg
ICAgd2lkdGg6IDEwMHB4OworICAgIGhlaWdodDogMTAwcHg7CisgICAgLXdlYmtpdC1hcHBlYXJh
bmNlOiBub25lOworfQorPC9zdHlsZT4KKworPHA+QSBjcmFzaCBzaG91bGRuJ3Qgb2NjdXIgd2hl
biBjbGlja2luZyBhIHNlbGVjdCBlbGVtZW50IHdoaWNoIGhhcyBhIFNoYWRvdyBET00gYW5kCit0
aGUgU2hhZG93IERPTSBkb2VzIG5vdCBoYXZlIGFueSBJbnNlcnRpb25Qb2ludC48L3A+CisKKzxk
aXYgaWQ9IndyYXBwZXIiPgorICAgIDxzZWxlY3QgaWQ9Imhvc3QxIj4KKyAgICAgICAgPG9wdGlv
bj5BPC9vcHRpb24+CisgICAgPC9zZWxlY3Q+CisKKyAgICA8c2VsZWN0IGlkPSJob3N0MiIgbXVs
dGlwbGU+CisgICAgICAgIDxvcHRpb24+Qjwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPkM8L29w
dGlvbj4KKyAgICA8L3NlbGVjdD4KKzwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCit2YXIgc2hhZG93Um9vdDEg
PSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0MSk7Cit2YXIgc2hhZG93Um9vdDIgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChob3N0Mik7CisKK2lmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICBl
dmVudFNlbmRlci5tb3VzZU1vdmVUbyhob3N0MS5vZmZzZXRMZWZ0ICsgaG9zdDEub2Zmc2V0V2lk
dGggLyAyLCBob3N0MS5vZmZzZXRUb3AgKyBob3N0MS5vZmZzZXRIZWlnaHQgLyAyKTsKKyAgICBl
dmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisKKyAg
ICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhob3N0Mi5vZmZzZXRMZWZ0ICsgaG9zdDIub2Zmc2V0
V2lkdGggLyAyLCBob3N0Mi5vZmZzZXRUb3AgKyBob3N0Mi5vZmZzZXRIZWlnaHQgLyAyKTsKKyAg
ICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisK
KyAgICB3cmFwcGVyLmlubmVySFRNTCA9ICJQQVNTIjsKK30KKzwvc2NyaXB0PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2Vs
ZWN0LXdpdGhvdXQtc2hhZG93LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3ctZXhwZWN0ZWQuaHRtbApp
bmRleCAxYjI1ODFmOWZjNmIxODJlZDc1M2MxYTY0NzMxYjU4ZGZkN2FjZGNmLi45OWRkYTY5Mzlh
OGRiY2M0YzI2OWIyODQ4NTc0NmEzMWM0ZDZhZDFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3ctZXhwZWN0
ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1z
ZWxlY3Qtd2l0aG91dC1zaGFkb3ctZXhwZWN0ZWQuaHRtbApAQCAtMSw4ICsxLDE0IEBACiA8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0
eXBlPSJ0ZXh0L2NzcyIgaHJlZj0icmVzb3VyY2VzL3JlcGxhY2VkLWVsZW1lbnQtc3R5bGVzLmNz
cyI+Cis8L2hlYWQ+Cis8Ym9keT4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcG9seWZpbGwuanMi
Pjwvc2NyaXB0PgogCiA8cD5XaGVuIHRoZSBBdXRob3JTaGFkb3dET00gZG9lcyBub3QgaGF2ZSBh
IFNoYWRvdyBET00sIHRoZSBjb250ZW50IHdvbid0IGJlIHJlbmRlcmVkLjwvcD4KIDxmb3JtPgot
ICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDEwMHB4OyBoZWln
aHQ6IDMwcHg7IG1hcmdpbiAwOyBwYWRkaW5nOiAwOyBib3JkZXI6IDAiPjwvZGl2PgotICAgIDxp
bnB1dCBpZD0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTdWJtaXQiPgorICAgIDxkaXYg
c3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDMwcHg7
IG1hcmdpbiAwOyBwYWRkaW5nOiAwOyBib3JkZXI6IDFweCBzb2xpZCBibGFjazsgYm94LXNpemlu
ZzogYm9yZGVyLWJveDsiPjwvZGl2PgogPC9mb3JtPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3Itc2VsZWN0LXdp
dGhvdXQtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3cuaHRtbAppbmRleCBhMWY0MDk1ZDY5YTQyYTQwYWVj
YTZmYzczZDc3OWFlODI1ZTY1OTI4Li41YTg5OWEwZjExMDRhNzMzY2IxZWMzN2MyNTczMzUxYmVh
NWY4ZjY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9t
LWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3Qtd2l0aG91dC1zaGFkb3cuaHRtbApAQCAtMSwx
NyArMSwyMiBAQAogPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InJlc291cmNlcy9yZXBsYWNlZC1l
bGVtZW50LXN0eWxlcy5jc3MiPgorPC9oZWFkPgorPGJvZHk+CiA8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL3BvbHlmaWxsLmpzIj48L3NjcmlwdD4KIAogPHA+V2hlbiB0aGUgQXV0aG9yU2hhZG93RE9N
IGRvZXMgbm90IGhhdmUgYSBTaGFkb3cgRE9NLCB0aGUgY29udGVudCB3b24ndCBiZSByZW5kZXJl
ZC48L3A+CiA8Zm9ybT4KLSAgICA8c2VsZWN0IGlkPSJob3N0IiBzdHlsZT0id2lkdGg6IDEwMHB4
OyBoZWlnaHQ6IDMwcHg7IG1hcmdpbiAwOyBwYWRkaW5nOiAwOyBib3JkZXI6IDAiPgorICAgIDxz
ZWxlY3QgaWQ9Imhvc3QiIGNsYXNzPSJyZXNldC1mb3Itc2hhZG93IiBzdHlsZT0id2lkdGg6IDEw
MHB4OyBoZWlnaHQ6IDMwcHg7IG1hcmdpbiAwOyBwYWRkaW5nOiAwOyBib3JkZXI6IDFweCBzb2xp
ZCBibGFjayI+CiAgICAgICAgIDxvcHRpb24gZGlzYWJsZWQ+UGxlYXNlIHNlbGVjdDwvb3B0aW9u
PgogICAgICAgICA8b3B0Z3JvdXAgbGFiZWw9IlJhbmsgMSI+PC9vcHRncm91cD4KICAgICAgICAg
PG9wdGlvbiB2YWx1ZT0iaG9nZSIgc2VsZWN0ZWQ+aG9nZTwvb3B0aW9uPgogICAgIDwvc2VsZWN0
PgotICAgIDxpbnB1dCBpZD0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTdWJtaXQiPgog
PC9mb3JtPgogCiA8c2NyaXB0PgotdmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
aG9zdCcpOwogdmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKIDwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMjBiNTZkZjIwZDJhZmMyNzhjOWZiMzQwZjJjNTE3
M2JjZjI0YTFlMC4uYjBiYTczMGIxNjhlZGYyYmQyYzUzNTk0NzVhZjA0NzI0ZjQ0ZmQ3MSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC0z
MjM4LDggKzMyMzgsNiBAQCBCVUdXSzkwODYwIDogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1m
b3Itb2JqZWN0LW9ubHktc2hhZG93Lmh0bWwgPSBJTUFHRQogQlVHV0s5MDg2MCA6IGZhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLW9iamVjdC13aXRob3V0LXNoYWRvdy5odG1sID0gSU1BR0UK
IEJVR1dLOTE0ODUgOiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci10ZXh0YXJlYS1jb21w
bGV4LXNoYWRvdy5odG1sID0gSU1BR0UKIEJVR1dLOTE0ODUgOiBmYXN0L2RvbS9zaGFkb3cvc2hh
ZG93ZG9tLWZvci10ZXh0YXJlYS13aXRob3V0LXNoYWRvdy5odG1sID0gSU1BR0UKLUJVR1dLOTE0
ODcgOiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1zZWxlY3QtY29tcGxleC1zaGFkb3cu
aHRtbCA9IElNQUdFCi1CVUdXSzkxNDg3IDogZmFzdC9kb20vc2hhZG93L3NoYWRvd2RvbS1mb3It
c2VsZWN0LXdpdGhvdXQtc2hhZG93Lmh0bWwgPSBJTUFHRQogQlVHV0s5MTQ4OCA6IGZhc3QvZG9t
L3NoYWRvdy9zaGFkb3dkb20tZm9yLW91dHB1dC1vbmx5LXNoYWRvdy5odG1sID0gSU1BR0UKIEJV
R1dLOTE0ODkgOiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93ZG9tLWZvci1maWVsZHNldC1jb21wbGV4
LXNoYWRvdy5odG1sID0gSU1BR0UKIEJVR1dLOTE0ODkgOiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93
ZG9tLWZvci1maWVsZHNldC1vbmx5LXNoYWRvdy5odG1sID0gSU1BR0UK
</data>
<flag name="review"
          id="170852"
          type_id="1"
          status="-"
          setter="dglazkov"
    />
          </attachment>
      

    </bug>

</bugzilla>