<?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>98255</bug_id>
          
          <creation_ts>2012-10-03 05:29:21 -0700</creation_ts>
          <short_desc>Web Inspector: remember the last dock option so that user could toggle between dock to bottom and right</short_desc>
          <delta_ts>2012-10-03 07:47:00 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>733588</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-10-03 05:29:21 -0700</bug_when>
    <thetext>Otherwise, undock is always the default option for docked states.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733598</commentid>
    <comment_count>1</comment_count>
      <attachid>166870</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-10-03 05:43:05 -0700</bug_when>
    <thetext>Created attachment 166870
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733691</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-10-03 07:47:00 -0700</bug_when>
    <thetext>Committed r130288: &lt;http://trac.webkit.org/changeset/130288&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166870</attachid>
            <date>2012-10-03 05:43:05 -0700</date>
            <delta_ts>2012-10-03 06:24:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98255-20121003164216.patch</filename>
            <type>text/plain</type>
            <size>32966</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGFmM2E0MTMzODlmZmM1
Y2RhZGE0ZmRkNDkyMmFiMWIwOWM5MDY3Zi4uNTgyYjFjYjAwOTUyNzJmMDk2MmJmM2VlZDdmZjhk
ZTdjZWMyYmRkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDEyLTEwLTAzICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IHJlbWVtYmVyIHRoZSBsYXN0IGRvY2sgb3B0aW9uIHNvIHRoYXQgdXNlciBjb3VsZCB0b2dn
bGUgYmV0d2VlbiBkb2NrIHRvIGJvdHRvbSBhbmQgcmlnaHQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MjU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBJbnRyb2R1Y2VkIERvY2tDb250cm9sbGVyLmpz
IHRoYXQgY292ZXJzIHRoZSBkb2NrIG1lY2hhbmljcworICAgICAgICAtIFJlbW92ZWQgZG9jayBv
cmllbnRhdGlvbiBmcm9tIHRoZSBzZXR0aW5ncworICAgICAgICAtIFN0b3JpbmcgdGhlIGxhc3Qg
ZG9jayBvcHRpb24gdG8gcHJlc2VudCBpdCBhcyBkZWZhdWx0CisgICAgICAgIC0gU2ltcGxpZmll
ZCB0aGUgbXVsdGktb3B0aW9uIHN0YXR1cyBiYXIgYnV0dG9uCisKKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAg
ICogaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5OgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvRG9ja0NvbnRyb2xsZXIuanM6IEFkZGVkLgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkRvY2tDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Eb2NrQ29udHJvbGxlci5w
cm90b3R5cGUuZ2V0IGVsZW1lbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRvY2tDb250cm9s
bGVyLnByb3RvdHlwZS5zZXREb2NrZWQuc2V0IGlmKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5E
b2NrQ29udHJvbGxlci5wcm90b3R5cGUuc2V0RG9ja2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5Eb2NrQ29udHJvbGxlci5wcm90b3R5cGUuc2V0RG9ja2luZ1VuYXZhaWxhYmxlKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5Eb2NrQ29udHJvbGxlci5wcm90b3R5cGUuX3VwZGF0ZVVJLmdldCBz
dGF0ZXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyLnByb3RvdHlwZS5f
dXBkYXRlVUkpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyLnByb3RvdHlw
ZS5fZGVjb3JhdGVCdXR0b25Gb3JUYXJnZXRTdGF0ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RG9ja0NvbnRyb2xsZXIucHJvdG90eXBlLl9jcmVhdGVEb2NrT3B0aW9ucyk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xsZXIucHJvdG90eXBlLl90b2dnbGVEb2NrU3RhdGUpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyLnByb3RvdHlwZS5pc0NvbXBhY3RN
b2RlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Eb2NrQ29udHJvbGxlci5wcm90b3R5cGUuc2V0
Q29tcGFjdE1vZGUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJv
bnRlbmRBUEkuanM6CisgICAgICAgIChJbnNwZWN0b3JGcm9udGVuZEFQSS5zZXRBdHRhY2hlZFdp
bmRvdyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhv
c3RTdHViLmpzOgorICAgICAgICAoLldlYkluc3BlY3Rvci5JbnNwZWN0b3JGcm9udGVuZEhvc3RT
dHViLnByb3RvdHlwZS5yZXF1ZXN0QXR0YWNoV2luZG93KToKKyAgICAgICAgKC5XZWJJbnNwZWN0
b3IuSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5wcm90b3R5cGUucmVxdWVzdERldGFjaFdpbmRv
dyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qczoKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzU2NyZWVuLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkdlbmVyaWNTZXR0aW5nc1RhYik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9TdGF0dXNCYXJCdXR0b24uanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQnV0
dG9uKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Rvb2xiYXIuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuVG9vbGJhcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVG9vbGJhci5w
cm90b3R5cGUuc2V0Q29tcGFjdE1vZGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRvb2xiYXIu
cHJvdG90eXBlLl90b29sYmFyRHJhZ1N0YXJ0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Ub29s
YmFyLnByb3RvdHlwZS5fdG9vbGJhckRyYWcpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvV2ViS2l0LnFyYzoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2V4dGVybnMuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IudG9nZ2xlU2VhcmNoaW5nRm9yTm9kZSk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzOgorICAgICAgICAoYm9keS51bmRv
Y2tlZC5wbGF0Zm9ybS1tYWMtc25vd2xlb3BhcmQgI3Rvb2xiYXIpOgorICAgICAgICAoYm9keS51
bmRvY2tlZC5wbGF0Zm9ybS1tYWMtc25vd2xlb3BhcmQgI3Rvb2xiYXItZHJvcGRvd24pOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWw6CisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuX2Ny
ZWF0ZUdsb2JhbFN0YXR1c0Jhckl0ZW1zKToKKyAgICAgICAgKHdpbmRvd0xvYWRlZCk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3Iuc2V0RG9ja2luZ1VuYXZhaWxhYmxlKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL2luc3BlY3RvckNvbW1vbi5jc3M6CisgICAgICAgIChib2R5LmRvY2st
dG8tcmlnaHQ6bm90KC51bmRvY2tlZCkpOgorICAgICAgICAoYm9keS5kb2NrLXRvLXJpZ2h0Lmlu
YWN0aXZlOm5vdCgudW5kb2NrZWQpKToKKwogMjAxMi0xMC0wMiAgU3RlcGhlbiBDaGVubmV5ICA8
c2NoZW5uZXlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlZmFjdG9yIFdlYkNvcmU6OkZvbnRE
YXRhIGhhbmRsaW5nIHRvIGNsYXJpZnkgcG9pbnRlciBvd25lcnNoaXAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpp
bmRleCBhMTI3MTYyYjA4ODhkZjhkNGRmYTM4ODBhMzc0MjE1ZTZiMWUxMWUwLi4xNjBjMDJkOGI2
N2E4MjAyMzZiNWE0NDExN2E4OTg3NWU0YWI1YWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC02MzQ3
LDYgKzYzNDcsNyBAQAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRE9NUHJlc2Vu
dGF0aW9uVXRpbHMuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRE9NU3Rv
cmFnZS5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9ET01TeW50YXhIaWdo
bGlnaHRlci5qcycsCisgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9Eb2NrQ29udHJv
bGxlci5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9EcmF3ZXIuanMnLAog
ICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbERlc2NyaXB0b3Iu
anMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNUcmVlT3V0bGlu
ZS5qcycsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmlu
ZGV4IDdhNzU3NWE4ODkzNzExYzAwYjA4ZTIzYzA0YjE2MjExMjMzMDIxYjEuLjBhZmVmZTE0MWQy
ZDQ5ODQ5ZGQ0NTY2NWJhZTQxZDlkOGQxYTJlYzEgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC03NjI2Miw2ICs3NjI2MiwxMCBAQAogCQkJCQk+
CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9y
XGZyb250LWVuZFxEb2NrQ29udHJvbGxlci5qcyIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8
RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcRHJhd2VyLmpz
IgogCQkJCQk+CiAJCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBp
bGUtZnJvbnQtZW5kLnB5CmluZGV4IDNlNGRlMTFkMWNjZjBmYmEzNjgzNTMzM2Q0MzVlNDJmYTUw
NGUwY2MuLmE3YjQyZjEyZTVmZWFhYTJkZmNmMzgwNTBmZTIyMGY2ODI1MTgwYTIgMTAwNzU1Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5weQorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHkKQEAgLTM0MCw5ICsz
NDAsMTcgQEAgbW9kdWxlcyA9IFsKICAgICAgICAgIm5hbWUiOiAiaG9zdF9zdHViIiwKICAgICAg
ICAgImRlcGVuZGVuY2llcyI6IFsidWkiXSwKICAgICAgICAgInNvdXJjZXMiOiBbCisgICAgICAg
ICAgICAiSW5zcGVjdG9yRnJvbnRlbmRBUEkuanMiLAogICAgICAgICAgICAgIkluc3BlY3RvckZy
b250ZW5kSG9zdFN0dWIuanMiLAogICAgICAgICBdCiAgICAgfSwKKyAgICB7CisgICAgICAgICJu
YW1lIjogImluc3BlY3RvciIsCisgICAgICAgICJkZXBlbmRlbmNpZXMiOiBbImNvbXBvbmVudHMi
XSwKKyAgICAgICAgInNvdXJjZXMiOiBbCisgICAgICAgICAgICAiRG9ja0NvbnRyb2xsZXIuanMi
LAorICAgICAgICBdCisgICAgfSwKIF0KIAogbW9kdWxlc19ieV9uYW1lID0ge30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRG9ja0NvbnRyb2xsZXIuanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RvY2tDb250cm9sbGVyLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmNhNTBjOTA1MmYwODNlYTFiNjEyOTY1NGNlNWM5Njc1YzJjOGZiMDcKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RvY2tDb250
cm9sbGVyLmpzCkBAIC0wLDAgKzEsMjA0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLyoqCisgKiBAY29uc3RydWN0b3IKKyAqLworV2Vi
SW5zcGVjdG9yLkRvY2tDb250cm9sbGVyID0gZnVuY3Rpb24oKQoreworICAgIHRoaXMuX2RvY2tU
b2dnbGVCdXR0b24gPSBuZXcgV2ViSW5zcGVjdG9yLlN0YXR1c0JhckJ1dHRvbigiIiwgImRvY2st
c3RhdHVzLWJhci1pdGVtIiwgMyk7CisgICAgdGhpcy5fZG9ja1RvZ2dsZUJ1dHRvbk9wdGlvbiA9
IG5ldyBXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQnV0dG9uKCIiLCAiZG9jay1zdGF0dXMtYmFyLWl0
ZW0iLCAzKTsKKyAgICB0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgdGhpcy5fdG9nZ2xlRG9ja1N0YXRlLCB0aGlzKTsKKyAgICB0aGlzLl9kb2NrVG9nZ2xl
QnV0dG9uT3B0aW9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fdG9nZ2xlRG9ja1N0
YXRlLCB0aGlzKTsKKyAgICBpZiAoUHJlZmVyZW5jZXMuc2hvd0RvY2tUb1JpZ2h0KQorICAgICAg
ICB0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uLm1ha2VMb25nQ2xpY2tFbmFibGVkKHRoaXMuX2NyZWF0
ZURvY2tPcHRpb25zLmJpbmQodGhpcykpOworCisgICAgdGhpcy5fZG9ja1NpZGUgPSBXZWJJbnNw
ZWN0b3IucXVlcnlQYXJhbXNPYmplY3RbImRvY2tTaWRlIl07CisgICAgdGhpcy5zZXREb2NrZWQo
V2ViSW5zcGVjdG9yLnF1ZXJ5UGFyYW1zT2JqZWN0WyJkb2NrZWQiXSA9PT0gInRydWUiKTsKK30K
KworV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyLlN0YXRlID0geworICAgIERvY2tlZFRvQm90
dG9tOiAiYm90dG9tIiwKKyAgICBEb2NrZWRUb1JpZ2h0OiAicmlnaHQiLAorICAgIFVuZG9ja2Vk
OiAidW5kb2NrZWQiCit9CisKK1dlYkluc3BlY3Rvci5Eb2NrQ29udHJvbGxlci5wcm90b3R5cGUg
PSB7CisgICAgLyoqCisgICAgICogQHJldHVybiB7RWxlbWVudH0KKyAgICAgKi8KKyAgICBnZXQg
ZWxlbWVudCgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fZG9ja1RvZ2dsZUJ1dHRvbi5l
bGVtZW50OworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGRvY2tl
ZAorICAgICAqLworICAgIHNldERvY2tlZDogZnVuY3Rpb24oZG9ja2VkKQorICAgIHsKKyAgICAg
ICAgaWYgKHRoaXMuX3N0YXRlKQorICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLmxh
c3REb2NrU3RhdGUuc2V0KHRoaXMuX3N0YXRlKTsKKyAgICAgICAgaWYgKCFkb2NrZWQpIHsKKyAg
ICAgICAgICAgIHRoaXMuX3N0YXRlID0gV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyLlN0YXRl
LlVuZG9ja2VkOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnVzZXJNZXRyaWNzLldpbmRvd0Rv
Y2tlZC5yZWNvcmQoKTsKKyAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9kb2NrU2lkZSA9PT0gInJp
Z2h0IikgeworICAgICAgICAgICAgdGhpcy5fc3RhdGUgPSBXZWJJbnNwZWN0b3IuRG9ja0NvbnRy
b2xsZXIuU3RhdGUuRG9ja2VkVG9SaWdodDsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci51c2Vy
TWV0cmljcy5XaW5kb3dVbmRvY2tlZC5yZWNvcmQoKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgIHRoaXMuX3N0YXRlID0gV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyLlN0YXRlLkRv
Y2tlZFRvQm90dG9tOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnVzZXJNZXRyaWNzLldpbmRv
d1VuZG9ja2VkLnJlY29yZCgpOworICAgICAgICB9CisgICAgICAgIHRoaXMuX3VwZGF0ZVVJKCk7
CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gdW5hdmFpbGFibGUK
KyAgICAgKi8KKyAgICBzZXREb2NraW5nVW5hdmFpbGFibGU6IGZ1bmN0aW9uKHVuYXZhaWxhYmxl
KQorICAgIHsKKyAgICAgICAgdGhpcy5faXNEb2NraW5nVW5hdmFpbGFibGUgPSB1bmF2YWlsYWJs
ZTsKKyAgICAgICAgdGhpcy5fdXBkYXRlVUkoKTsKKyAgICB9LAorCisgICAgX3VwZGF0ZVVJOiBm
dW5jdGlvbigpCisgICAgeworICAgICAgICB2YXIgYm9keSA9IGRvY3VtZW50LmJvZHk7CisgICAg
ICAgIHN3aXRjaCAodGhpcy5fc3RhdGUpIHsKKyAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuRG9j
a0NvbnRyb2xsZXIuU3RhdGUuRG9ja2VkVG9Cb3R0b206CisgICAgICAgICAgICBib2R5LnJlbW92
ZVN0eWxlQ2xhc3MoInVuZG9ja2VkIik7CisgICAgICAgICAgICBib2R5LnJlbW92ZVN0eWxlQ2xh
c3MoImRvY2stdG8tcmlnaHQiKTsKKyAgICAgICAgICAgIHRoaXMuc2V0Q29tcGFjdE1vZGUodHJ1
ZSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuRG9ja0Nv
bnRyb2xsZXIuU3RhdGUuRG9ja2VkVG9SaWdodDogCisgICAgICAgICAgICBib2R5LnJlbW92ZVN0
eWxlQ2xhc3MoInVuZG9ja2VkIik7CisgICAgICAgICAgICBib2R5LmFkZFN0eWxlQ2xhc3MoImRv
Y2stdG8tcmlnaHQiKTsKKyAgICAgICAgICAgIHRoaXMuc2V0Q29tcGFjdE1vZGUoZmFsc2UpOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLkRvY2tDb250cm9s
bGVyLlN0YXRlLlVuZG9ja2VkOiAKKyAgICAgICAgICAgIGJvZHkuYWRkU3R5bGVDbGFzcygidW5k
b2NrZWQiKTsKKyAgICAgICAgICAgIGJvZHkucmVtb3ZlU3R5bGVDbGFzcygiZG9jay10by1yaWdo
dCIpOworICAgICAgICAgICAgdGhpcy5zZXRDb21wYWN0TW9kZShmYWxzZSk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGlmICh0aGlzLl9pc0RvY2tpbmdVbmF2YWls
YWJsZSkgeworICAgICAgICAgICAgdGhpcy5fZG9ja1RvZ2dsZUJ1dHRvbi5zdGF0ZSA9ICJ1bmRv
Y2siOworICAgICAgICAgICAgdGhpcy5fZG9ja1RvZ2dsZUJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICB0aGlzLl9kb2NrVG9n
Z2xlQnV0dG9uLmRpc2FibGVkID0gZmFsc2U7CisKKyAgICAgICAgLy8gQ2hvb3NlIGRpZmZlcmVu
dCBsYXN0IHN0YXRlIGJhc2VkIG9uIHRoZSBjdXJyZW50IG9uZSBpZiBtaXNzaW5nIG9yIGlmIGlz
IHRoZSBzYW1lLgorICAgICAgICB2YXIgc3RhdGVzID0gW1dlYkluc3BlY3Rvci5Eb2NrQ29udHJv
bGxlci5TdGF0ZS5Eb2NrZWRUb0JvdHRvbSwgV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyLlN0
YXRlLlVuZG9ja2VkLCBXZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xsZXIuU3RhdGUuRG9ja2VkVG9S
aWdodF07CisgICAgICAgIHN0YXRlcy5yZW1vdmUodGhpcy5fc3RhdGUpOworICAgICAgICB2YXIg
bGFzdFN0YXRlID0gV2ViSW5zcGVjdG9yLnNldHRpbmdzLmxhc3REb2NrU3RhdGUuZ2V0KCk7Cisg
ICAgICAgIHN0YXRlcy5yZW1vdmUobGFzdFN0YXRlKTsKKyAgICAgICAgaWYgKHN0YXRlcy5sZW5n
dGggPT09IDIpIHsgLy8gbGFzdCBzdGF0ZSB3YXMgbm90IGZyb20gdGhlIGxpc3Qgb2YgcG90ZW50
aWFsIHZhbHVlcworICAgICAgICAgICAgbGFzdFN0YXRlID0gc3RhdGVzWzBdOworICAgICAgICAg
ICAgc3RhdGVzLnJlbW92ZShsYXN0U3RhdGUpOworICAgICAgICB9CisgICAgICAgIHRoaXMuX2Rl
Y29yYXRlQnV0dG9uRm9yVGFyZ2V0U3RhdGUodGhpcy5fZG9ja1RvZ2dsZUJ1dHRvbiwgbGFzdFN0
YXRlKTsKKyAgICAgICAgdGhpcy5fZGVjb3JhdGVCdXR0b25Gb3JUYXJnZXRTdGF0ZSh0aGlzLl9k
b2NrVG9nZ2xlQnV0dG9uT3B0aW9uLCBzdGF0ZXNbMF0pOworICAgIH0sCisKKyAgICAvKioKKyAg
ICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5TdGF0dXNCYXJCdXR0b259IGJ1dHRvbgorICAgICAq
IEBwYXJhbSB7bnVtYmVyfSBzdGF0ZQorICAgICAqLworICAgIF9kZWNvcmF0ZUJ1dHRvbkZvclRh
cmdldFN0YXRlOiBmdW5jdGlvbihidXR0b24sIHN0YXRlKQorICAgIHsKKyAgICAgICAgc3dpdGNo
IChzdGF0ZSkgeworICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5Eb2NrQ29udHJvbGxlci5TdGF0
ZS5Eb2NrZWRUb0JvdHRvbToKKyAgICAgICAgICAgIGJ1dHRvbi50aXRsZSA9IFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiRG9jayB0byBtYWluIHdpbmRvdy4iKTsKKyAgICAgICAgICAgIGJ1dHRvbi5z
dGF0ZSA9ICJib3R0b20iOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViSW5z
cGVjdG9yLkRvY2tDb250cm9sbGVyLlN0YXRlLkRvY2tlZFRvUmlnaHQ6CisgICAgICAgICAgICBi
dXR0b24udGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRvY2sgdG8gbWFpbiB3aW5kb3cu
Iik7CisgICAgICAgICAgICBidXR0b24uc3RhdGUgPSAicmlnaHQiOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyLlN0YXRlLlVuZG9j
a2VkOiAKKyAgICAgICAgICAgIGJ1dHRvbi50aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygi
VW5kb2NrIGludG8gc2VwYXJhdGUgd2luZG93LiIpOworICAgICAgICAgICAgYnV0dG9uLnN0YXRl
ID0gInVuZG9jayI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0sCisKKyAg
ICBfY3JlYXRlRG9ja09wdGlvbnM6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiBb
dGhpcy5fZG9ja1RvZ2dsZUJ1dHRvbk9wdGlvbl07CisgICAgfSwKKworICAgIC8qKgorICAgICAq
IEBwYXJhbSB7V2ViSW5zcGVjdG9yLkV2ZW50fSBlCisgICAgICovCisgICAgX3RvZ2dsZURvY2tT
dGF0ZTogZnVuY3Rpb24oZSkKKyAgICB7CisgICAgICAgIHZhciBzdGF0ZSA9IGUudGFyZ2V0LnN0
YXRlOworICAgICAgICBzd2l0Y2ggKHN0YXRlKSB7CisgICAgICAgIGNhc2UgInVuZG9jayI6Cisg
ICAgICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QucmVxdWVzdERldGFjaFdpbmRvdygpOwor
ICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnVzZXJNZXRyaWNzLldpbmRvd1VuZG9ja2VkLnJlY29y
ZCgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgInJpZ2h0IjoKKyAgICAgICAg
Y2FzZSAiYm90dG9tIjoKKyAgICAgICAgICAgIHRoaXMuX2RvY2tTaWRlID0gc3RhdGU7CisgICAg
ICAgICAgICBpZiAodGhpcy5fc3RhdGUgPT09IFdlYkluc3BlY3Rvci5Eb2NrQ29udHJvbGxlci5T
dGF0ZS5VbmRvY2tlZCkKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QucmVx
dWVzdEF0dGFjaFdpbmRvdygpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHRo
aXMuc2V0RG9ja2VkKHRydWUpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9
LAorCisgICAgLyoqCisgICAgICogQHJldHVybiB7Ym9vbGVhbn0KKyAgICAgKi8KKyAgICBpc0Nv
bXBhY3RNb2RlOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5faXNDb21w
YWN0TW9kZTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtib29sZWFufSBpc0Nv
bXBhY3RNb2RlCisgICAgICovCisgICAgc2V0Q29tcGFjdE1vZGU6IGZ1bmN0aW9uKGlzQ29tcGFj
dE1vZGUpCisgICAgeworICAgICAgICB2YXIgYm9keSA9IGRvY3VtZW50LmJvZHk7CisgICAgICAg
IHRoaXMuX2lzQ29tcGFjdE1vZGUgPSBpc0NvbXBhY3RNb2RlOworICAgICAgICBpZiAoV2ViSW5z
cGVjdG9yLnRvb2xiYXIpCisgICAgICAgICAgICBXZWJJbnNwZWN0b3IudG9vbGJhci5zZXRDb21w
YWN0TW9kZShpc0NvbXBhY3RNb2RlKTsKKyAgICAgICAgaWYgKGlzQ29tcGFjdE1vZGUpCisgICAg
ICAgICAgICBib2R5LmFkZFN0eWxlQ2xhc3MoImNvbXBhY3QiKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgYm9keS5yZW1vdmVTdHlsZUNsYXNzKCJjb21wYWN0Iik7CisgICAgfQorfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9u
dGVuZEFQSS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9y
RnJvbnRlbmRBUEkuanMKaW5kZXggMDYzNjM5ODZlNzQzNWI5YWQ4OWU5ZWE2NWJkN2I0OTNiNGUz
ZjE4OC4uNzBiN2NmZGQ3M2U2ZDE3OWRjMTA0NDA1ZmE5ZmUwZWE2ZDE3ODE0NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEFQ
SS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZy
b250ZW5kQVBJLmpzCkBAIC0yOCw3ICsyOCw3IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLUlu
c3BlY3RvckZyb250ZW5kQVBJID0gewordmFyIEluc3BlY3RvckZyb250ZW5kQVBJID0gewogICAg
IF9wZW5kaW5nQ29tbWFuZHM6IFtdLAogCiAgICAgaXNEZWJ1Z2dpbmdFbmFibGVkOiBmdW5jdGlv
bigpCkBAIC03Niw3ICs3Niw4IEBAIEluc3BlY3RvckZyb250ZW5kQVBJID0gewogCiAgICAgc2V0
QXR0YWNoZWRXaW5kb3c6IGZ1bmN0aW9uKGF0dGFjaGVkKQogICAgIHsKLSAgICAgICAgV2ViSW5z
cGVjdG9yLmF0dGFjaGVkID0gYXR0YWNoZWQ7CisgICAgICAgIGlmIChXZWJJbnNwZWN0b3IuZG9j
a0NvbnRyb2xsZXIpCisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9ja0NvbnRyb2xsZXIuc2V0
RG9ja2VkKGF0dGFjaGVkKTsKICAgICB9LAogCiAgICAgc2hvd0NvbnNvbGU6IGZ1bmN0aW9uKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9y
RnJvbnRlbmRIb3N0U3R1Yi5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
SW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qcwppbmRleCAxMjBkN2MyMzExNmM1YTRlZjIwZWJj
MmFmNGY5NWI2MzNhNDg0YjRiLi41YWRmMGE3MDNhNDhmMDljODBhMTY0NTA0ODRiMjJjY2YyYzJl
ZjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3Bl
Y3RvckZyb250ZW5kSG9zdFN0dWIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzCkBAIC03MCwxMCArNzAsMTIgQEAg
V2ViSW5zcGVjdG9yLkluc3BlY3RvckZyb250ZW5kSG9zdFN0dWIucHJvdG90eXBlID0gewogCiAg
ICAgcmVxdWVzdEF0dGFjaFdpbmRvdzogZnVuY3Rpb24oKQogICAgIHsKKyAgICAgICAgSW5zcGVj
dG9yRnJvbnRlbmRBUEkuc2V0QXR0YWNoZWRXaW5kb3codHJ1ZSk7CiAgICAgfSwKIAogICAgIHJl
cXVlc3REZXRhY2hXaW5kb3c6IGZ1bmN0aW9uKCkKICAgICB7CisgICAgICAgIEluc3BlY3RvckZy
b250ZW5kQVBJLnNldEF0dGFjaGVkV2luZG93KGZhbHNlKTsKICAgICB9LAogCiAgICAgcmVxdWVz
dFNldERvY2tTaWRlOiBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9TZXR0aW5ncy5qcwppbmRleCAyZmI0YTA1YjE3MGFlYjFlNDIyY2E1OWMwYTMyM2I2
OTQxYjgyMmQ3Li40ZmRlNTdiOGE5YzY0MDIxODQyZWY4OGFmZDI4OGE3NzQ0YjM1MTFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzLmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3MuanMKQEAgLTky
LDcgKzkyLDYgQEAgV2ViSW5zcGVjdG9yLlNldHRpbmdzID0gZnVuY3Rpb24oKQogICAgIHRoaXMu
ZGV2aWNlTWV0cmljcyA9IHRoaXMuY3JlYXRlU2V0dGluZygiZGV2aWNlTWV0cmljcyIsICIiKTsK
ICAgICB0aGlzLmRldmljZUZpdFdpbmRvdyA9IHRoaXMuY3JlYXRlU2V0dGluZygiZGV2aWNlRml0
V2luZG93IiwgZmFsc2UpOwogICAgIHRoaXMuc2hvd1NjcmlwdEZvbGRlcnMgPSB0aGlzLmNyZWF0
ZVNldHRpbmcoInNob3dTY3JpcHRGb2xkZXJzIiwgdHJ1ZSk7Ci0gICAgdGhpcy5kb2NrVG9SaWdo
dCA9IHRoaXMuY3JlYXRlU2V0dGluZygiZG9ja1RvUmlnaHQiLCBmYWxzZSk7CiAgICAgdGhpcy5l
bXVsYXRlVG91Y2hFdmVudHMgPSB0aGlzLmNyZWF0ZVNldHRpbmcoImVtdWxhdGVUb3VjaEV2ZW50
cyIsIGZhbHNlKTsKICAgICB0aGlzLnNob3dQYWludFJlY3RzID0gdGhpcy5jcmVhdGVTZXR0aW5n
KCJzaG93UGFpbnRSZWN0cyIsIGZhbHNlKTsKICAgICB0aGlzLnNob3dTaGFkb3dET00gPSB0aGlz
LmNyZWF0ZVNldHRpbmcoInNob3dTaGFkb3dET00iLCBmYWxzZSk7CkBAIC0xMDQsNiArMTAzLDcg
QEAgV2ViSW5zcGVjdG9yLlNldHRpbmdzID0gZnVuY3Rpb24oKQogICAgIHRoaXMuc2hvd0hlYXBT
bmFwc2hvdE9iamVjdHNIaWRkZW5Qcm9wZXJ0aWVzID0gdGhpcy5jcmVhdGVTZXR0aW5nKCJzaG93
SGVhU25hcHNob3RPYmplY3RzSGlkZGVuUHJvcGVydGllcyIsIGZhbHNlKTsKICAgICB0aGlzLnNl
YXJjaEluQ29udGVudFNjcmlwdHMgPSB0aGlzLmNyZWF0ZVNldHRpbmcoInNlYXJjaEluQ29udGVu
dFNjcmlwdHMiLCBmYWxzZSk7CiAgICAgdGhpcy50ZXh0RWRpdG9ySW5kZW50ID0gdGhpcy5jcmVh
dGVTZXR0aW5nKCJ0ZXh0RWRpdG9ySW5kZW50IiwgIiAgICAiKTsKKyAgICB0aGlzLmxhc3REb2Nr
U3RhdGUgPSB0aGlzLmNyZWF0ZVNldHRpbmcoImxhc3REb2NrU3RhdGUiLCAiIik7CiAKICAgICAv
LyBJZiB0aGVyZSBhcmUgdG9vIG1hbnkgYnJlYWtwb2ludHMgaW4gYSBzdG9yYWdlLCBpdCBpcyBs
aWtlbHkgZHVlIHRvIGEgcmVjZW50IGJ1ZyB0aGF0IGNhdXNlZAogICAgIC8vIHBlcmlvZGljYWwg
YnJlYWtwb2ludHMgZHVwbGljYXRpb24gbGVhZGluZyB0byBpbnNwZWN0b3Igc2xvd25lc3MuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzU2Ny
ZWVuLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5nc1NjcmVl
bi5qcwppbmRleCAzYWI0YTY3MDVjYjAwYTFlZjhhY2IyOWUyZjM4NWRmYWU4YWI4N2JiLi5mNTdl
M2U4MDIyYjU3Y2UxY2RjMjdkYjc0MzE2ZjAzMDFiMTZjM2QwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzU2NyZWVuLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3NTY3JlZW4uanMKQEAgLTI1MCw4
ICsyNTAsNiBAQCBXZWJJbnNwZWN0b3IuR2VuZXJpY1NldHRpbmdzVGFiID0gZnVuY3Rpb24oKQog
ICAgIFdlYkluc3BlY3Rvci5TZXR0aW5nc1RhYi5jYWxsKHRoaXMpOwogCiAgICAgdmFyIHAgPSB0
aGlzLl9hcHBlbmRTZWN0aW9uKCk7Ci0gICAgaWYgKFByZWZlcmVuY2VzLnNob3dEb2NrVG9SaWdo
dCkKLSAgICAgICAgcC5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVDaGVja2JveFNldHRpbmcoV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJEb2NrIHRvIHJpZ2h0IiksIFdlYkluc3BlY3Rvci5zZXR0aW5n
cy5kb2NrVG9SaWdodCkpOwogICAgIGlmIChQcmVmZXJlbmNlcy5leHBvc2VEaXNhYmxlQ2FjaGUp
CiAgICAgICAgIHAuYXBwZW5kQ2hpbGQodGhpcy5fY3JlYXRlQ2hlY2tib3hTZXR0aW5nKFdlYklu
c3BlY3Rvci5VSVN0cmluZygiRGlzYWJsZSBjYWNoZSIpLCBXZWJJbnNwZWN0b3Iuc2V0dGluZ3Mu
Y2FjaGVEaXNhYmxlZCkpOwogICAgIHZhciBkaXNhYmxlSlNFbGVtZW50ID0gdGhpcy5fY3JlYXRl
Q2hlY2tib3hTZXR0aW5nKFdlYkluc3BlY3Rvci5VSVN0cmluZygiRGlzYWJsZSBKYXZhU2NyaXB0
IiksIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5qYXZhU2NyaXB0RGlzYWJsZWQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdGF0dXNCYXJCdXR0b24uanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0YXR1c0JhckJ1dHRvbi5qcwpp
bmRleCAyMzMwMmNiZWVlOWYxZTAyMmMxOTE0ODk3ODkxZGNhNTMzZDAzYTc0Li40MTRjNmIzMGI1
MDZjOGRjMDZlOGMxNGQ2NWI2NTI4N2UwMDJjM2NhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0YXR1c0JhckJ1dHRvbi5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0YXR1c0JhckJ1dHRvbi5qcwpAQCAtNTcsNiArNTcs
NyBAQCBXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQnV0dG9uID0gZnVuY3Rpb24odGl0bGUsIGNsYXNz
TmFtZSwgc3RhdGVzKQogICAgICAgICB0aGlzLl9zdGF0ZSA9IDA7CiAKICAgICB0aGlzLnRpdGxl
ID0gdGl0bGU7CisgICAgdGhpcy5jbGFzc05hbWUgPSBjbGFzc05hbWU7CiAgICAgdGhpcy5kaXNh
YmxlZCA9IGZhbHNlOwogICAgIHRoaXMuX3Zpc2libGUgPSB0cnVlOwogfQpAQCAtMTkyLDYgKzE5
MywxMCBAQCBXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQnV0dG9uLnByb3RvdHlwZSA9IHsKICAgICBf
c2hvd09wdGlvbnM6IGZ1bmN0aW9uKGJ1dHRvbnNQcm92aWRlcikKICAgICB7CiAgICAgICAgIHZh
ciBidXR0b25zID0gYnV0dG9uc1Byb3ZpZGVyKCk7CisgICAgICAgIHZhciBtYWluQnV0dG9uQ2xv
bmUgPSBuZXcgV2ViSW5zcGVjdG9yLlN0YXR1c0JhckJ1dHRvbih0aGlzLnRpdGxlLCB0aGlzLmNs
YXNzTmFtZSwgdGhpcy5zdGF0ZXMpOworICAgICAgICBtYWluQnV0dG9uQ2xvbmUuYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCB0aGlzLl9jbGlja2VkLCB0aGlzKTsKKyAgICAgICAgbWFpbkJ1dHRv
bkNsb25lLnN0YXRlID0gdGhpcy5zdGF0ZTsKKyAgICAgICAgYnV0dG9ucy5wdXNoKG1haW5CdXR0
b25DbG9uZSk7CiAKICAgICAgICAgdmFyIG1vdXNlVXBMaXN0ZW5lciA9IG1vdXNlVXAuYmluZCh0
aGlzKTsKICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIo
Im1vdXNldXAiLCBtb3VzZVVwTGlzdGVuZXIsIGZhbHNlKTsKQEAgLTIwNSw4ICsyMTAsOCBAQCBX
ZWJJbnNwZWN0b3IuU3RhdHVzQmFyQnV0dG9uLnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIGJv
dW5kTW91c2VPdmVyID0gbW91c2VPdmVyLmJpbmQodGhpcyk7CiAgICAgICAgIHZhciBib3VuZE1v
dXNlT3V0ID0gbW91c2VPdXQuYmluZCh0aGlzKTsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBidXR0b25zLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICBidXR0b25zW2ldLmVsZW1lbnQu
YWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIiwgYm91bmRNb3VzZU92ZXIuYmluZCh0aGlzKSwg
ZmFsc2UpOwotICAgICAgICAgICAgYnV0dG9uc1tpXS5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIo
Im1vdXNlb3V0IiwgYm91bmRNb3VzZU91dC5iaW5kKHRoaXMpLCBmYWxzZSk7CisgICAgICAgICAg
ICBidXR0b25zW2ldLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIiwgYm91bmRN
b3VzZU92ZXIsIGZhbHNlKTsKKyAgICAgICAgICAgIGJ1dHRvbnNbaV0uZWxlbWVudC5hZGRFdmVu
dExpc3RlbmVyKCJtb3VzZW91dCIsIGJvdW5kTW91c2VPdXQsIGZhbHNlKTsKICAgICAgICAgICAg
IG9wdGlvbnNCYXJFbGVtZW50LmFwcGVuZENoaWxkKGJ1dHRvbnNbaV0uZWxlbWVudCk7CiAgICAg
ICAgIH0KICAgICAgICAgYnV0dG9uc1tidXR0b25zLmxlbmd0aCAtIDFdLmVsZW1lbnQuYWRkU3R5
bGVDbGFzcygiZW11bGF0ZS1hY3RpdmUiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvVG9vbGJhci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvVG9vbGJhci5qcwppbmRleCA5Yjg5OTVjMzg2NTZhMjY1YzRmOWU5ZWM4NzBjZjAx
NTRjZmU4YzgxLi41NzU2ZTczZDc1ZjIwYjQ5NGY1ZmExNjRjZmQwNDVmZDFkOGRhNjk0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Rvb2xiYXIuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Ub29sYmFyLmpzCkBAIC0zNSw3
ICszNSw3IEBACiBXZWJJbnNwZWN0b3IuVG9vbGJhciA9IGZ1bmN0aW9uKCkKIHsKICAgICB0aGlz
LmVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9vbGJhciIpOwotICAgIFdlYklu
c3BlY3Rvci5pbnN0YWxsRHJhZ0hhbmRsZSh0aGlzLmVsZW1lbnQsIHRoaXMuX3Rvb2xiYXJEcmFn
U3RhcnQuYmluZCh0aGlzKSwgdGhpcy5fdG9vbGJhckRyYWcuYmluZCh0aGlzKSwgdGhpcy5fdG9v
bGJhckRyYWdFbmQuYmluZCh0aGlzKSwgKFdlYkluc3BlY3Rvci5pc0NvbXBhY3RNb2RlKCkgPyAi
cm93LXJlc2l6ZSIgOiAiZGVmYXVsdCIpKTsKKyAgICBXZWJJbnNwZWN0b3IuaW5zdGFsbERyYWdI
YW5kbGUodGhpcy5lbGVtZW50LCB0aGlzLl90b29sYmFyRHJhZ1N0YXJ0LmJpbmQodGhpcyksIHRo
aXMuX3Rvb2xiYXJEcmFnLmJpbmQodGhpcyksIHRoaXMuX3Rvb2xiYXJEcmFnRW5kLmJpbmQodGhp
cyksICJkZWZhdWx0Iik7CiAKICAgICB0aGlzLl9kcm9wZG93bkJ1dHRvbiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0b29sYmFyLWRyb3Bkb3duLWFycm93Iik7CiAgICAgdGhpcy5fZHJvcGRv
d25CdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLl90b2dnbGVEcm9wZG93bi5i
aW5kKHRoaXMpLCBmYWxzZSk7CkBAIC05NywxMSArOTcsMTkgQEAgV2ViSW5zcGVjdG9yLlRvb2xi
YXIucHJvdG90eXBlID0gewogICAgIH0sCiAKICAgICAvKioKKyAgICAgKiBAcGFyYW0ge2Jvb2xl
YW59IGlzQ29tcGFjdE1vZGUKKyAgICAgKi8KKyAgICBzZXRDb21wYWN0TW9kZTogZnVuY3Rpb24o
aXNDb21wYWN0TW9kZSkKKyAgICB7CisgICAgICAgIHRoaXMuX2lzQ29tcGFjdE1vZGUgPSBpc0Nv
bXBhY3RNb2RlOworICAgIH0sCisKKyAgICAvKioKICAgICAgKiBAcmV0dXJuIHtib29sZWFufQog
ICAgICAqLwogICAgIF90b29sYmFyRHJhZ1N0YXJ0OiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0g
ICAgICAgIGlmICgoIVdlYkluc3BlY3Rvci5pc0NvbXBhY3RNb2RlKCkgJiYgV2ViSW5zcGVjdG9y
LnBsYXRmb3JtRmxhdm9yKCkgIT09IFdlYkluc3BlY3Rvci5QbGF0Zm9ybUZsYXZvci5NYWNMZW9w
YXJkICYmIFdlYkluc3BlY3Rvci5wbGF0Zm9ybUZsYXZvcigpICE9PSBXZWJJbnNwZWN0b3IuUGxh
dGZvcm1GbGF2b3IuTWFjU25vd0xlb3BhcmQpIHx8IFdlYkluc3BlY3Rvci5wb3J0KCkgPT0gInF0
IikKKyAgICAgICAgaWYgKCghdGhpcy5faXNDb21wYWN0TW9kZSAmJiBXZWJJbnNwZWN0b3IucGxh
dGZvcm1GbGF2b3IoKSAhPT0gV2ViSW5zcGVjdG9yLlBsYXRmb3JtRmxhdm9yLk1hY0xlb3BhcmQg
JiYgV2ViSW5zcGVjdG9yLnBsYXRmb3JtRmxhdm9yKCkgIT09IFdlYkluc3BlY3Rvci5QbGF0Zm9y
bUZsYXZvci5NYWNTbm93TGVvcGFyZCkgfHwgV2ViSW5zcGVjdG9yLnBvcnQoKSA9PSAicXQiKQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIHZhciB0YXJnZXQgPSBldmVudC50
YXJnZXQ7CkBAIC0xMjQsNyArMTMyLDcgQEAgV2ViSW5zcGVjdG9yLlRvb2xiYXIucHJvdG90eXBl
ID0gewogCiAgICAgX3Rvb2xiYXJEcmFnOiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAg
IGlmIChXZWJJbnNwZWN0b3IuaXNDb21wYWN0TW9kZSgpKSB7CisgICAgICAgIGlmICh0aGlzLl9p
c0NvbXBhY3RNb2RlKSB7CiAgICAgICAgICAgICB2YXIgaGVpZ2h0ID0gd2luZG93LmlubmVySGVp
Z2h0IC0gKGV2ZW50LnNjcmVlblkgLSB0aGlzLmVsZW1lbnQubGFzdFNjcmVlblkpOwogCiAgICAg
ICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3Quc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQoaGVp
Z2h0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2Vi
S2l0LnFyYyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYwpp
bmRleCAyNzIzOTcwMjc3MzcwMGFmZTJhOTk5MzljMDIzMjZiM2NkOTYwNjRmLi5mNjU3ZGU3YWYw
NzIzZDk1NzY1ZDRjMTliYjViNjJiYjYwMzlmMmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCkBAIC01OCw2ICs1OCw3IEBACiAgICAgPGZpbGU+
RE9NU3RvcmFnZS5qczwvZmlsZT4KICAgICA8ZmlsZT5ET01TdG9yYWdlSXRlbXNWaWV3LmpzPC9m
aWxlPgogICAgIDxmaWxlPkRPTVN5bnRheEhpZ2hsaWdodGVyLmpzPC9maWxlPgorICAgIDxmaWxl
PkRvY2tDb250cm9sbGVyLmpzPC9maWxlPgogICAgIDxmaWxlPkRyYXdlci5qczwvZmlsZT4KICAg
ICA8ZmlsZT5FbGVtZW50c1BhbmVsLmpzPC9maWxlPgogICAgIDxmaWxlPkVsZW1lbnRzUGFuZWxE
ZXNjcmlwdG9yLmpzPC9maWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9leHRlcm5zLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9leHRlcm5zLmpzCmluZGV4IDQzMDI0Mjc4MTI3MzQ0OTEzYjRjM2Q3ZTc3MzFlMTdiOGVmYmZh
NTIuLjJkNzBhNGE3YzJlOWI2NWEzOTAzOTM0YmFiNWU2NTYxNmEyNDAwNmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvZXh0ZXJucy5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2V4dGVybnMuanMKQEAgLTE3Nyw2ICsxNzcs
OCBAQCBTb3VyY2VNYXBWMy5PZmZzZXQgPSBmdW5jdGlvbigpCiAvLyBGSVhNRTogcmVtb3ZlIGV2
ZXJ5dGhpbmcgYmVsb3cuCiB2YXIgV2ViSW5zcGVjdG9yID0ge30KIAorV2ViSW5zcGVjdG9yLnF1
ZXJ5UGFyYW1zT2JqZWN0ID0ge30KK1dlYkluc3BlY3Rvci50b2dnbGVTZWFyY2hpbmdGb3JOb2Rl
ID0gZnVuY3Rpb24oKSB7fQogV2ViSW5zcGVjdG9yLnBhbmVscyA9IHt9OwogCiAvKioKQEAgLTI2
Myw4ICsyNjUsNiBAQCBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsID0gZnVuY3Rpb24ocGFuZWwpCiAg
Ki8KIFdlYkluc3BlY3Rvci5pbnNwZWN0ZWRQYWdlRG9tYWluOwogCi1XZWJJbnNwZWN0b3IuaXND
b21wYWN0TW9kZSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gZmFsc2U7IH0KLQogV2ViSW5zcGVjdG9y
LlNvdXJjZUphdmFTY3JpcHRUb2tlbml6ZXIgPSB7fQogV2ViSW5zcGVjdG9yLlNvdXJjZUphdmFT
Y3JpcHRUb2tlbml6ZXIuS2V5d29yZHMgPSB7fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKaW5kZXggMWMxMjZlYThlZjM5MDhhYmFlNTQw
NDY1MGZhM2IzYzgwOTViZGE2Yi4uMDRhZGEzMjM5ZjQyYTZlZjU1YjJiMzljMjVhYzE3ZTVhN2Mx
YWMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmNzcwpAQCAtNjYsOCArNjYsOCBAQCBib2R5LmluYWN0aXZlICN0b29sYmFyIHsKICAgICBi
b3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiKDY0JSwgNjQlLCA2NCUpOwogfQogCi1ib2R5LmRl
dGFjaGVkLnBsYXRmb3JtLW1hYy1sZW9wYXJkICN0b29sYmFyLAotYm9keS5kZXRhY2hlZC5wbGF0
Zm9ybS1tYWMtc25vd2xlb3BhcmQgI3Rvb2xiYXIgeworYm9keS51bmRvY2tlZC5wbGF0Zm9ybS1t
YWMtbGVvcGFyZCAjdG9vbGJhciwKK2JvZHkudW5kb2NrZWQucGxhdGZvcm0tbWFjLXNub3dsZW9w
YXJkICN0b29sYmFyIHsKICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKIH0KIApAQCAtMTk0
LDggKzE5NCw4IEBAIGJvZHkuY29tcGFjdCAjdG9vbGJhci1kcm9wZG93bi1hcnJvdyB7CiAgICAg
YmFja2dyb3VuZC1pbWFnZTogaW5oZXJpdDsKIH0KIAotYm9keS5kZXRhY2hlZC5wbGF0Zm9ybS1t
YWMtbGVvcGFyZCAjdG9vbGJhci1kcm9wZG93biwKLWJvZHkuZGV0YWNoZWQucGxhdGZvcm0tbWFj
LXNub3dsZW9wYXJkICN0b29sYmFyLWRyb3Bkb3duIHsKK2JvZHkudW5kb2NrZWQucGxhdGZvcm0t
bWFjLWxlb3BhcmQgI3Rvb2xiYXItZHJvcGRvd24sCitib2R5LnVuZG9ja2VkLnBsYXRmb3JtLW1h
Yy1zbm93bGVvcGFyZCAjdG9vbGJhci1kcm9wZG93biB7CiAgICAgYmFja2dyb3VuZC1pbWFnZTog
LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbShyZ2Io
MTkxLCAxOTEsIDE5MSkpLCB0byhyZ2IoMTUxLCAxNTEsIDE1MSkpKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKaW5kZXggYTM3
N2FiYWIwOTMyODNlYjc4Yjc2OTUwMDM0MTJjYzFiZTdlOTg2NC4uMTg0ZGE1NjBjMmIxNWEwOGRk
ZGQ1MmJhNTU1ZjQwYjBlOTUxYWFkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCkBAIC0xNjcsOCArMTY3LDkgQEAgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
ICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJFbGVtZW50c1BhbmVsRGVz
Y3JpcHRvci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iTmV0d29ya1BhbmVsRGVzY3JpcHRvci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iU2NyaXB0c1BhbmVsRGVzY3JpcHRvci5qcyI+PC9z
Y3JpcHQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iRG9ja0NvbnRy
b2xsZXIuanMiPjwvc2NyaXB0PgogPC9oZWFkPgotPGJvZHkgY2xhc3M9ImRldGFjaGVkIiBpZD0i
LXdlYmtpdC13ZWItaW5zcGVjdG9yIj4KKzxib2R5IGNsYXNzPSJ1bmRvY2tlZCIgaWQ9Ii13ZWJr
aXQtd2ViLWluc3BlY3RvciI+CiAgICAgPGRpdiBpZD0idG9vbGJhciI+CiAgICAgICAgIDxkaXYg
Y2xhc3M9InRvb2xiYXItaXRlbSBjbG9zZS1sZWZ0Ij48YnV0dG9uIGlkPSJjbG9zZS1idXR0b24t
bGVmdCI+PC9idXR0b24+PC9kaXY+CiAgICAgICAgIDxkaXYgaWQ9InRvb2xiYXItY29udHJvbHMi
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0
b3IuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwpp
bmRleCAzMmE5NmY3M2IyMTNkZmMwMmMyMGIyMWQyZWFlMzgyYzYyMzNmOGFlLi44Y2RiY2RjMDk5
MmNhOGM2ZGU4ZmVhOGFmNjhkMDE5ZDJlYzVkODI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwpAQCAtNzIsMTMgKzcyLDEwIEBAIHZhciBX
ZWJJbnNwZWN0b3IgPSB7CiAgICAgX2NyZWF0ZUdsb2JhbFN0YXR1c0Jhckl0ZW1zOiBmdW5jdGlv
bigpCiAgICAgewogICAgICAgICB2YXIgYm90dG9tU3RhdHVzQmFyQ29udGFpbmVyID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImJvdHRvbS1zdGF0dXMtYmFyLWNvbnRhaW5lciIpOwotICAgICAg
ICB0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uID0gbmV3IFdlYkluc3BlY3Rvci5TdGF0dXNCYXJCdXR0
b24oIiIsICJkb2NrLXN0YXR1cy1iYXItaXRlbSIsIDMpOwotICAgICAgICB0aGlzLl9kb2NrVG9n
Z2xlQnV0dG9uLm1ha2VMb25nQ2xpY2tFbmFibGVkKHRoaXMuX2NyZWF0ZURvY2tPcHRpb25zLmJp
bmQodGhpcykpOwotICAgICAgICB0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgdGhpcy5fdG9nZ2xlQXR0YWNoLmJpbmQodGhpcyksIGZhbHNlKTsKLSAgICAg
ICAgdGhpcy5fdXBkYXRlRG9ja0J1dHRvblN0YXRlKCk7CiAKKyAgICAgICAgLy8gQ3JlYXRlIG1h
aW4gZG9jayBidXR0b24gYW5kIG9wdGlvbnMuCiAgICAgICAgIHZhciBtYWluU3RhdHVzQmFyID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1haW4tc3RhdHVzLWJhciIpOwotICAgICAgICBtYWlu
U3RhdHVzQmFyLmluc2VydEJlZm9yZSh0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uLmVsZW1lbnQsIGJv
dHRvbVN0YXR1c0JhckNvbnRhaW5lcik7CisgICAgICAgIG1haW5TdGF0dXNCYXIuaW5zZXJ0QmVm
b3JlKHRoaXMuZG9ja0NvbnRyb2xsZXIuZWxlbWVudCwgYm90dG9tU3RhdHVzQmFyQ29udGFpbmVy
KTsKIAogICAgICAgICB0aGlzLl90b2dnbGVDb25zb2xlQnV0dG9uID0gbmV3IFdlYkluc3BlY3Rv
ci5TdGF0dXNCYXJCdXR0b24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTaG93IGNvbnNvbGUuIiks
ICJjb25zb2xlLXN0YXR1cy1iYXItaXRlbSIpOwogICAgICAgICB0aGlzLl90b2dnbGVDb25zb2xl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fdG9nZ2xlQ29uc29sZUJ1dHRv
bkNsaWNrZWQuYmluZCh0aGlzKSwgZmFsc2UpOwpAQCAtOTMsNjggKzkwLDYgQEAgdmFyIFdlYklu
c3BlY3RvciA9IHsKICAgICAgICAgbWFpblN0YXR1c0Jhci5hcHBlbmRDaGlsZCh0aGlzLnNldHRp
bmdzQ29udHJvbGxlci5zdGF0dXNCYXJJdGVtKTsKICAgICB9LAogCi0gICAgX2NyZWF0ZURvY2tP
cHRpb25zOiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICB2YXIgYWx0ZXJuYXRlRG9ja1RvZ2ds
ZUJ1dHRvbjEgPSBuZXcgV2ViSW5zcGVjdG9yLlN0YXR1c0JhckJ1dHRvbigiRG9jayB0byBtYWlu
IHdpbmRvdy4iLCAiZG9jay1zdGF0dXMtYmFyLWl0ZW0iLCAzKTsKLSAgICAgICAgdmFyIGFsdGVy
bmF0ZURvY2tUb2dnbGVCdXR0b24yID0gbmV3IFdlYkluc3BlY3Rvci5TdGF0dXNCYXJCdXR0b24o
IlVuZG9jayBpbnRvIHNlcGFyYXRlIHdpbmRvdy4iLCAiZG9jay1zdGF0dXMtYmFyLWl0ZW0iLCAz
KTsKLQotICAgICAgICBpZiAodGhpcy5hdHRhY2hlZCkgewotICAgICAgICAgICAgYWx0ZXJuYXRl
RG9ja1RvZ2dsZUJ1dHRvbjEuc3RhdGUgPSBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MuZG9ja1RvUmln
aHQuZ2V0KCkgPyAiYm90dG9tIiA6ICJyaWdodCI7Ci0gICAgICAgICAgICBhbHRlcm5hdGVEb2Nr
VG9nZ2xlQnV0dG9uMi5zdGF0ZSA9ICJ1bmRvY2siOwotICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgYWx0ZXJuYXRlRG9ja1RvZ2dsZUJ1dHRvbjEuc3RhdGUgPSBXZWJJbnNwZWN0b3Iuc2V0
dGluZ3MuZG9ja1RvUmlnaHQuZ2V0KCkgPyAiYm90dG9tIiA6ICJyaWdodCI7Ci0gICAgICAgICAg
ICBhbHRlcm5hdGVEb2NrVG9nZ2xlQnV0dG9uMi5zdGF0ZSA9IFdlYkluc3BlY3Rvci5zZXR0aW5n
cy5kb2NrVG9SaWdodC5nZXQoKSA/ICJyaWdodCIgOiAiYm90dG9tIjsKLSAgICAgICAgfQotCi0g
ICAgICAgIGFsdGVybmF0ZURvY2tUb2dnbGVCdXR0b24xLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
Iiwgb25DbGljay5iaW5kKHRoaXMpLCBmYWxzZSk7Ci0gICAgICAgIGFsdGVybmF0ZURvY2tUb2dn
bGVCdXR0b24yLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgb25DbGljay5iaW5kKHRoaXMpLCBm
YWxzZSk7Ci0KLSAgICAgICAgZnVuY3Rpb24gb25DbGljayhlKQotICAgICAgICB7Ci0gICAgICAg
ICAgICB2YXIgc3RhdGUgPSBlLnRhcmdldC5zdGF0ZTsKLSAgICAgICAgICAgIGlmIChzdGF0ZSA9
PT0gInVuZG9jayIpCi0gICAgICAgICAgICAgICAgdGhpcy5fdG9nZ2xlQXR0YWNoKCk7Ci0gICAg
ICAgICAgICBlbHNlIGlmIChzdGF0ZSA9PT0gInJpZ2h0IikgewotICAgICAgICAgICAgICAgIGlm
ICghdGhpcy5hdHRhY2hlZCkKLSAgICAgICAgICAgICAgICAgICAgdGhpcy5fdG9nZ2xlQXR0YWNo
KCk7Ci0gICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLmRvY2tUb1JpZ2h0LnNl
dCh0cnVlKTsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RhdGUgPT09ICJib3R0b20iKSB7Ci0g
ICAgICAgICAgICAgICAgaWYgKCF0aGlzLmF0dGFjaGVkKQotICAgICAgICAgICAgICAgICAgICB0
aGlzLl90b2dnbGVBdHRhY2goKTsKLSAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2V0dGlu
Z3MuZG9ja1RvUmlnaHQuc2V0KGZhbHNlKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0g
ICAgICAgIHJldHVybiBbYWx0ZXJuYXRlRG9ja1RvZ2dsZUJ1dHRvbjEsIGFsdGVybmF0ZURvY2tU
b2dnbGVCdXR0b24yXTsKLSAgICB9LAotCi0gICAgX3VwZGF0ZURvY2tCdXR0b25TdGF0ZTogZnVu
Y3Rpb24oKQotICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uKQotICAg
ICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGlmICh0aGlzLmF0dGFjaGVkKSB7Ci0gICAgICAg
ICAgICB0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uLmRpc2FibGVkID0gZmFsc2U7Ci0gICAgICAgICAg
ICB0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uLnN0YXRlID0gInVuZG9jayI7Ci0gICAgICAgICAgICB0
aGlzLl9kb2NrVG9nZ2xlQnV0dG9uLnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJVbmRv
Y2sgaW50byBzZXBhcmF0ZSB3aW5kb3cuIik7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICB0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uLmRpc2FibGVkID0gdGhpcy5faXNEb2NraW5nVW5hdmFp
bGFibGU7Ci0gICAgICAgICAgICB0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uLnN0YXRlID0gV2ViSW5z
cGVjdG9yLnNldHRpbmdzLmRvY2tUb1JpZ2h0LmdldCgpID8gInJpZ2h0IiA6ICJib3R0b20iOwot
ICAgICAgICAgICAgdGhpcy5fZG9ja1RvZ2dsZUJ1dHRvbi50aXRsZSA9IFdlYkluc3BlY3Rvci5V
SVN0cmluZygiRG9jayB0byBtYWluIHdpbmRvdy4iKTsKLSAgICAgICAgfQotICAgIH0sCi0KLSAg
ICBfdG9nZ2xlQXR0YWNoOiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICBpZiAoIXRoaXMuX2F0
dGFjaGVkKSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QucmVxdWVzdEF0dGFj
aFdpbmRvdygpOwotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnVzZXJNZXRyaWNzLldpbmRvd0Rv
Y2tlZC5yZWNvcmQoKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIEluc3BlY3RvckZy
b250ZW5kSG9zdC5yZXF1ZXN0RGV0YWNoV2luZG93KCk7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0
b3IudXNlck1ldHJpY3MuV2luZG93VW5kb2NrZWQucmVjb3JkKCk7Ci0gICAgICAgIH0KLSAgICB9
LAotCiAgICAgX3RvZ2dsZUNvbnNvbGVCdXR0b25DbGlja2VkOiBmdW5jdGlvbigpCiAgICAgewog
ICAgICAgICBpZiAodGhpcy5fdG9nZ2xlQ29uc29sZUJ1dHRvbi5kaXNhYmxlZCkKQEAgLTIyMyw0
MiArMTU4LDYgQEAgdmFyIFdlYkluc3BlY3RvciA9IHsKICAgICAgICAgfQogICAgIH0sCiAKLSAg
ICBnZXQgYXR0YWNoZWQoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2F0dGFjaGVkOwot
ICAgIH0sCi0KLSAgICBzZXQgYXR0YWNoZWQoeCkKLSAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9h
dHRhY2hlZCA9PT0geCkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICB0aGlzLl9hdHRh
Y2hlZCA9IHg7Ci0KLSAgICAgICAgaWYgKHgpCi0gICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJl
bW92ZVN0eWxlQ2xhc3MoImRldGFjaGVkIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGRv
Y3VtZW50LmJvZHkuYWRkU3R5bGVDbGFzcygiZGV0YWNoZWQiKTsKLQotICAgICAgICB0aGlzLl9z
ZXRDb21wYWN0TW9kZSh4ICYmICFXZWJJbnNwZWN0b3Iuc2V0dGluZ3MuZG9ja1RvUmlnaHQuZ2V0
KCkpOwotICAgICAgICB0aGlzLl91cGRhdGVEb2NrQnV0dG9uU3RhdGUoKTsKLSAgICB9LAotCi0g
ICAgaXNDb21wYWN0TW9kZTogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMu
YXR0YWNoZWQgJiYgIVdlYkluc3BlY3Rvci5zZXR0aW5ncy5kb2NrVG9SaWdodC5nZXQoKTsKLSAg
ICB9LAotCi0gICAgX3NldENvbXBhY3RNb2RlOiBmdW5jdGlvbih4KQotICAgIHsKLSAgICAgICAg
dmFyIGJvZHkgPSBkb2N1bWVudC5ib2R5OwotICAgICAgICBpZiAoeCkKLSAgICAgICAgICAgIGJv
ZHkuYWRkU3R5bGVDbGFzcygiY29tcGFjdCIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBi
b2R5LnJlbW92ZVN0eWxlQ2xhc3MoImNvbXBhY3QiKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLndp
bmRvd1Jlc2l6ZSgpOwotICAgIH0sCi0KICAgICBfdXBkYXRlRXJyb3JBbmRXYXJuaW5nQ291bnRz
OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB2YXIgZXJyb3JXYXJuaW5nRWxlbWVudCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlcnJvci13YXJuaW5nLWNvdW50Iik7CkBAIC00MDcsNiAr
MzA2LDcgQEAgV2ViSW5zcGVjdG9yLkV2ZW50cyA9IHsKIFdlYkluc3BlY3Rvci5sb2FkZWQgPSBm
dW5jdGlvbigpCiB7CiAgICAgSW5zcGVjdG9yQmFja2VuZC5sb2FkRnJvbUpTT05JZk5lZWRlZCgi
Li4vSW5zcGVjdG9yLmpzb24iKTsKKyAgICBXZWJJbnNwZWN0b3IuZG9ja0NvbnRyb2xsZXIgPSBu
ZXcgV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyKCk7CiAKICAgICBpZiAoV2ViSW5zcGVjdG9y
Lldvcmtlck1hbmFnZXIuaXNEZWRpY2F0ZWRXb3JrZXJGcm9udGVuZCgpKSB7CiAgICAgICAgIC8v
IERvIG5vdCBjcmVhdGUgc29ja2V0IGZvciB0aGUgd29ya2VyIGZyb250LWVuZC4KQEAgLTUzMyw4
ICs0MzMsNiBAQCBXZWJJbnNwZWN0b3IuX2RvTG9hZGVkRG9uZVdpdGhDYXBhYmlsaXRpZXMgPSBm
dW5jdGlvbigpCiAKICAgICB0aGlzLl9jcmVhdGVHbG9iYWxTdGF0dXNCYXJJdGVtcygpOwogCi0g
ICAgV2ViSW5zcGVjdG9yLl9pbnN0YWxsRG9ja1RvUmlnaHQoKTsKLQogICAgIHRoaXMudG9vbGJh
ciA9IG5ldyBXZWJJbnNwZWN0b3IuVG9vbGJhcigpOwogICAgIFdlYkluc3BlY3Rvci5zdGFydEJh
dGNoVXBkYXRlKCk7CiAgICAgdmFyIHBhbmVsRGVzY3JpcHRvcnMgPSB0aGlzLl9wYW5lbERlc2Ny
aXB0b3JzKCk7CkBAIC01ODAsMzYgKzQ3OCw2IEBAIFdlYkluc3BlY3Rvci5fZG9Mb2FkZWREb25l
V2l0aENhcGFiaWxpdGllcyA9IGZ1bmN0aW9uKCkKICAgICBJbnNwZWN0b3JGcm9udGVuZEFQSS5s
b2FkQ29tcGxldGVkKCk7CiB9CiAKLVdlYkluc3BlY3Rvci5faW5zdGFsbERvY2tUb1JpZ2h0ID0g
ZnVuY3Rpb24oKQotewotICAgIC8vIFJlLXVzZSBTZXR0aW5ncyBpbmZyYXN0cnVjdHVyZSBmb3Ig
dGhlIGRvY2stdG8tcmlnaHQgc2V0dGluZ3MgVUkKLSAgICBXZWJJbnNwZWN0b3Iuc2V0dGluZ3Mu
ZG9ja1RvUmlnaHQuc2V0KFdlYkluc3BlY3Rvci5xdWVyeVBhcmFtc09iamVjdC5kb2NrU2lkZSA9
PT0gInJpZ2h0Iik7Ci0KLSAgICBpZiAoV2ViSW5zcGVjdG9yLnNldHRpbmdzLmRvY2tUb1JpZ2h0
LmdldCgpKQotICAgICAgICBkb2N1bWVudC5ib2R5LmFkZFN0eWxlQ2xhc3MoImRvY2stdG8tcmln
aHQiKTsKLQotICAgIGlmIChXZWJJbnNwZWN0b3IuYXR0YWNoZWQpCi0gICAgICAgIFdlYkluc3Bl
Y3Rvci5fc2V0Q29tcGFjdE1vZGUoIVdlYkluc3BlY3Rvci5zZXR0aW5ncy5kb2NrVG9SaWdodC5n
ZXQoKSk7Ci0KLSAgICBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MuZG9ja1RvUmlnaHQuYWRkQ2hhbmdl
TGlzdGVuZXIobGlzdGVuZXIuYmluZCh0aGlzKSk7Ci0KLSAgICBmdW5jdGlvbiBsaXN0ZW5lcihl
dmVudCkKLSAgICB7Ci0gICAgICAgIHZhciB2YWx1ZSA9IFdlYkluc3BlY3Rvci5zZXR0aW5ncy5k
b2NrVG9SaWdodC5nZXQoKTsKLSAgICAgICAgaWYgKHZhbHVlKSB7Ci0gICAgICAgICAgICBJbnNw
ZWN0b3JGcm9udGVuZEhvc3QucmVxdWVzdFNldERvY2tTaWRlKCJyaWdodCIpOwotICAgICAgICAg
ICAgZG9jdW1lbnQuYm9keS5hZGRTdHlsZUNsYXNzKCJkb2NrLXRvLXJpZ2h0Iik7Ci0gICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QucmVxdWVzdFNldERv
Y2tTaWRlKCJib3R0b20iKTsKLSAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlU3R5bGVD
bGFzcygiZG9jay10by1yaWdodCIpOwotICAgICAgICB9Ci0gICAgICAgIGlmIChXZWJJbnNwZWN0
b3IuYXR0YWNoZWQpCi0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuX3NldENvbXBhY3RNb2RlKCF2
YWx1ZSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5fdXBkYXRlRG9j
a0J1dHRvblN0YXRlKCk7Ci0gICAgfQotfQotCiB2YXIgd2luZG93TG9hZGVkID0gZnVuY3Rpb24o
KQogewogICAgIHZhciBsb2NhbGl6ZWRTdHJpbmdzVVJMID0gSW5zcGVjdG9yRnJvbnRlbmRIb3N0
LmxvY2FsaXplZFN0cmluZ3NVUkwoKTsKQEAgLTYyMiw4ICs0OTAsNiBAQCB2YXIgd2luZG93TG9h
ZGVkID0gZnVuY3Rpb24oKQogICAgIH0gZWxzZQogICAgICAgICBXZWJJbnNwZWN0b3IubG9hZGVk
KCk7CiAKLSAgICBXZWJJbnNwZWN0b3IuYXR0YWNoZWQgPSBXZWJJbnNwZWN0b3IucXVlcnlQYXJh
bXNPYmplY3QuZG9ja2VkID09PSAidHJ1ZSI7Ci0KICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0
ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIHdpbmRvd0xvYWRlZCwgZmFsc2UpOwogICAgIGRlbGV0
ZSB3aW5kb3dMb2FkZWQ7CiB9OwpAQCAtNjY4LDggKzUzNCw4IEBAIFdlYkluc3BlY3Rvci53aW5k
b3dSZXNpemUgPSBmdW5jdGlvbihldmVudCkKIAogV2ViSW5zcGVjdG9yLnNldERvY2tpbmdVbmF2
YWlsYWJsZSA9IGZ1bmN0aW9uKHVuYXZhaWxhYmxlKQogewotICAgIHRoaXMuX2lzRG9ja2luZ1Vu
YXZhaWxhYmxlID0gdW5hdmFpbGFibGU7Ci0gICAgdGhpcy5fdXBkYXRlRG9ja0J1dHRvblN0YXRl
KCk7CisgICAgaWYgKHRoaXMuZG9ja0NvbnRyb2xsZXIpCisgICAgICAgIHRoaXMuZG9ja0NvbnRy
b2xsZXIuc2V0RG9ja2luZ1VuYXZhaWxhYmxlKHVuYXZhaWxhYmxlKTsKIH0KIAogV2ViSW5zcGVj
dG9yLmNsb3NlID0gZnVuY3Rpb24oZXZlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3RvckNvbW1vbi5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3RvckNvbW1vbi5jc3MKaW5kZXggODljODRiYTA3MDgy
NmEyNWI2Y2MwMDMxMjIyODAzMGM4Nzc2YzVjMi4uNDFiNDRmYWFmMWE1MzllOTkyZTYyMjY4YWQx
NGQwMDdkMGM1NjBhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9pbnNwZWN0b3JDb21tb24uY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvaW5zcGVjdG9yQ29tbW9uLmNzcwpAQCAtMTcsMTEgKzE3LDExIEBAIGJvZHkgewog
ICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiB9CiAKLWJvZHkuZG9jay10by1yaWdodDpu
b3QoLmRldGFjaGVkKSB7Citib2R5LmRvY2stdG8tcmlnaHQ6bm90KC51bmRvY2tlZCkgewogICAg
IGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiKDgwLCA4MCwgODApOwogfQogCi1ib2R5LmRvY2st
dG8tcmlnaHQuaW5hY3RpdmU6bm90KC5kZXRhY2hlZCkgeworYm9keS5kb2NrLXRvLXJpZ2h0Lmlu
YWN0aXZlOm5vdCgudW5kb2NrZWQpIHsKICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYig2
NCUsIDY0JSwgNjQlKTsKIH0KIAo=
</data>
<flag name="review"
          id="179350"
          type_id="1"
          status="+"
          setter="vsevik"
    />
          </attachment>
      

    </bug>

</bugzilla>