<?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>99717</bug_id>
          
          <creation_ts>2012-10-18 07:47:51 -0700</creation_ts>
          <short_desc>Web Inspector: merge &quot;docked&quot; state into the &quot;dock side&quot; enum.</short_desc>
          <delta_ts>2012-10-22 23:30:44 -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>
          <dependson>99718</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>abarth</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gustavo</cc>
    
    <cc>jamesr</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>tony</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>745249</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-10-18 07:47:51 -0700</bug_when>
    <thetext>Otherwise, it is hard to manage these inter-dependent flags.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746238</commentid>
    <comment_count>1</comment_count>
      <attachid>169602</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-10-19 05:33:47 -0700</bug_when>
    <thetext>Created attachment 169602
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746241</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-19 05:35:57 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746248</commentid>
    <comment_count>3</comment_count>
      <attachid>169602</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-19 06:02:32 -0700</bug_when>
    <thetext>Comment on attachment 169602
Patch

Attachment 169602 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14463466</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746300</commentid>
    <comment_count>4</comment_count>
      <attachid>169602</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2012-10-19 07:56:46 -0700</bug_when>
    <thetext>Comment on attachment 169602
Patch

Attachment 169602 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/14471056</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746325</commentid>
    <comment_count>5</comment_count>
      <attachid>169602</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-19 08:41:27 -0700</bug_when>
    <thetext>Comment on attachment 169602
Patch

Attachment 169602 did not pass win-ews (win):
Output: http://queues.webkit.org/results/14459528</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746361</commentid>
    <comment_count>6</comment_count>
      <attachid>169634</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-10-19 09:24:54 -0700</bug_when>
    <thetext>Created attachment 169634
[Patch] for bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746381</commentid>
    <comment_count>7</comment_count>
      <attachid>169634</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-19 09:52:56 -0700</bug_when>
    <thetext>Comment on attachment 169634
[Patch] for bots

Attachment 169634 did not pass win-ews (win):
Output: http://queues.webkit.org/results/14465507</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746395</commentid>
    <comment_count>8</comment_count>
      <attachid>169640</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-10-19 10:06:00 -0700</bug_when>
    <thetext>Created attachment 169640
[Patch] for bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746571</commentid>
    <comment_count>9</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-10-19 13:04:24 -0700</bug_when>
    <thetext>Committed r131936: &lt;http://trac.webkit.org/changeset/131936&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746657</commentid>
    <comment_count>10</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-10-19 14:38:34 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Committed r131936: &lt;http://trac.webkit.org/changeset/131936&gt;

This broke the build with clang:
../../content/renderer/devtools_client.h:44:16: error: &apos;requestDockWindow&apos; marked &apos;override&apos; but does not override any member functions
  virtual void requestDockWindow() OVERRIDE;
               ^
../../content/renderer/devtools_client.h:45:16: error: &apos;requestUndockWindow&apos; marked &apos;override&apos; but does not override any member functions
  virtual void requestUndockWindow() OVERRIDE;
               ^

Looks like we need to remove the code Chrome side first?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746664</commentid>
    <comment_count>11</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-10-19 14:55:09 -0700</bug_when>
    <thetext>Reverted r131936 for reason:

Broke the clang build

Committed r131946: &lt;http://trac.webkit.org/changeset/131946&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747316</commentid>
    <comment_count>12</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-10-22 01:52:26 -0700</bug_when>
    <thetext>Committed r132045: &lt;http://trac.webkit.org/changeset/132045&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747320</commentid>
    <comment_count>13</comment_count>
      <attachid>169640</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-10-22 02:01:15 -0700</bug_when>
    <thetext>Comment on attachment 169640
[Patch] for bots

Clearing r? from landed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748305</commentid>
    <comment_count>14</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2012-10-22 23:30:44 -0700</bug_when>
    <thetext>This caused bug 100080.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169602</attachid>
            <date>2012-10-19 05:33:47 -0700</date>
            <delta_ts>2012-10-19 09:24:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99717-20121019163230.patch</filename>
            <type>text/plain</type>
            <size>17863</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxODg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDc4ZjI5NzQ5M2RjZDE1
ZDAxN2VkMTBmYTZkMTUwMjhmNWY4ZWNhOS4uMDQ1MGQwNzllZjBjNThjMDk3Njc4ZTc5MWNhZjNk
MmQ2MjYxMDlmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTEwLTE5ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IG1lcmdlICJkb2NrZWQiIHN0YXRlIGludG8gdGhlICJkb2NrIHNpZGUiIGVudW0uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTcxNworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE90aGVyd2lzZSwgaXQg
aXMgaGFyZCB0byBtYW5hZ2UgdGhlc2UgaW50ZXItZGVwZW5kZW50IGZsYWdzLgorCisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50Lmg6CisgICAgICAgIChJbnNwZWN0
b3JGcm9udGVuZENsaWVudCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRMb2NhbDo6cmVxdWVzdFNldERvY2tTaWRlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWw6OnNldEF0dGFjaGVkV2luZG93KToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oOgorICAgICAgICAoSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OnJl
cXVlc3RTZXREb2NrU2lkZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
SG9zdC5oOgorICAgICAgICAoSW5zcGVjdG9yRnJvbnRlbmRIb3N0KToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL0RvY2tDb250cm9sbGVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRvY2tDb250
cm9sbGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Eb2NrQ29udHJvbGxlci5wcm90b3R5cGUu
X3VwZGF0ZVVJLmdldCBzaWRlcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xs
ZXIucHJvdG90eXBlLl91cGRhdGVVSSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRG9ja0NvbnRy
b2xsZXIucHJvdG90eXBlLl90b2dnbGVEb2NrU3RhdGUpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRBUEkuanM6CisgICAgICAgIChJbnNwZWN0b3JGcm9u
dGVuZEFQSS5zZXRBdHRhY2hlZFdpbmRvdyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzOgorICAgICAgICAoLldlYkluc3BlY3Rvci5J
bnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLnByb3RvdHlwZS5yZXF1ZXN0U2V0RG9ja1NpZGUpOgor
CiAyMDEyLTEwLTE5ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IEdldCByaWQgb2YgaXNTbmlwcGV0RXZhbHVhdGlvbiBmbGFn
IG9uIFVJU291cmNlQ29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA5YWRiYzQwZjg0
NmM5MDM4NzYxM2Q4YzIxNGRiZjBlODFjZWY1ZGI1Li42Mjc1NzQ0MGM1MWNmNWEzYzM1YjFmY2U2
MTVhMjg1N2NhYzU5MjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDEyLTEwLTE5ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFdlYiBJbnNwZWN0b3I6IG1lcmdlICJkb2NrZWQiIHN0YXRlIGludG8gdGhlICJk
b2NrIHNpZGUiIGVudW0uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05OTcxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogcHVibGljL1dlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQuaDoKKyAgICAgICAgKiBz
cmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsOjpyZXF1ZXN0U2V0RG9ja1NpZGUpOgorICAgICAgICAq
IHNyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaDoKKyAgICAgICAgKEluc3BlY3RvckZy
b250ZW5kQ2xpZW50SW1wbCk6CisKIDIwMTItMTAtMTcgIElseWEgVGlraG9ub3Zza3kgIDxsb2lz
bG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5NSSBwcm92aWRlIGRh
dGEgZm9yIG1peGluZyB3aXRoIHRjbWFsbG9jIGhlYXAgZHVtcHMuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudC5oCmluZGV4IGM0NjFmZDk5
YzViYzEzMWI5ZTQxYzAzMmU3MDFjODkyOGE4ZmQwYzcuLmY3ZmQ4NWM4MTZmZGZjMWU4OWU3NWEz
MTRiNmU5MjY4YzcwMGMxMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JGcm9udGVuZENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JGcm9udGVuZENsaWVudC5oCkBAIC00MSw2ICs0MSwxMiBAQCBjbGFzcyBFdmVudDsK
IAogY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQgewogcHVibGljOgorICAgIGVudW0gRG9j
a1NpZGUgeworICAgICAgICBVTkRPQ0tFRCA9IDAsCisgICAgICAgIERPQ0tFRF9UT19SSUdIVCwK
KyAgICAgICAgRE9DS0VEX1RPX0JPVFRPTQorICAgIH07CisKICAgICB2aXJ0dWFsIH5JbnNwZWN0
b3JGcm9udGVuZENsaWVudCgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIHdpbmRvd09iamVjdENs
ZWFyZWQoKSA9IDA7CkBAIC01NCw5ICs2MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
YnJpbmdUb0Zyb250KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjbG9zZVdpbmRvdygpID0gMDsK
IAotICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0QXR0YWNoV2luZG93KCkgPSAwOwotICAgIHZpcnR1
YWwgdm9pZCByZXF1ZXN0RGV0YWNoV2luZG93KCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCByZXF1
ZXN0U2V0RG9ja1NpZGUoY29uc3QgU3RyaW5nJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZXF1
ZXN0U2V0RG9ja1NpZGUoRG9ja1NpZGUpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2hhbmdlQXR0
YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgb3Blbklu
TmV3VGFiKGNvbnN0IFN0cmluZyYgdXJsKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGNhblNhdmUo
KSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRMb2NhbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKaW5kZXggNTMwODI3MzUzZGE4N2I1ZjNjNWU4MjljNDQ4
NjE1NmNlMzA5ZDI4NC4uZGJlZTcwN2M1YzljMjY2MjkwNDk1YTQxOTkyMjgwMjhiMDZhZDNjOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xp
ZW50TG9jYWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZENsaWVudExvY2FsLmNwcApAQCAtMTQ4LDE4ICsxNDgsMTUgQEAgdm9pZCBJbnNwZWN0b3JG
cm9udGVuZENsaWVudExvY2FsOjpmcm9udGVuZExvYWRlZCgpCiAgICAgbV9ldmFsdWF0ZU9uTG9h
ZC5jbGVhcigpOwogfQogCi12b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6OnJlcXVl
c3RBdHRhY2hXaW5kb3coKQordm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsOjpyZXF1
ZXN0U2V0RG9ja1NpZGUoRG9ja1NpZGUgZG9ja1NpZGUpCiB7Ci0gICAgaWYgKCFjYW5BdHRhY2hX
aW5kb3coKSkKLSAgICAgICAgcmV0dXJuOwotICAgIGF0dGFjaFdpbmRvdygpOwotICAgIHNldEF0
dGFjaGVkV2luZG93KHRydWUpOwotfQotCi12b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9j
YWw6OnJlcXVlc3REZXRhY2hXaW5kb3coKQotewotICAgIGRldGFjaFdpbmRvdygpOwotICAgIHNl
dEF0dGFjaGVkV2luZG93KGZhbHNlKTsKKyAgICBpZiAoZG9ja1NpZGUgPT0gVU5ET0NLRUQpIHsK
KyAgICAgICAgZGV0YWNoV2luZG93KCk7CisgICAgICAgIHNldEF0dGFjaGVkV2luZG93KGZhbHNl
KTsKKyAgICB9IGVsc2UgaWYgKGNhbkF0dGFjaFdpbmRvdygpKSB7CisgICAgICAgIGF0dGFjaFdp
bmRvdygpOworICAgICAgICBzZXRBdHRhY2hlZFdpbmRvdyh0cnVlKTsKKyAgICB9CiB9CiAKIGJv
b2wgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6Y2FuQXR0YWNoV2luZG93KCkKQEAgLTIx
NCw3ICsyMTEsNyBAQCB2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6Om1vdmVXaW5k
b3dCeShmbG9hdCB4LCBmbG9hdCB5KQogCiB2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9j
YWw6OnNldEF0dGFjaGVkV2luZG93KGJvb2wgYXR0YWNoZWQpCiB7Ci0gICAgZXZhbHVhdGVPbkxv
YWQoU3RyaW5nOjpmb3JtYXQoIltcInNldEF0dGFjaGVkV2luZG93XCIsICVzXSIsIGF0dGFjaGVk
ID8gInRydWUiIDogImZhbHNlIikpOworICAgIGV2YWx1YXRlT25Mb2FkKFN0cmluZzo6Zm9ybWF0
KCJbXCJzZXREb2NrU2lkZVwiLCAlc10iLCBhdHRhY2hlZCA/ICJib3R0b20iIDogInVuZG9ja2Vk
IikpOwogfQogCiB2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6OnJlc3RvcmVBdHRh
Y2hlZFdpbmRvd0hlaWdodCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAppbmRleCBhZjg0OTNiOTllZjM0ZjBjZDc2
MWUwYTYyY2VkZWYwMDAwOWUxM2ZlLi5jZTM2Mjg3YjFiYTU5OWEwM2NlMjRlNGFjYjk2NTMyZWY3
OWU4MjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRMb2NhbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmgKQEAgLTYzLDkgKzYzLDcgQEAgcHVibGljOgogCiAgICAg
dmlydHVhbCB2b2lkIG1vdmVXaW5kb3dCeShmbG9hdCB4LCBmbG9hdCB5KTsKIAotICAgIHZpcnR1
YWwgdm9pZCByZXF1ZXN0QXR0YWNoV2luZG93KCk7Ci0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RE
ZXRhY2hXaW5kb3coKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFNldERvY2tTaWRlKGNvbnN0
IFN0cmluZyYpIHsgfQorICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U2V0RG9ja1NpZGUoRG9ja1Np
ZGUpOwogICAgIHZpcnR1YWwgdm9pZCBjaGFuZ2VBdHRhY2hlZFdpbmRvd0hlaWdodCh1bnNpZ25l
ZCk7CiAgICAgdmlydHVhbCB2b2lkIG9wZW5Jbk5ld1RhYihjb25zdCBTdHJpbmcmIHVybCk7CiAg
ICAgdmlydHVhbCBib29sIGNhblNhdmUoKSB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAppbmRleCA4OTVh
YjAzODNmYjdmMmUyNzE2ZmI0M2RhYThjZDBkMTE5YmI3NjA1Li44MmRiMGJiZmUwMjBhYmFiM2Vl
OTM4ZTgzMzAyZmJlN2RlN2UyM2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcApAQCAtMTQ5LDIyICsxNDksMTYgQEAgdm9pZCBJ
bnNwZWN0b3JGcm9udGVuZEhvc3Q6OmxvYWRlZCgpCiAgICAgICAgIG1fY2xpZW50LT5mcm9udGVu
ZExvYWRlZCgpOwogfQogCi12b2lkIEluc3BlY3RvckZyb250ZW5kSG9zdDo6cmVxdWVzdEF0dGFj
aFdpbmRvdygpCi17Ci0gICAgaWYgKG1fY2xpZW50KQotICAgICAgICBtX2NsaWVudC0+cmVxdWVz
dEF0dGFjaFdpbmRvdygpOwotfQotCi12b2lkIEluc3BlY3RvckZyb250ZW5kSG9zdDo6cmVxdWVz
dERldGFjaFdpbmRvdygpCi17Ci0gICAgaWYgKG1fY2xpZW50KQotICAgICAgICBtX2NsaWVudC0+
cmVxdWVzdERldGFjaFdpbmRvdygpOwotfQotCiB2b2lkIEluc3BlY3RvckZyb250ZW5kSG9zdDo6
cmVxdWVzdFNldERvY2tTaWRlKGNvbnN0IFN0cmluZyYgc2lkZSkKIHsKLSAgICBpZiAobV9jbGll
bnQpCi0gICAgICAgIG1fY2xpZW50LT5yZXF1ZXN0U2V0RG9ja1NpZGUoc2lkZSk7CisgICAgaWYg
KCFtX2NsaWVudCkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChzaWRlID09ICJ1bmRvY2tlZCIp
CisgICAgICAgIG1fY2xpZW50LT5yZXF1ZXN0U2V0RG9ja1NpZGUoSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnQ6OlVORE9DS0VEKTsKKyAgICBlbHNlIGlmIChzaWRlID09ICJyaWdodCIpCisgICAgICAg
IG1fY2xpZW50LT5yZXF1ZXN0U2V0RG9ja1NpZGUoSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OkRP
Q0tFRF9UT19SSUdIVCk7CisgICAgZWxzZSBpZiAoc2lkZSA9PSAiYm90dG9tIikKKyAgICAgICAg
bV9jbGllbnQtPnJlcXVlc3RTZXREb2NrU2lkZShJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6RE9D
S0VEX1RPX0JPVFRPTSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpjbG9zZVdp
bmRvdygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRIb3N0LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRI
b3N0LmgKaW5kZXggOTNlYjQyNzIyNjJhYjlmZGUxMjdiZjdmZDQxYzY5YTVkNmU4NmYyYi4uZWE2
ZDEwMTk4M2Q5OTk5N2Q0MmE3MDkyOTlmNjIyZmVkYzk4MzUwMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaApAQCAtNTcsOCArNTcsNiBA
QCBwdWJsaWM6CiAgICAgdm9pZCBkaXNjb25uZWN0Q2xpZW50KCk7CiAKICAgICB2b2lkIGxvYWRl
ZCgpOwotICAgIHZvaWQgcmVxdWVzdEF0dGFjaFdpbmRvdygpOwotICAgIHZvaWQgcmVxdWVzdERl
dGFjaFdpbmRvdygpOwogICAgIHZvaWQgcmVxdWVzdFNldERvY2tTaWRlKGNvbnN0IFN0cmluZyYp
OwogICAgIHZvaWQgY2xvc2VXaW5kb3coKTsKICAgICB2b2lkIGJyaW5nVG9Gcm9udCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbApp
bmRleCAwZWRkMDY5ZmJmN2EzN2Q2ZjllNzY4ZTEzNzJiNTUzOGFjM2RmMzgzLi43MjhhYTBjMGU0
YjBmOTAxMzI0NjczYTEwMDVkMThjNmU5OTczZDFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbApAQCAtMzksOCArMzksNiBAQAog
ICAgIHZvaWQgc2V0Wm9vbUZhY3RvcihpbiBmbG9hdCB6b29tKTsKICAgICB2b2lkIGluc3BlY3Rl
ZFVSTENoYW5nZWQoaW4gRE9NU3RyaW5nIG5ld1VSTCk7CiAKLSAgICB2b2lkIHJlcXVlc3RBdHRh
Y2hXaW5kb3coKTsKLSAgICB2b2lkIHJlcXVlc3REZXRhY2hXaW5kb3coKTsKICAgICB2b2lkIHJl
cXVlc3RTZXREb2NrU2lkZShpbiBET01TdHJpbmcgc2lkZSk7CiAgICAgdm9pZCBzZXRBdHRhY2hl
ZFdpbmRvd0hlaWdodChpbiB1bnNpZ25lZCBsb25nIGhlaWdodCk7CiAgICAgdm9pZCBtb3ZlV2lu
ZG93QnkoaW4gZmxvYXQgeCwgaW4gZmxvYXQgeSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RvY2tDb250cm9sbGVyLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9Eb2NrQ29udHJvbGxlci5qcwppbmRleCA1NjY5NDY4NmZjNzM3
OTEwZGNiNDgzYzkzOWVjZjhiNzEyZWJkNDkwLi41YzQ4Y2FiZmUzYzljNGQ4N2RhZjM2NDFiNzRj
ZGQxYjY4OWZmMWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0RvY2tDb250cm9sbGVyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvRG9ja0NvbnRyb2xsZXIuanMKQEAgLTQwLDggKzQwLDcgQEAgV2ViSW5zcGVjdG9yLkRv
Y2tDb250cm9sbGVyID0gZnVuY3Rpb24oKQogICAgIGlmIChQcmVmZXJlbmNlcy5zaG93RG9ja1Rv
UmlnaHQpCiAgICAgICAgIHRoaXMuX2RvY2tUb2dnbGVCdXR0b24ubWFrZUxvbmdDbGlja0VuYWJs
ZWQodGhpcy5fY3JlYXRlRG9ja09wdGlvbnMuYmluZCh0aGlzKSk7CiAKLSAgICB0aGlzLl9kb2Nr
U2lkZSA9IFdlYkluc3BlY3Rvci5xdWVyeVBhcmFtc09iamVjdFsiZG9ja1NpZGUiXTsKLSAgICB0
aGlzLl9pbm5lclNldERvY2tlZChXZWJJbnNwZWN0b3IucXVlcnlQYXJhbXNPYmplY3RbImRvY2tl
ZCJdID09PSAidHJ1ZSIpOworICAgIHRoaXMuc2V0RG9ja1NpZGUoV2ViSW5zcGVjdG9yLnF1ZXJ5
UGFyYW1zT2JqZWN0WyJkb2NrU2lkZSJdKTsKIH0KIAogV2ViSW5zcGVjdG9yLkRvY2tDb250cm9s
bGVyLlN0YXRlID0gewpAQCAtNjAsMzMgKzU5LDE4IEBAIFdlYkluc3BlY3Rvci5Eb2NrQ29udHJv
bGxlci5wcm90b3R5cGUgPSB7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEBwYXJhbSB7Ym9v
bGVhbn0gZG9ja2VkCisgICAgICogQHBhcmFtIHtzdHJpbmd9IGRvY2tTaWRlCiAgICAgICovCi0g
ICAgc2V0RG9ja2VkOiBmdW5jdGlvbihkb2NrZWQpCisgICAgc2V0RG9ja1NpZGU6IGZ1bmN0aW9u
KGRvY2tTaWRlKQogICAgIHsKLSAgICAgICAgdmFyIGlzRG9ja2VkID0gdGhpcy5fc3RhdGUgIT09
IFdlYkluc3BlY3Rvci5Eb2NrQ29udHJvbGxlci5TdGF0ZS5VbmRvY2tlZDsKLSAgICAgICAgaWYg
KGRvY2tlZCAhPT0gaXNEb2NrZWQpCi0gICAgICAgICAgICB0aGlzLl9pbm5lclNldERvY2tlZChk
b2NrZWQpOwotICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGRvY2tl
ZAotICAgICAqLwotICAgIF9pbm5lclNldERvY2tlZDogZnVuY3Rpb24oZG9ja2VkKQotICAgIHsK
LSAgICAgICAgaWYgKHRoaXMuX3N0YXRlKQotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNldHRp
bmdzLmxhc3REb2NrU3RhdGUuc2V0KHRoaXMuX3N0YXRlKTsKKyAgICAgICAgaWYgKHRoaXMuX2Rv
Y2tTaWRlKQorICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLmxhc3REb2NrU3RhdGUu
c2V0KHRoaXMuX2RvY2tTaWRlKTsKIAotICAgICAgICBpZiAoIWRvY2tlZCkgewotICAgICAgICAg
ICAgdGhpcy5fc3RhdGUgPSBXZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xsZXIuU3RhdGUuVW5kb2Nr
ZWQ7CisgICAgICAgIHRoaXMuX2RvY2tTaWRlID0gZG9ja1NpZGU7CisgICAgICAgIGlmIChkb2Nr
U2lkZSA9PT0gV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyLlN0YXRlLlVuZG9ja2VkKSAKICAg
ICAgICAgICAgIFdlYkluc3BlY3Rvci51c2VyTWV0cmljcy5XaW5kb3dEb2NrZWQucmVjb3JkKCk7
Ci0gICAgICAgIH0gZWxzZSBpZiAodGhpcy5fZG9ja1NpZGUgPT09ICJyaWdodCIpIHsKLSAgICAg
ICAgICAgIHRoaXMuX3N0YXRlID0gV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyLlN0YXRlLkRv
Y2tlZFRvUmlnaHQ7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IudXNlck1ldHJpY3MuV2luZG93
VW5kb2NrZWQucmVjb3JkKCk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB0aGlzLl9z
dGF0ZSA9IFdlYkluc3BlY3Rvci5Eb2NrQ29udHJvbGxlci5TdGF0ZS5Eb2NrZWRUb0JvdHRvbTsK
KyAgICAgICAgZWxzZQogICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnVzZXJNZXRyaWNzLldpbmRv
d1VuZG9ja2VkLnJlY29yZCgpOwotICAgICAgICB9CiAgICAgICAgIHRoaXMuX3VwZGF0ZVVJKCk7
CiAgICAgfSwKIApAQCAtMTAyLDcgKzg2LDcgQEAgV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVy
LnByb3RvdHlwZSA9IHsKICAgICBfdXBkYXRlVUk6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAg
IHZhciBib2R5ID0gZG9jdW1lbnQuYm9keTsKLSAgICAgICAgc3dpdGNoICh0aGlzLl9zdGF0ZSkg
eworICAgICAgICBzd2l0Y2ggKHRoaXMuX2RvY2tTaWRlKSB7CiAgICAgICAgIGNhc2UgV2ViSW5z
cGVjdG9yLkRvY2tDb250cm9sbGVyLlN0YXRlLkRvY2tlZFRvQm90dG9tOgogICAgICAgICAgICAg
Ym9keS5yZW1vdmVTdHlsZUNsYXNzKCJ1bmRvY2tlZCIpOwogICAgICAgICAgICAgYm9keS5yZW1v
dmVTdHlsZUNsYXNzKCJkb2NrLXRvLXJpZ2h0Iik7CkBAIC0xMjksMTcgKzExMywxNyBAQCBXZWJJ
bnNwZWN0b3IuRG9ja0NvbnRyb2xsZXIucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9kb2Nr
VG9nZ2xlQnV0dG9uLmRpc2FibGVkID0gZmFsc2U7CiAKICAgICAgICAgLy8gQ2hvb3NlIGRpZmZl
cmVudCBsYXN0IHN0YXRlIGJhc2VkIG9uIHRoZSBjdXJyZW50IG9uZSBpZiBtaXNzaW5nIG9yIGlm
IGlzIHRoZSBzYW1lLgotICAgICAgICB2YXIgc3RhdGVzID0gW1dlYkluc3BlY3Rvci5Eb2NrQ29u
dHJvbGxlci5TdGF0ZS5Eb2NrZWRUb0JvdHRvbSwgV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVy
LlN0YXRlLlVuZG9ja2VkLCBXZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xsZXIuU3RhdGUuRG9ja2Vk
VG9SaWdodF07Ci0gICAgICAgIHN0YXRlcy5yZW1vdmUodGhpcy5fc3RhdGUpOworICAgICAgICB2
YXIgc2lkZXMgPSBbV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyLlN0YXRlLkRvY2tlZFRvQm90
dG9tLCBXZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xsZXIuU3RhdGUuVW5kb2NrZWQsIFdlYkluc3Bl
Y3Rvci5Eb2NrQ29udHJvbGxlci5TdGF0ZS5Eb2NrZWRUb1JpZ2h0XTsKKyAgICAgICAgc2lkZXMu
cmVtb3ZlKHRoaXMuX2RvY2tTaWRlKTsKICAgICAgICAgdmFyIGxhc3RTdGF0ZSA9IFdlYkluc3Bl
Y3Rvci5zZXR0aW5ncy5sYXN0RG9ja1N0YXRlLmdldCgpOwogCi0gICAgICAgIHN0YXRlcy5yZW1v
dmUobGFzdFN0YXRlKTsKLSAgICAgICAgaWYgKHN0YXRlcy5sZW5ndGggPT09IDIpIHsgLy8gbGFz
dCBzdGF0ZSB3YXMgbm90IGZyb20gdGhlIGxpc3Qgb2YgcG90ZW50aWFsIHZhbHVlcwotICAgICAg
ICAgICAgbGFzdFN0YXRlID0gc3RhdGVzWzBdOwotICAgICAgICAgICAgc3RhdGVzLnJlbW92ZShs
YXN0U3RhdGUpOworICAgICAgICBzaWRlcy5yZW1vdmUobGFzdFN0YXRlKTsKKyAgICAgICAgaWYg
KHNpZGVzLmxlbmd0aCA9PT0gMikgeyAvLyBsYXN0IHN0YXRlIHdhcyBub3QgZnJvbSB0aGUgbGlz
dCBvZiBwb3RlbnRpYWwgdmFsdWVzCisgICAgICAgICAgICBsYXN0U3RhdGUgPSBzaWRlc1swXTsK
KyAgICAgICAgICAgIHNpZGVzLnJlbW92ZShsYXN0U3RhdGUpOwogICAgICAgICB9CiAgICAgICAg
IHRoaXMuX2RlY29yYXRlQnV0dG9uRm9yVGFyZ2V0U3RhdGUodGhpcy5fZG9ja1RvZ2dsZUJ1dHRv
biwgbGFzdFN0YXRlKTsKLSAgICAgICAgdGhpcy5fZGVjb3JhdGVCdXR0b25Gb3JUYXJnZXRTdGF0
ZSh0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uT3B0aW9uLCBzdGF0ZXNbMF0pOworICAgICAgICB0aGlz
Ll9kZWNvcmF0ZUJ1dHRvbkZvclRhcmdldFN0YXRlKHRoaXMuX2RvY2tUb2dnbGVCdXR0b25PcHRp
b24sIHNpZGVzWzBdKTsKICAgICB9LAogCiAgICAgLyoqCkBAIC0xNzQsMjIgKzE1OCwxMyBAQCBX
ZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xsZXIucHJvdG90eXBlID0gewogICAgICAqLwogICAgIF90
b2dnbGVEb2NrU3RhdGU6IGZ1bmN0aW9uKGUpCiAgICAgewotICAgICAgICB2YXIgc3RhdGUgPSBl
LnRhcmdldC5zdGF0ZTsKLSAgICAgICAgc3dpdGNoIChzdGF0ZSkgewotICAgICAgICBjYXNlICJ1
bmRvY2siOgotICAgICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LnJlcXVlc3REZXRhY2hX
aW5kb3coKTsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci51c2VyTWV0cmljcy5XaW5kb3dVbmRv
Y2tlZC5yZWNvcmQoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICJyaWdodCI6
Ci0gICAgICAgIGNhc2UgImJvdHRvbSI6Ci0gICAgICAgICAgICB0aGlzLl9kb2NrU2lkZSA9IHN0
YXRlOwotICAgICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LnJlcXVlc3RTZXREb2NrU2lk
ZSh0aGlzLl9kb2NrU2lkZSk7Ci0gICAgICAgICAgICBpZiAodGhpcy5fc3RhdGUgPT09IFdlYklu
c3BlY3Rvci5Eb2NrQ29udHJvbGxlci5TdGF0ZS5VbmRvY2tlZCkKLSAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JGcm9udGVuZEhvc3QucmVxdWVzdEF0dGFjaFdpbmRvdygpOwotICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgIHRoaXMuX2lubmVyU2V0RG9ja2VkKHRydWUpOwotICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIHZhciBhY3Rpb247CisgICAgICAgIHN3aXRjaCAoZS50YXJn
ZXQuc3RhdGUpIHsKKyAgICAgICAgY2FzZSAiYm90dG9tIjogYWN0aW9uID0gImJvdHRvbSI7IGJy
ZWFrOworICAgICAgICBjYXNlICJyaWdodCI6IGFjdGlvbiA9ICJyaWdodCI7IGJyZWFrOworICAg
ICAgICBjYXNlICJ1bmRvY2siOiBhY3Rpb24gPSAidW5kb2NrZWQiOyBicmVhazsKICAgICAgICAg
fQorICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QucmVxdWVzdFNldERvY2tTaWRlKGFjdGlv
bik7CiAgICAgfSwKIAogICAgIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEFQSS5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRBUEkuanMKaW5kZXggYzBjNjBkYmU5
ZmU5NTZmNTU5YjEyMzdhMTJiODM2MDhjNDliNjFjZS4uZjFiYjgyYmVhMzFlMGE5ODliYmZjOTY0
N2EzOGJkOGY4MWI2ZDhkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEFQSS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kQVBJLmpzCkBAIC03NCwxNCArNzQsMTUg
QEAgdmFyIEluc3BlY3RvckZyb250ZW5kQVBJID0gewogICAgICAgICAgICAgV2ViSW5zcGVjdG9y
LkNQVVByb2ZpbGVUeXBlLmluc3RhbmNlLnN0b3BSZWNvcmRpbmdQcm9maWxlKCk7CiAgICAgfSwK
IAotICAgIHNldEF0dGFjaGVkV2luZG93OiBmdW5jdGlvbihhdHRhY2hlZCkKKyAgICBzZXRBdHRh
Y2hlZFdpbmRvdzogZnVuY3Rpb24oc2lkZSkKICAgICB7Ci0gICAgICAgIGlmIChXZWJJbnNwZWN0
b3IuZG9ja0NvbnRyb2xsZXIpCi0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9ja0NvbnRyb2xs
ZXIuc2V0RG9ja2VkKGF0dGFjaGVkKTsKKyAgICAgIAogICAgIH0sCiAKLSAgICBzZXREb2NrU2lk
ZTogZnVuY3Rpb24oZG9ja1NpZGUpCisgICAgc2V0RG9ja1NpZGU6IGZ1bmN0aW9uKHNpZGUpCiAg
ICAgeworICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLmRvY2tDb250cm9sbGVyKQorICAgICAgICAg
ICAgV2ViSW5zcGVjdG9yLmRvY2tDb250cm9sbGVyLnNldERvY2tTaWRlKHNpZGUpOwogICAgIH0s
CiAKICAgICBzaG93Q29uc29sZTogZnVuY3Rpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHVi
LmpzCmluZGV4IDMwNDk0ZjIxY2RjODQwZmZmNWVjZThlMzJkOGIwYWJjOTk5Y2Y2ZGYuLmU5MjM0
OGE4ODliNTk0MzFiNmRhM2ViNjlmYzI1NzViOTM1NDk3YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5k
SG9zdFN0dWIuanMKQEAgLTY5LDE4ICs2OSw5IEBAIFdlYkluc3BlY3Rvci5JbnNwZWN0b3JGcm9u
dGVuZEhvc3RTdHViLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fd2luZG93VmlzaWJsZSA9
IGZhbHNlOwogICAgIH0sCiAKLSAgICByZXF1ZXN0QXR0YWNoV2luZG93OiBmdW5jdGlvbigpCi0g
ICAgewotICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEFQSS5zZXRBdHRhY2hlZFdpbmRvdyh0cnVl
KTsKLSAgICB9LAotCi0gICAgcmVxdWVzdERldGFjaFdpbmRvdzogZnVuY3Rpb24oKQotICAgIHsK
LSAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRBUEkuc2V0QXR0YWNoZWRXaW5kb3coZmFsc2UpOwot
ICAgIH0sCi0KLSAgICByZXF1ZXN0U2V0RG9ja1NpZGU6IGZ1bmN0aW9uKCkKKyAgICByZXF1ZXN0
U2V0RG9ja1NpZGU6IGZ1bmN0aW9uKHNpZGUpCiAgICAgeworICAgICAgICBJbnNwZWN0b3JGcm9u
dGVuZEFQSS5zZXREb2NrU2lkZShzaWRlKTsKICAgICB9LAogCiAgICAgc2V0QXR0YWNoZWRXaW5k
b3dIZWlnaHQ6IGZ1bmN0aW9uKGhlaWdodCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQuaAppbmRleCAwNDM4Y2Qz
NTU2ZDE0YmQ1NGZmYzY4YjhmMjliZjBkZTdkNmVmZmY2Li4wMTkxNDI5ODliMTE4OWU3M2QyNTA3
NzI5NWIwZjQ0MTExZmQyNTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViRGV2VG9vbHNGcm9udGVuZENsaWVudC5oCkBAIC00NSw4ICs0NSw2IEBA
IHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBhY3RpdmF0ZVdpbmRvdygpIHsgfQogICAgIHZp
cnR1YWwgdm9pZCBjbG9zZVdpbmRvdygpIHsgfQotICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0RG9j
a1dpbmRvdygpIHsgfQotICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0VW5kb2NrV2luZG93KCkgeyB9
CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTZXREb2NrU2lkZShjb25zdCBXZWJTdHJpbmcmIHNp
ZGUpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBtb3ZlV2luZG93QnkoY29uc3QgV2ViRmxvYXRQb2lu
dCYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBvcGVuSW5OZXdUYWIoY29uc3QgV2ViU3RyaW5nJiBz
aWRlKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3Rv
ckZyb250ZW5kQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNw
ZWN0b3JGcm9udGVuZENsaWVudEltcGwuY3BwCmluZGV4IDc2M2M4NWRhODZkM2NkYzFmMTE4ZmE4
OGNkYmU3ZDc4ZDlmNGJhNDEuLmZjZmEyNWY5Yzk5NzA2NWExNTE0MmViMzYxZDdmOTFjOWM1ZTkx
NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250
ZW5kQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnRJbXBsLmNwcApAQCAtMTAzLDE5ICsxMDMsMTUgQEAgdm9pZCBJbnNw
ZWN0b3JGcm9udGVuZENsaWVudEltcGw6OmNsb3NlV2luZG93KCkKICAgICBtX2NsaWVudC0+Y2xv
c2VXaW5kb3coKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGw6OnJlcXVl
c3RBdHRhY2hXaW5kb3coKQotewotICAgIG1fY2xpZW50LT5yZXF1ZXN0RG9ja1dpbmRvdygpOwot
fQotCi12b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbDo6cmVxdWVzdERldGFjaFdpbmRv
dygpCi17Ci0gICAgbV9jbGllbnQtPnJlcXVlc3RVbmRvY2tXaW5kb3coKTsKLX0KLQotdm9pZCBJ
bnNwZWN0b3JGcm9udGVuZENsaWVudEltcGw6OnJlcXVlc3RTZXREb2NrU2lkZShjb25zdCBTdHJp
bmcmIHNpZGUpCi17Ci0gICAgbV9jbGllbnQtPnJlcXVlc3RTZXREb2NrU2lkZShzaWRlKTsKK3Zv
aWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsOjpyZXF1ZXN0U2V0RG9ja1NpZGUoRG9ja1Np
ZGUgc2lkZSkKK3sKKyAgICBTdHJpbmcgc2lkZVN0cmluZyA9ICJ1bmRvY2tlZCI7CisgICAgc3dp
dGNoIChzaWRlKSB7CisgICAgY2FzZSBET0NLRURfVE9fUklHSFQ6IHNpZGVTdHJpbmcgPSAicmln
aHQiOyBicmVhazsKKyAgICBjYXNlIERPQ0tFRF9UT19CT1RUT006IHNpZGVTdHJpbmcgPSAiYm90
dG9tIjsgYnJlYWs7CisgICAgY2FzZSBVTkRPQ0tFRDogc2lkZVN0cmluZyA9ICJ1bmRvY2tlZCI7
IGJyZWFrOworICAgIH0KKyAgICBtX2NsaWVudC0+cmVxdWVzdFNldERvY2tTaWRlKHNpZGVTdHJp
bmcpOwogfQogCiB2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbDo6Y2hhbmdlQXR0YWNo
ZWRXaW5kb3dIZWlnaHQodW5zaWduZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCmluZGV4IDU1ZTU3ZTY5Njg3
OWRjOWZhOWJiNjVmNDEzZTdlODBlMjllNTk1MzguLjcyZjhkNjhiNmIyZDJjMDBkYmQ5YjA2MjUx
MGQ5Nzg3Y2Y5MDZjMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lu
c3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCkBAIC02Miw5ICs2Miw3IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgYnJpbmdUb0Zyb250KCk7CiAgICAgdmlydHVhbCB2b2lkIGNs
b3NlV2luZG93KCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdEF0dGFjaFdpbmRvdygpOwot
ICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0RGV0YWNoV2luZG93KCk7Ci0gICAgdmlydHVhbCB2b2lk
IHJlcXVlc3RTZXREb2NrU2lkZShjb25zdCBTdHJpbmcmKTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVx
dWVzdFNldERvY2tTaWRlKERvY2tTaWRlKTsKICAgICB2aXJ0dWFsIHZvaWQgY2hhbmdlQXR0YWNo
ZWRXaW5kb3dIZWlnaHQodW5zaWduZWQpOwogCiAgICAgdmlydHVhbCB2b2lkIG9wZW5Jbk5ld1Rh
Yihjb25zdCBTdHJpbmcmIHVybCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169634</attachid>
            <date>2012-10-19 09:24:54 -0700</date>
            <delta_ts>2012-10-19 10:05:54 -0700</delta_ts>
            <desc>[Patch] for bots</desc>
            <filename>bug-99717-20121019202336.patch</filename>
            <type>text/plain</type>
            <size>22852</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxODk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWJiZGQ4NTZlNmY5ZmI5
ZThiMTYyMWFlNWFiNjM0ZDIyYjE1NWI5Ni4uNzFkY2VmY2UzYjhmYjY0YjcwMDM2MTAyZGNhYmNm
NWYzYTZjMjViYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTEwLTE5ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IG1lcmdlICJkb2NrZWQiIHN0YXRlIGludG8gdGhlICJkb2NrIHNpZGUiIGVudW0uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTcxNworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE90aGVyd2lzZSwgaXQg
aXMgaGFyZCB0byBtYW5hZ2UgdGhlc2UgaW50ZXItZGVwZW5kZW50IGZsYWdzLgorCisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50Lmg6CisgICAgICAgIChJbnNwZWN0
b3JGcm9udGVuZENsaWVudCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRMb2NhbDo6cmVxdWVzdFNldERvY2tTaWRlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWw6OnNldEF0dGFjaGVkV2luZG93KToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oOgorICAgICAgICAoSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OnJl
cXVlc3RTZXREb2NrU2lkZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
SG9zdC5oOgorICAgICAgICAoSW5zcGVjdG9yRnJvbnRlbmRIb3N0KToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL0RvY2tDb250cm9sbGVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRvY2tDb250
cm9sbGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Eb2NrQ29udHJvbGxlci5wcm90b3R5cGUu
X3VwZGF0ZVVJLmdldCBzaWRlcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xs
ZXIucHJvdG90eXBlLl91cGRhdGVVSSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRG9ja0NvbnRy
b2xsZXIucHJvdG90eXBlLl90b2dnbGVEb2NrU3RhdGUpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRBUEkuanM6CisgICAgICAgIChJbnNwZWN0b3JGcm9u
dGVuZEFQSS5zZXRBdHRhY2hlZFdpbmRvdyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzOgorICAgICAgICAoLldlYkluc3BlY3Rvci5J
bnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLnByb3RvdHlwZS5yZXF1ZXN0U2V0RG9ja1NpZGUpOgor
CiAyMDEyLTEwLTE5ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IGluc3BlY3Rvci9zdHlsZXMvc3R5bGVzLWhpc3RvcnkuaHRt
bCBpcyBmYWlsaW5nIFRleHQgb24gV2luZG93cyBhbmQgTGludXgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKaW5kZXggOWFkYmM0MGY4NDZjOTAzODc2MTNkOGMyMTRkYmYwZTgxY2VmNWRiNS4uNjI3
NTc0NDBjNTFjZjVhM2MzNWIxZmNlNjE1YTI4NTdjYWM1OTI2ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0xMC0xOSAgUGF2ZWwgRmVsZG1hbiAgPHBm
ZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBtZXJnZSAiZG9j
a2VkIiBzdGF0ZSBpbnRvIHRoZSAiZG9jayBzaWRlIiBlbnVtLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTk3MTcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1YmxpYy9XZWJEZXZUb29sc0Zyb250ZW5k
Q2xpZW50Lmg6CisgICAgICAgICogc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5jcHA6
CisgICAgICAgIChXZWJLaXQ6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbDo6cmVxdWVzdFNl
dERvY2tTaWRlKToKKyAgICAgICAgKiBzcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmg6
CisgICAgICAgIChJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwpOgorCiAyMDEyLTEwLTE3ICBJ
bHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5z
cGVjdG9yOiBOTUkgcHJvdmlkZSBkYXRhIGZvciBtaXhpbmcgd2l0aCB0Y21hbGxvYyBoZWFwIGR1
bXBzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBiZjNhOTZiZjkzNjI3OTI4OTE3MjU5YTg3YmY0
MTY0OTQwOTRmMDE5Li5kN2JjNDRmZmYzZTNiYzA0MGVkNGU5ZjM4NzJmNDY4Njc5NGJhMGE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMjMwNiw4ICsyMzA2LDcgQEAgX19aTjdXZWJDb3JlMjhJ
bnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMTRmcm9udGVuZExvYWRlZEV2CiBfX1pON1dlYkNv
cmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwxNWNhbkF0dGFjaFdpbmRvd0V2CiBfX1pO
N1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwxN3NldEF0dGFjaGVkV2luZG93
RWIKIF9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDE4aXNEZWJ1Z2dp
bmdFbmFibGVkRXYKLV9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDE5
cmVxdWVzdEF0dGFjaFdpbmRvd0V2Ci1fX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50TG9jYWwxOXJlcXVlc3REZXRhY2hXaW5kb3dFdgorX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JG
cm9udGVuZENsaWVudExvY2FsMThyZXF1ZXN0U2V0RG9ja1NpZGVFTlNfMjNJbnNwZWN0b3JGcm9u
dGVuZENsaWVudDhEb2NrU2lkZUUKIF9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRMb2NhbDE5c2V0RGVidWdnaW5nRW5hYmxlZEViCiBfX1pON1dlYkNvcmUyOEluc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWwxOXdpbmRvd09iamVjdENsZWFyZWRFdgogX19aTjdXZWJDb3JlMjhJ
bnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMjBzZW5kTWVzc2FnZVRvQmFja2VuZEVSS04zV1RG
NlN0cmluZ0UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JG
cm9udGVuZENsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kQ2xpZW50LmgKaW5kZXggYzQ2MWZkOTljNWJjMTMxYjllNDFjMDMyZTcwMWM4OTI4YThmZDBj
Ny4uZjdmZDg1YzgxNmZkZmMxZTg5ZTc1YTMxNGI2ZTkyNjhjNzAwYzEyNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50LmgKQEAgLTQx
LDYgKzQxLDEyIEBAIGNsYXNzIEV2ZW50OwogCiBjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVu
dCB7CiBwdWJsaWM6CisgICAgZW51bSBEb2NrU2lkZSB7CisgICAgICAgIFVORE9DS0VEID0gMCwK
KyAgICAgICAgRE9DS0VEX1RPX1JJR0hULAorICAgICAgICBET0NLRURfVE9fQk9UVE9NCisgICAg
fTsKKwogICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50KCkgeyB9CiAKICAgICB2
aXJ0dWFsIHZvaWQgd2luZG93T2JqZWN0Q2xlYXJlZCgpID0gMDsKQEAgLTU0LDkgKzYwLDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBicmluZ1RvRnJvbnQoKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIGNsb3NlV2luZG93KCkgPSAwOwogCi0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RBdHRh
Y2hXaW5kb3coKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3REZXRhY2hXaW5kb3coKSA9
IDA7Ci0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTZXREb2NrU2lkZShjb25zdCBTdHJpbmcmKSA9
IDA7CisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTZXREb2NrU2lkZShEb2NrU2lkZSkgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBjaGFuZ2VBdHRhY2hlZFdpbmRvd0hlaWdodCh1bnNpZ25lZCkgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBvcGVuSW5OZXdUYWIoY29uc3QgU3RyaW5nJiB1cmwpID0gMDsK
ICAgICB2aXJ0dWFsIGJvb2wgY2FuU2F2ZSgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAppbmRleCA1
MzA4MjczNTNkYTg3YjVmM2M1ZTgyOWM0NDg2MTU2Y2UzMDlkMjg0Li5kYmVlNzA3YzVjOWMyNjYy
OTA0OTVhNDE5OTIyODAyOGIwNmFkM2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCkBAIC0xNDgsMTgg
KzE0OCwxNSBAQCB2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6OmZyb250ZW5kTG9h
ZGVkKCkKICAgICBtX2V2YWx1YXRlT25Mb2FkLmNsZWFyKCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbDo6cmVxdWVzdEF0dGFjaFdpbmRvdygpCit2b2lkIEluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWw6OnJlcXVlc3RTZXREb2NrU2lkZShEb2NrU2lkZSBkb2NrU2lk
ZSkKIHsKLSAgICBpZiAoIWNhbkF0dGFjaFdpbmRvdygpKQotICAgICAgICByZXR1cm47Ci0gICAg
YXR0YWNoV2luZG93KCk7Ci0gICAgc2V0QXR0YWNoZWRXaW5kb3codHJ1ZSk7Ci19Ci0KLXZvaWQg
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6cmVxdWVzdERldGFjaFdpbmRvdygpCi17Ci0g
ICAgZGV0YWNoV2luZG93KCk7Ci0gICAgc2V0QXR0YWNoZWRXaW5kb3coZmFsc2UpOworICAgIGlm
IChkb2NrU2lkZSA9PSBVTkRPQ0tFRCkgeworICAgICAgICBkZXRhY2hXaW5kb3coKTsKKyAgICAg
ICAgc2V0QXR0YWNoZWRXaW5kb3coZmFsc2UpOworICAgIH0gZWxzZSBpZiAoY2FuQXR0YWNoV2lu
ZG93KCkpIHsKKyAgICAgICAgYXR0YWNoV2luZG93KCk7CisgICAgICAgIHNldEF0dGFjaGVkV2lu
ZG93KHRydWUpOworICAgIH0KIH0KIAogYm9vbCBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2Fs
OjpjYW5BdHRhY2hXaW5kb3coKQpAQCAtMjE0LDcgKzIxMSw3IEBAIHZvaWQgSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRMb2NhbDo6bW92ZVdpbmRvd0J5KGZsb2F0IHgsIGZsb2F0IHkpCiAKIHZvaWQg
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6c2V0QXR0YWNoZWRXaW5kb3coYm9vbCBhdHRh
Y2hlZCkKIHsKLSAgICBldmFsdWF0ZU9uTG9hZChTdHJpbmc6OmZvcm1hdCgiW1wic2V0QXR0YWNo
ZWRXaW5kb3dcIiwgJXNdIiwgYXR0YWNoZWQgPyAidHJ1ZSIgOiAiZmFsc2UiKSk7CisgICAgZXZh
bHVhdGVPbkxvYWQoU3RyaW5nOjpmb3JtYXQoIltcInNldERvY2tTaWRlXCIsICVzXSIsIGF0dGFj
aGVkID8gImJvdHRvbSIgOiAidW5kb2NrZWQiKSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbDo6cmVzdG9yZUF0dGFjaGVkV2luZG93SGVpZ2h0KCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5o
CmluZGV4IGFmODQ5M2I5OWVmMzRmMGNkNzYxZTBhNjJjZWRlZjAwMDA5ZTEzZmUuLmNlMzYyODdi
MWJhNTk5YTAzY2UyNGU0YWNiOTY1MzJlZjc5ZTgyNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaApAQCAtNjMs
OSArNjMsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgbW92ZVdpbmRvd0J5KGZsb2F0
IHgsIGZsb2F0IHkpOwogCi0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RBdHRhY2hXaW5kb3coKTsK
LSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdERldGFjaFdpbmRvdygpOwotICAgIHZpcnR1YWwgdm9p
ZCByZXF1ZXN0U2V0RG9ja1NpZGUoY29uc3QgU3RyaW5nJikgeyB9CisgICAgdmlydHVhbCB2b2lk
IHJlcXVlc3RTZXREb2NrU2lkZShEb2NrU2lkZSk7CiAgICAgdmlydHVhbCB2b2lkIGNoYW5nZUF0
dGFjaGVkV2luZG93SGVpZ2h0KHVuc2lnbmVkKTsKICAgICB2aXJ0dWFsIHZvaWQgb3BlbkluTmV3
VGFiKGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2aXJ0dWFsIGJvb2wgY2FuU2F2ZSgpIHsgcmV0
dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JG
cm9udGVuZEhvc3QuY3BwCmluZGV4IDg5NWFiMDM4M2ZiN2YyZTI3MTZmYjQzZGFhOGNkMGQxMTli
Yjc2MDUuLjgyZGIwYmJmZTAyMGFiYWIzZWU5MzhlODMzMDJmYmU3ZGU3ZTIzZjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCkBA
IC0xNDksMjIgKzE0OSwxNiBAQCB2b2lkIEluc3BlY3RvckZyb250ZW5kSG9zdDo6bG9hZGVkKCkK
ICAgICAgICAgbV9jbGllbnQtPmZyb250ZW5kTG9hZGVkKCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9y
RnJvbnRlbmRIb3N0OjpyZXF1ZXN0QXR0YWNoV2luZG93KCkKLXsKLSAgICBpZiAobV9jbGllbnQp
Ci0gICAgICAgIG1fY2xpZW50LT5yZXF1ZXN0QXR0YWNoV2luZG93KCk7Ci19Ci0KLXZvaWQgSW5z
cGVjdG9yRnJvbnRlbmRIb3N0OjpyZXF1ZXN0RGV0YWNoV2luZG93KCkKLXsKLSAgICBpZiAobV9j
bGllbnQpCi0gICAgICAgIG1fY2xpZW50LT5yZXF1ZXN0RGV0YWNoV2luZG93KCk7Ci19Ci0KIHZv
aWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpyZXF1ZXN0U2V0RG9ja1NpZGUoY29uc3QgU3RyaW5n
JiBzaWRlKQogewotICAgIGlmIChtX2NsaWVudCkKLSAgICAgICAgbV9jbGllbnQtPnJlcXVlc3RT
ZXREb2NrU2lkZShzaWRlKTsKKyAgICBpZiAoIW1fY2xpZW50KQorICAgICAgICByZXR1cm47Cisg
ICAgaWYgKHNpZGUgPT0gInVuZG9ja2VkIikKKyAgICAgICAgbV9jbGllbnQtPnJlcXVlc3RTZXRE
b2NrU2lkZShJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6VU5ET0NLRUQpOworICAgIGVsc2UgaWYg
KHNpZGUgPT0gInJpZ2h0IikKKyAgICAgICAgbV9jbGllbnQtPnJlcXVlc3RTZXREb2NrU2lkZShJ
bnNwZWN0b3JGcm9udGVuZENsaWVudDo6RE9DS0VEX1RPX1JJR0hUKTsKKyAgICBlbHNlIGlmIChz
aWRlID09ICJib3R0b20iKQorICAgICAgICBtX2NsaWVudC0+cmVxdWVzdFNldERvY2tTaWRlKElu
c3BlY3RvckZyb250ZW5kQ2xpZW50OjpET0NLRURfVE9fQk9UVE9NKTsKIH0KIAogdm9pZCBJbnNw
ZWN0b3JGcm9udGVuZEhvc3Q6OmNsb3NlV2luZG93KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaAppbmRleCA5M2ViNDI3MjI2MmFiOWZkZTEy
N2JmN2ZkNDFjNjlhNWQ2ZTg2ZjJiLi5lYTZkMTAxOTgzZDk5OTk3ZDQyYTcwOTI5OWY2MjJmZWRj
OTgzNTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRIb3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kSG9zdC5oCkBAIC01Nyw4ICs1Nyw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc2Nvbm5lY3RD
bGllbnQoKTsKIAogICAgIHZvaWQgbG9hZGVkKCk7Ci0gICAgdm9pZCByZXF1ZXN0QXR0YWNoV2lu
ZG93KCk7Ci0gICAgdm9pZCByZXF1ZXN0RGV0YWNoV2luZG93KCk7CiAgICAgdm9pZCByZXF1ZXN0
U2V0RG9ja1NpZGUoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBjbG9zZVdpbmRvdygpOwogICAg
IHZvaWQgYnJpbmdUb0Zyb250KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsCmluZGV4IDBlZGQwNjlmYmY3YTM3ZDZmOWU3NjhlMTM3
MmI1NTM4YWMzZGYzODMuLjcyOGFhMGMwZTRiMGY5MDEzMjQ2NzNhMTAwNWQxOGM2ZTk5NzNkMWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhv
c3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhv
c3QuaWRsCkBAIC0zOSw4ICszOSw2IEBACiAgICAgdm9pZCBzZXRab29tRmFjdG9yKGluIGZsb2F0
IHpvb20pOwogICAgIHZvaWQgaW5zcGVjdGVkVVJMQ2hhbmdlZChpbiBET01TdHJpbmcgbmV3VVJM
KTsKIAotICAgIHZvaWQgcmVxdWVzdEF0dGFjaFdpbmRvdygpOwotICAgIHZvaWQgcmVxdWVzdERl
dGFjaFdpbmRvdygpOwogICAgIHZvaWQgcmVxdWVzdFNldERvY2tTaWRlKGluIERPTVN0cmluZyBz
aWRlKTsKICAgICB2b2lkIHNldEF0dGFjaGVkV2luZG93SGVpZ2h0KGluIHVuc2lnbmVkIGxvbmcg
aGVpZ2h0KTsKICAgICB2b2lkIG1vdmVXaW5kb3dCeShpbiBmbG9hdCB4LCBpbiBmbG9hdCB5KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRG9ja0NvbnRy
b2xsZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RvY2tDb250cm9s
bGVyLmpzCmluZGV4IDU2Njk0Njg2ZmM3Mzc5MTBkY2I0ODNjOTM5ZWNmOGI3MTJlYmQ0OTAuLjVj
NDhjYWJmZTNjOWM0ZDg3ZGFmMzY0MWI3NGNkZDFiNjg5ZmYxYWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRG9ja0NvbnRyb2xsZXIuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Eb2NrQ29udHJvbGxlci5qcwpAQCAtNDAs
OCArNDAsNyBAQCBXZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xsZXIgPSBmdW5jdGlvbigpCiAgICAg
aWYgKFByZWZlcmVuY2VzLnNob3dEb2NrVG9SaWdodCkKICAgICAgICAgdGhpcy5fZG9ja1RvZ2ds
ZUJ1dHRvbi5tYWtlTG9uZ0NsaWNrRW5hYmxlZCh0aGlzLl9jcmVhdGVEb2NrT3B0aW9ucy5iaW5k
KHRoaXMpKTsKIAotICAgIHRoaXMuX2RvY2tTaWRlID0gV2ViSW5zcGVjdG9yLnF1ZXJ5UGFyYW1z
T2JqZWN0WyJkb2NrU2lkZSJdOwotICAgIHRoaXMuX2lubmVyU2V0RG9ja2VkKFdlYkluc3BlY3Rv
ci5xdWVyeVBhcmFtc09iamVjdFsiZG9ja2VkIl0gPT09ICJ0cnVlIik7CisgICAgdGhpcy5zZXRE
b2NrU2lkZShXZWJJbnNwZWN0b3IucXVlcnlQYXJhbXNPYmplY3RbImRvY2tTaWRlIl0pOwogfQog
CiBXZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xsZXIuU3RhdGUgPSB7CkBAIC02MCwzMyArNTksMTgg
QEAgV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAg
ICAgLyoqCi0gICAgICogQHBhcmFtIHtib29sZWFufSBkb2NrZWQKKyAgICAgKiBAcGFyYW0ge3N0
cmluZ30gZG9ja1NpZGUKICAgICAgKi8KLSAgICBzZXREb2NrZWQ6IGZ1bmN0aW9uKGRvY2tlZCkK
KyAgICBzZXREb2NrU2lkZTogZnVuY3Rpb24oZG9ja1NpZGUpCiAgICAgewotICAgICAgICB2YXIg
aXNEb2NrZWQgPSB0aGlzLl9zdGF0ZSAhPT0gV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyLlN0
YXRlLlVuZG9ja2VkOwotICAgICAgICBpZiAoZG9ja2VkICE9PSBpc0RvY2tlZCkKLSAgICAgICAg
ICAgIHRoaXMuX2lubmVyU2V0RG9ja2VkKGRvY2tlZCk7Ci0gICAgfSwKLQotICAgIC8qKgotICAg
ICAqIEBwYXJhbSB7Ym9vbGVhbn0gZG9ja2VkCi0gICAgICovCi0gICAgX2lubmVyU2V0RG9ja2Vk
OiBmdW5jdGlvbihkb2NrZWQpCi0gICAgewotICAgICAgICBpZiAodGhpcy5fc3RhdGUpCi0gICAg
ICAgICAgICBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MubGFzdERvY2tTdGF0ZS5zZXQodGhpcy5fc3Rh
dGUpOworICAgICAgICBpZiAodGhpcy5fZG9ja1NpZGUpCisgICAgICAgICAgICBXZWJJbnNwZWN0
b3Iuc2V0dGluZ3MubGFzdERvY2tTdGF0ZS5zZXQodGhpcy5fZG9ja1NpZGUpOwogCi0gICAgICAg
IGlmICghZG9ja2VkKSB7Ci0gICAgICAgICAgICB0aGlzLl9zdGF0ZSA9IFdlYkluc3BlY3Rvci5E
b2NrQ29udHJvbGxlci5TdGF0ZS5VbmRvY2tlZDsKKyAgICAgICAgdGhpcy5fZG9ja1NpZGUgPSBk
b2NrU2lkZTsKKyAgICAgICAgaWYgKGRvY2tTaWRlID09PSBXZWJJbnNwZWN0b3IuRG9ja0NvbnRy
b2xsZXIuU3RhdGUuVW5kb2NrZWQpIAogICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnVzZXJNZXRy
aWNzLldpbmRvd0RvY2tlZC5yZWNvcmQoKTsKLSAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9kb2Nr
U2lkZSA9PT0gInJpZ2h0IikgewotICAgICAgICAgICAgdGhpcy5fc3RhdGUgPSBXZWJJbnNwZWN0
b3IuRG9ja0NvbnRyb2xsZXIuU3RhdGUuRG9ja2VkVG9SaWdodDsKLSAgICAgICAgICAgIFdlYklu
c3BlY3Rvci51c2VyTWV0cmljcy5XaW5kb3dVbmRvY2tlZC5yZWNvcmQoKTsKLSAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICAgIHRoaXMuX3N0YXRlID0gV2ViSW5zcGVjdG9yLkRvY2tDb250cm9s
bGVyLlN0YXRlLkRvY2tlZFRvQm90dG9tOworICAgICAgICBlbHNlCiAgICAgICAgICAgICBXZWJJ
bnNwZWN0b3IudXNlck1ldHJpY3MuV2luZG93VW5kb2NrZWQucmVjb3JkKCk7Ci0gICAgICAgIH0K
ICAgICAgICAgdGhpcy5fdXBkYXRlVUkoKTsKICAgICB9LAogCkBAIC0xMDIsNyArODYsNyBAQCBX
ZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xsZXIucHJvdG90eXBlID0gewogICAgIF91cGRhdGVVSTog
ZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdmFyIGJvZHkgPSBkb2N1bWVudC5ib2R5OwotICAg
ICAgICBzd2l0Y2ggKHRoaXMuX3N0YXRlKSB7CisgICAgICAgIHN3aXRjaCAodGhpcy5fZG9ja1Np
ZGUpIHsKICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xsZXIuU3RhdGUuRG9j
a2VkVG9Cb3R0b206CiAgICAgICAgICAgICBib2R5LnJlbW92ZVN0eWxlQ2xhc3MoInVuZG9ja2Vk
Iik7CiAgICAgICAgICAgICBib2R5LnJlbW92ZVN0eWxlQ2xhc3MoImRvY2stdG8tcmlnaHQiKTsK
QEAgLTEyOSwxNyArMTEzLDE3IEBAIFdlYkluc3BlY3Rvci5Eb2NrQ29udHJvbGxlci5wcm90b3R5
cGUgPSB7CiAgICAgICAgIHRoaXMuX2RvY2tUb2dnbGVCdXR0b24uZGlzYWJsZWQgPSBmYWxzZTsK
IAogICAgICAgICAvLyBDaG9vc2UgZGlmZmVyZW50IGxhc3Qgc3RhdGUgYmFzZWQgb24gdGhlIGN1
cnJlbnQgb25lIGlmIG1pc3Npbmcgb3IgaWYgaXMgdGhlIHNhbWUuCi0gICAgICAgIHZhciBzdGF0
ZXMgPSBbV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyLlN0YXRlLkRvY2tlZFRvQm90dG9tLCBX
ZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xsZXIuU3RhdGUuVW5kb2NrZWQsIFdlYkluc3BlY3Rvci5E
b2NrQ29udHJvbGxlci5TdGF0ZS5Eb2NrZWRUb1JpZ2h0XTsKLSAgICAgICAgc3RhdGVzLnJlbW92
ZSh0aGlzLl9zdGF0ZSk7CisgICAgICAgIHZhciBzaWRlcyA9IFtXZWJJbnNwZWN0b3IuRG9ja0Nv
bnRyb2xsZXIuU3RhdGUuRG9ja2VkVG9Cb3R0b20sIFdlYkluc3BlY3Rvci5Eb2NrQ29udHJvbGxl
ci5TdGF0ZS5VbmRvY2tlZCwgV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyLlN0YXRlLkRvY2tl
ZFRvUmlnaHRdOworICAgICAgICBzaWRlcy5yZW1vdmUodGhpcy5fZG9ja1NpZGUpOwogICAgICAg
ICB2YXIgbGFzdFN0YXRlID0gV2ViSW5zcGVjdG9yLnNldHRpbmdzLmxhc3REb2NrU3RhdGUuZ2V0
KCk7CiAKLSAgICAgICAgc3RhdGVzLnJlbW92ZShsYXN0U3RhdGUpOwotICAgICAgICBpZiAoc3Rh
dGVzLmxlbmd0aCA9PT0gMikgeyAvLyBsYXN0IHN0YXRlIHdhcyBub3QgZnJvbSB0aGUgbGlzdCBv
ZiBwb3RlbnRpYWwgdmFsdWVzCi0gICAgICAgICAgICBsYXN0U3RhdGUgPSBzdGF0ZXNbMF07Ci0g
ICAgICAgICAgICBzdGF0ZXMucmVtb3ZlKGxhc3RTdGF0ZSk7CisgICAgICAgIHNpZGVzLnJlbW92
ZShsYXN0U3RhdGUpOworICAgICAgICBpZiAoc2lkZXMubGVuZ3RoID09PSAyKSB7IC8vIGxhc3Qg
c3RhdGUgd2FzIG5vdCBmcm9tIHRoZSBsaXN0IG9mIHBvdGVudGlhbCB2YWx1ZXMKKyAgICAgICAg
ICAgIGxhc3RTdGF0ZSA9IHNpZGVzWzBdOworICAgICAgICAgICAgc2lkZXMucmVtb3ZlKGxhc3RT
dGF0ZSk7CiAgICAgICAgIH0KICAgICAgICAgdGhpcy5fZGVjb3JhdGVCdXR0b25Gb3JUYXJnZXRT
dGF0ZSh0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uLCBsYXN0U3RhdGUpOwotICAgICAgICB0aGlzLl9k
ZWNvcmF0ZUJ1dHRvbkZvclRhcmdldFN0YXRlKHRoaXMuX2RvY2tUb2dnbGVCdXR0b25PcHRpb24s
IHN0YXRlc1swXSk7CisgICAgICAgIHRoaXMuX2RlY29yYXRlQnV0dG9uRm9yVGFyZ2V0U3RhdGUo
dGhpcy5fZG9ja1RvZ2dsZUJ1dHRvbk9wdGlvbiwgc2lkZXNbMF0pOwogICAgIH0sCiAKICAgICAv
KioKQEAgLTE3NCwyMiArMTU4LDEzIEBAIFdlYkluc3BlY3Rvci5Eb2NrQ29udHJvbGxlci5wcm90
b3R5cGUgPSB7CiAgICAgICovCiAgICAgX3RvZ2dsZURvY2tTdGF0ZTogZnVuY3Rpb24oZSkKICAg
ICB7Ci0gICAgICAgIHZhciBzdGF0ZSA9IGUudGFyZ2V0LnN0YXRlOwotICAgICAgICBzd2l0Y2gg
KHN0YXRlKSB7Ci0gICAgICAgIGNhc2UgInVuZG9jayI6Ci0gICAgICAgICAgICBJbnNwZWN0b3JG
cm9udGVuZEhvc3QucmVxdWVzdERldGFjaFdpbmRvdygpOwotICAgICAgICAgICAgV2ViSW5zcGVj
dG9yLnVzZXJNZXRyaWNzLldpbmRvd1VuZG9ja2VkLnJlY29yZCgpOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGNhc2UgInJpZ2h0IjoKLSAgICAgICAgY2FzZSAiYm90dG9tIjoKLSAgICAg
ICAgICAgIHRoaXMuX2RvY2tTaWRlID0gc3RhdGU7Ci0gICAgICAgICAgICBJbnNwZWN0b3JGcm9u
dGVuZEhvc3QucmVxdWVzdFNldERvY2tTaWRlKHRoaXMuX2RvY2tTaWRlKTsKLSAgICAgICAgICAg
IGlmICh0aGlzLl9zdGF0ZSA9PT0gV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyLlN0YXRlLlVu
ZG9ja2VkKQotICAgICAgICAgICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9zdC5yZXF1ZXN0QXR0
YWNoV2luZG93KCk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdGhpcy5faW5u
ZXJTZXREb2NrZWQodHJ1ZSk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgdmFyIGFjdGlv
bjsKKyAgICAgICAgc3dpdGNoIChlLnRhcmdldC5zdGF0ZSkgeworICAgICAgICBjYXNlICJib3R0
b20iOiBhY3Rpb24gPSAiYm90dG9tIjsgYnJlYWs7CisgICAgICAgIGNhc2UgInJpZ2h0IjogYWN0
aW9uID0gInJpZ2h0IjsgYnJlYWs7CisgICAgICAgIGNhc2UgInVuZG9jayI6IGFjdGlvbiA9ICJ1
bmRvY2tlZCI7IGJyZWFrOwogICAgICAgICB9CisgICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9z
dC5yZXF1ZXN0U2V0RG9ja1NpZGUoYWN0aW9uKTsKICAgICB9LAogCiAgICAgLyoqCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5k
QVBJLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9u
dGVuZEFQSS5qcwppbmRleCBjMGM2MGRiZTlmZTk1NmY1NTliMTIzN2ExMmI4MzYwOGM0OWI2MWNl
Li5mMWJiODJiZWEzMWUwYTk4OWJiZmM5NjQ3YTM4YmQ4ZjgxYjZkOGQzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kQVBJLmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRl
bmRBUEkuanMKQEAgLTc0LDE0ICs3NCwxNSBAQCB2YXIgSW5zcGVjdG9yRnJvbnRlbmRBUEkgPSB7
CiAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuQ1BVUHJvZmlsZVR5cGUuaW5zdGFuY2Uuc3RvcFJl
Y29yZGluZ1Byb2ZpbGUoKTsKICAgICB9LAogCi0gICAgc2V0QXR0YWNoZWRXaW5kb3c6IGZ1bmN0
aW9uKGF0dGFjaGVkKQorICAgIHNldEF0dGFjaGVkV2luZG93OiBmdW5jdGlvbihzaWRlKQogICAg
IHsKLSAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5kb2NrQ29udHJvbGxlcikKLSAgICAgICAgICAg
IFdlYkluc3BlY3Rvci5kb2NrQ29udHJvbGxlci5zZXREb2NrZWQoYXR0YWNoZWQpOworICAgICAg
CiAgICAgfSwKIAotICAgIHNldERvY2tTaWRlOiBmdW5jdGlvbihkb2NrU2lkZSkKKyAgICBzZXRE
b2NrU2lkZTogZnVuY3Rpb24oc2lkZSkKICAgICB7CisgICAgICAgIGlmIChXZWJJbnNwZWN0b3Iu
ZG9ja0NvbnRyb2xsZXIpCisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9ja0NvbnRyb2xsZXIu
c2V0RG9ja1NpZGUoc2lkZSk7CiAgICAgfSwKIAogICAgIHNob3dDb25zb2xlOiBmdW5jdGlvbigp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3Rv
ckZyb250ZW5kSG9zdFN0dWIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIuanMKaW5kZXggMzA0OTRmMjFjZGM4NDBmZmY1ZWNl
OGUzMmQ4YjBhYmM5OTljZjZkZi4uZTkyMzQ4YTg4OWI1OTQzMWI2ZGEzZWI2OWZjMjU3NWI5MzU0
OTdhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNw
ZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qcwpAQCAtNjksMTggKzY5LDkgQEAg
V2ViSW5zcGVjdG9yLkluc3BlY3RvckZyb250ZW5kSG9zdFN0dWIucHJvdG90eXBlID0gewogICAg
ICAgICB0aGlzLl93aW5kb3dWaXNpYmxlID0gZmFsc2U7CiAgICAgfSwKIAotICAgIHJlcXVlc3RB
dHRhY2hXaW5kb3c6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvckZyb250ZW5k
QVBJLnNldEF0dGFjaGVkV2luZG93KHRydWUpOwotICAgIH0sCi0KLSAgICByZXF1ZXN0RGV0YWNo
V2luZG93OiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEFQSS5z
ZXRBdHRhY2hlZFdpbmRvdyhmYWxzZSk7Ci0gICAgfSwKLQotICAgIHJlcXVlc3RTZXREb2NrU2lk
ZTogZnVuY3Rpb24oKQorICAgIHJlcXVlc3RTZXREb2NrU2lkZTogZnVuY3Rpb24oc2lkZSkKICAg
ICB7CisgICAgICAgIEluc3BlY3RvckZyb250ZW5kQVBJLnNldERvY2tTaWRlKHNpZGUpOwogICAg
IH0sCiAKICAgICBzZXRBdHRhY2hlZFdpbmRvd0hlaWdodDogZnVuY3Rpb24oaGVpZ2h0KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9leHRlcm5zLmpzIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9leHRlcm5zLmpzCmluZGV4IGFiM2U1
ZWVkZTg5YzNjYTkzZDljYzIzMTJkYTJmNDQxY2Q1NjBmZjcuLmEwNmNlOWUyNmY3M2NjNDlkZjRm
OTZhNGMzMDA0ZTA3ZjY2MmI3NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvZXh0ZXJucy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL2V4dGVybnMuanMKQEAgLTEyMyw4ICsxMjMsNiBAQCBJbnNwZWN0b3JGcm9udGVuZEhv
c3RBUEkucHJvdG90eXBlLnBsYXRmb3JtID0gZnVuY3Rpb24oKSB7fQogSW5zcGVjdG9yRnJvbnRl
bmRIb3N0QVBJLnByb3RvdHlwZS5wb3J0ID0gZnVuY3Rpb24oKSB7fQogSW5zcGVjdG9yRnJvbnRl
bmRIb3N0QVBJLnByb3RvdHlwZS5icmluZ1RvRnJvbnQgPSBmdW5jdGlvbigpIHt9CiBJbnNwZWN0
b3JGcm9udGVuZEhvc3RBUEkucHJvdG90eXBlLmNsb3NlV2luZG93ID0gZnVuY3Rpb24oKSB7fQot
SW5zcGVjdG9yRnJvbnRlbmRIb3N0QVBJLnByb3RvdHlwZS5yZXF1ZXN0QXR0YWNoV2luZG93ID0g
ZnVuY3Rpb24oKSB7fQotSW5zcGVjdG9yRnJvbnRlbmRIb3N0QVBJLnByb3RvdHlwZS5yZXF1ZXN0
RGV0YWNoV2luZG93ID0gZnVuY3Rpb24oKSB7fQogSW5zcGVjdG9yRnJvbnRlbmRIb3N0QVBJLnBy
b3RvdHlwZS5yZXF1ZXN0U2V0RG9ja1NpZGUgPSBmdW5jdGlvbihkb2NrU2lkZSkge30KIEluc3Bl
Y3RvckZyb250ZW5kSG9zdEFQSS5wcm90b3R5cGUuc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQgPSBm
dW5jdGlvbihoZWlnaHQpIHt9CiBJbnNwZWN0b3JGcm9udGVuZEhvc3RBUEkucHJvdG90eXBlLm1v
dmVXaW5kb3dCeSA9IGZ1bmN0aW9uKHgsIHkpIHt9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50LmgKaW5kZXggMDQz
OGNkMzU1NmQxNGJkNTRmZmM2OGI4ZjI5YmYwZGU3ZDZlZmZmNi4uMDE5MTQyOTg5YjExODllNzNk
MjUwNzcyOTViMGY0NDExMWZkMjU1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViRGV2VG9vbHNGcm9udGVuZENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQuaApAQCAtNDUsOCArNDUs
NiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgYWN0aXZhdGVXaW5kb3coKSB7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgY2xvc2VXaW5kb3coKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVz
dERvY2tXaW5kb3coKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFVuZG9ja1dpbmRvdygp
IHsgfQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U2V0RG9ja1NpZGUoY29uc3QgV2ViU3RyaW5n
JiBzaWRlKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgbW92ZVdpbmRvd0J5KGNvbnN0IFdlYkZsb2F0
UG9pbnQmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgb3BlbkluTmV3VGFiKGNvbnN0IFdlYlN0cmlu
ZyYgc2lkZSkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNw
ZWN0b3JGcm9udGVuZENsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmNwcAppbmRleCA3NjNjODVkYTg2ZDNjZGMxZjEx
OGZhODhjZGJlN2Q3OGQ5ZjRiYTQxLi5mY2ZhMjVmOWM5OTcwNjVhMTUxNDJlYjM2MWQ3ZjkxYzlj
NWU5MTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JG
cm9udGVuZENsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lu
c3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5jcHAKQEAgLTEwMywxOSArMTAzLDE1IEBAIHZvaWQg
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsOjpjbG9zZVdpbmRvdygpCiAgICAgbV9jbGllbnQt
PmNsb3NlV2luZG93KCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsOjpy
ZXF1ZXN0QXR0YWNoV2luZG93KCkKLXsKLSAgICBtX2NsaWVudC0+cmVxdWVzdERvY2tXaW5kb3co
KTsKLX0KLQotdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGw6OnJlcXVlc3REZXRhY2hX
aW5kb3coKQotewotICAgIG1fY2xpZW50LT5yZXF1ZXN0VW5kb2NrV2luZG93KCk7Ci19Ci0KLXZv
aWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsOjpyZXF1ZXN0U2V0RG9ja1NpZGUoY29uc3Qg
U3RyaW5nJiBzaWRlKQotewotICAgIG1fY2xpZW50LT5yZXF1ZXN0U2V0RG9ja1NpZGUoc2lkZSk7
Cit2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbDo6cmVxdWVzdFNldERvY2tTaWRlKERv
Y2tTaWRlIHNpZGUpCit7CisgICAgU3RyaW5nIHNpZGVTdHJpbmcgPSAidW5kb2NrZWQiOworICAg
IHN3aXRjaCAoc2lkZSkgeworICAgIGNhc2UgRE9DS0VEX1RPX1JJR0hUOiBzaWRlU3RyaW5nID0g
InJpZ2h0IjsgYnJlYWs7CisgICAgY2FzZSBET0NLRURfVE9fQk9UVE9NOiBzaWRlU3RyaW5nID0g
ImJvdHRvbSI7IGJyZWFrOworICAgIGNhc2UgVU5ET0NLRUQ6IHNpZGVTdHJpbmcgPSAidW5kb2Nr
ZWQiOyBicmVhazsKKyAgICB9CisgICAgbV9jbGllbnQtPnJlcXVlc3RTZXREb2NrU2lkZShzaWRl
U3RyaW5nKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGw6OmNoYW5nZUF0
dGFjaGVkV2luZG93SGVpZ2h0KHVuc2lnbmVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaAppbmRleCA1NWU1N2U2
OTY4NzlkYzlmYTliYjY1ZjQxM2U3ZTgwZTI5ZTU5NTM4Li43MmY4ZDY4YjZiMmQyYzAwZGJkOWIw
NjI1MTBkOTc4N2NmOTA2YzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaApAQCAtNjIsOSArNjIsNyBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGJyaW5nVG9Gcm9udCgpOwogICAgIHZpcnR1YWwgdm9p
ZCBjbG9zZVdpbmRvdygpOwogCi0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RBdHRhY2hXaW5kb3co
KTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdERldGFjaFdpbmRvdygpOwotICAgIHZpcnR1YWwg
dm9pZCByZXF1ZXN0U2V0RG9ja1NpZGUoY29uc3QgU3RyaW5nJik7CisgICAgdmlydHVhbCB2b2lk
IHJlcXVlc3RTZXREb2NrU2lkZShEb2NrU2lkZSk7CiAgICAgdmlydHVhbCB2b2lkIGNoYW5nZUF0
dGFjaGVkV2luZG93SGVpZ2h0KHVuc2lnbmVkKTsKIAogICAgIHZpcnR1YWwgdm9pZCBvcGVuSW5O
ZXdUYWIoY29uc3QgU3RyaW5nJiB1cmwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2lu
L1dlYktpdDIuZGVmIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCmluZGV4IGQzOWYx
NGEzY2FhYzI4ODZlOTBhOTBkYTUzZTlmMGFhNjcwZTZiNTYuLmEzM2NmZDEzNmQzNzYzY2FmYjY1
OGZlZTIzYTdhOGYxMTRiZmM5NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJL
aXQyLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKQEAgLTMwNCw4ICsz
MDQsNiBAQCBFWFBPUlRTCiAgICAgICAgID9tb3ZlV2luZG93QnlASW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRMb2NhbEBXZWJDb3JlQEBVQUVYTU1AWgogICAgICAgICA/b3BlbkBET01XaW5kb3dAV2Vi
Q29yZUBAUUFFP0FWPyRQYXNzUmVmUHRyQFZET01XaW5kb3dAV2ViQ29yZUBAQFdURkBAQUJWU3Ry
aW5nQDRAQUJWQXRvbWljU3RyaW5nQDRAMFBBVjEyQDJAWgogICAgICAgICA/b3BlbkluTmV3VGFi
QEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWxAV2ViQ29yZUBAVUFFWEFCVlN0cmluZ0BXVEZA
QEBaCi0gICAgICAgID9yZXF1ZXN0QXR0YWNoV2luZG93QEluc3BlY3RvckZyb250ZW5kQ2xpZW50
TG9jYWxAV2ViQ29yZUBAVUFFWFhaCi0gICAgICAgID9yZXF1ZXN0RGV0YWNoV2luZG93QEluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWxAV2ViQ29yZUBAVUFFWFhaCiAgICAgICAgID9zZW5kTWVz
c2FnZVRvQmFja2VuZEBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsQFdlYkNvcmVAQFVBRVhB
QlZTdHJpbmdAV1RGQEBAWgogICAgICAgICA/c2V0SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRASW5z
cGVjdG9yQ29udHJvbGxlckBXZWJDb3JlQEBRQUVYVj8kUGFzc093blB0ckBWSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRAV2ViQ29yZUBAQFdURkBAQFoKICAgICAgICAgP3NldFByb3BlcnR5QFNldHRp
bmdzQEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWxAV2ViQ29yZUBAVUFFWEFCVlN0cmluZ0BX
VEZAQDBAWgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVm
IGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCmluZGV4IGQ2ZmQ5ZmI2ZjFl
YTE4NjE1MGQ4ZDk2NDJmZjBmZjIzZjk1N2Y5MWUuLmY2MDc4YTAxNzcyZWY2NTMzYjg3NTJkZWI2
NzllNWUxYmQ3YzU2MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZM
aXRlLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKQEAgLTI5
Myw4ICsyOTMsNiBAQCBFWFBPUlRTCiAgICAgICAgID9tb3ZlV2luZG93QnlASW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRMb2NhbEBXZWJDb3JlQEBVQUVYTU1AWgogICAgICAgICA/b3BlbkBET01XaW5k
b3dAV2ViQ29yZUBAUUFFP0FWPyRQYXNzUmVmUHRyQFZET01XaW5kb3dAV2ViQ29yZUBAQFdURkBA
QUJWU3RyaW5nQDRAQUJWQXRvbWljU3RyaW5nQDRAMFBBVjEyQDJAWgogICAgICAgICA/b3Blbklu
TmV3VGFiQEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWxAV2ViQ29yZUBAVUFFWEFCVlN0cmlu
Z0BXVEZAQEBaCi0gICAgICAgID9yZXF1ZXN0QXR0YWNoV2luZG93QEluc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWxAV2ViQ29yZUBAVUFFWFhaCi0gICAgICAgID9yZXF1ZXN0RGV0YWNoV2luZG93
QEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWxAV2ViQ29yZUBAVUFFWFhaCiAgICAgICAgID9z
ZW5kTWVzc2FnZVRvQmFja2VuZEBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsQFdlYkNvcmVA
QFVBRVhBQlZTdHJpbmdAV1RGQEBAWgogICAgICAgICA/c2V0SW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRASW5zcGVjdG9yQ29udHJvbGxlckBXZWJDb3JlQEBRQUVYVj8kUGFzc093blB0ckBWSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnRAV2ViQ29yZUBAQFdURkBAQFoKICAgICAgICAgP3NldFByb3BlcnR5
QFNldHRpbmdzQEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWxAV2ViQ29yZUBAVUFFWEFCVlN0
cmluZ0BXVEZAQDBAWgpkaWZmIC0tZ2l0IGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRl
ciBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKaW5kZXggYWVkNTRhZjIxYWM4Yzg4
NGJkZWUyMjRlODliZTJlNmNhODQ1YWZkZi4uZTgxYTY2YThlYjg1NGQwZDA0ZjQ3ZDc5ZGFlNjg3
OGVhMzE4ZjQ2NyAxMDA2NDQKLS0tIGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgor
KysgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCkBAIC05OSw4ICs5OSw3IEBAIF9a
TjdXZWJDb3JlMjVqc1N0cmluZ1dpdGhDYWNoZVNsb3dDYXNlRVBOM0pTQzlFeGVjU3RhdGVFUk4z
V1RGN0hhc2hNYXBJUE5TM18xMFN0CiBfWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRMb2NhbDEybW92ZVdpbmRvd0J5RWZmOwogX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWwxMm9wZW5Jbk5ld1RhYkVSS04zV1RGNlN0cmluZ0U7CiBfWk43V2ViQ29yZTI4
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDE0ZnJvbnRlbmRMb2FkZWRFdjsKLV9aTjdXZWJD
b3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMTlyZXF1ZXN0QXR0YWNoV2luZG93RXY7
Ci1fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDE5cmVxdWVzdERldGFj
aFdpbmRvd0V2OworX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwxOHJl
cXVlc3RTZXREb2NrU2lkZUVOU18yM0luc3BlY3RvckZyb250ZW5kQ2xpZW50OERvY2tTaWRlRTsK
IF9aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMTl3aW5kb3dPYmplY3RD
bGVhcmVkRXY7CiBfWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDIwc2Vu
ZE1lc3NhZ2VUb0JhY2tlbmRFUktOM1dURjZTdHJpbmdFOwogX1pON1dlYkNvcmUyOEluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWwyNmNoYW5nZUF0dGFjaGVkV2luZG93SGVpZ2h0RWo7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169640</attachid>
            <date>2012-10-19 10:06:00 -0700</date>
            <delta_ts>2012-10-22 02:01:14 -0700</delta_ts>
            <desc>[Patch] for bots</desc>
            <filename>bug-99717-20121019210443.patch</filename>
            <type>text/plain</type>
            <size>23074</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxODk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWJiZGQ4NTZlNmY5ZmI5
ZThiMTYyMWFlNWFiNjM0ZDIyYjE1NWI5Ni4uNzFkY2VmY2UzYjhmYjY0YjcwMDM2MTAyZGNhYmNm
NWYzYTZjMjViYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTEwLTE5ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IG1lcmdlICJkb2NrZWQiIHN0YXRlIGludG8gdGhlICJkb2NrIHNpZGUiIGVudW0uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTcxNworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE90aGVyd2lzZSwgaXQg
aXMgaGFyZCB0byBtYW5hZ2UgdGhlc2UgaW50ZXItZGVwZW5kZW50IGZsYWdzLgorCisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50Lmg6CisgICAgICAgIChJbnNwZWN0
b3JGcm9udGVuZENsaWVudCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRMb2NhbDo6cmVxdWVzdFNldERvY2tTaWRlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWw6OnNldEF0dGFjaGVkV2luZG93KToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oOgorICAgICAgICAoSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OnJl
cXVlc3RTZXREb2NrU2lkZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
SG9zdC5oOgorICAgICAgICAoSW5zcGVjdG9yRnJvbnRlbmRIb3N0KToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL0RvY2tDb250cm9sbGVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRvY2tDb250
cm9sbGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Eb2NrQ29udHJvbGxlci5wcm90b3R5cGUu
X3VwZGF0ZVVJLmdldCBzaWRlcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xs
ZXIucHJvdG90eXBlLl91cGRhdGVVSSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRG9ja0NvbnRy
b2xsZXIucHJvdG90eXBlLl90b2dnbGVEb2NrU3RhdGUpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRBUEkuanM6CisgICAgICAgIChJbnNwZWN0b3JGcm9u
dGVuZEFQSS5zZXRBdHRhY2hlZFdpbmRvdyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzOgorICAgICAgICAoLldlYkluc3BlY3Rvci5J
bnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLnByb3RvdHlwZS5yZXF1ZXN0U2V0RG9ja1NpZGUpOgor
CiAyMDEyLTEwLTE5ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IGluc3BlY3Rvci9zdHlsZXMvc3R5bGVzLWhpc3RvcnkuaHRt
bCBpcyBmYWlsaW5nIFRleHQgb24gV2luZG93cyBhbmQgTGludXgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKaW5kZXggOWFkYmM0MGY4NDZjOTAzODc2MTNkOGMyMTRkYmYwZTgxY2VmNWRiNS4uNjI3
NTc0NDBjNTFjZjVhM2MzNWIxZmNlNjE1YTI4NTdjYWM1OTI2ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0xMC0xOSAgUGF2ZWwgRmVsZG1hbiAgPHBm
ZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBtZXJnZSAiZG9j
a2VkIiBzdGF0ZSBpbnRvIHRoZSAiZG9jayBzaWRlIiBlbnVtLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTk3MTcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1YmxpYy9XZWJEZXZUb29sc0Zyb250ZW5k
Q2xpZW50Lmg6CisgICAgICAgICogc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5jcHA6
CisgICAgICAgIChXZWJLaXQ6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbDo6cmVxdWVzdFNl
dERvY2tTaWRlKToKKyAgICAgICAgKiBzcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmg6
CisgICAgICAgIChJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwpOgorCiAyMDEyLTEwLTE3ICBJ
bHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5z
cGVjdG9yOiBOTUkgcHJvdmlkZSBkYXRhIGZvciBtaXhpbmcgd2l0aCB0Y21hbGxvYyBoZWFwIGR1
bXBzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBiZjNhOTZiZjkzNjI3OTI4OTE3MjU5YTg3YmY0
MTY0OTQwOTRmMDE5Li5kN2JjNDRmZmYzZTNiYzA0MGVkNGU5ZjM4NzJmNDY4Njc5NGJhMGE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMjMwNiw4ICsyMzA2LDcgQEAgX19aTjdXZWJDb3JlMjhJ
bnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMTRmcm9udGVuZExvYWRlZEV2CiBfX1pON1dlYkNv
cmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwxNWNhbkF0dGFjaFdpbmRvd0V2CiBfX1pO
N1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwxN3NldEF0dGFjaGVkV2luZG93
RWIKIF9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDE4aXNEZWJ1Z2dp
bmdFbmFibGVkRXYKLV9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDE5
cmVxdWVzdEF0dGFjaFdpbmRvd0V2Ci1fX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50TG9jYWwxOXJlcXVlc3REZXRhY2hXaW5kb3dFdgorX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JG
cm9udGVuZENsaWVudExvY2FsMThyZXF1ZXN0U2V0RG9ja1NpZGVFTlNfMjNJbnNwZWN0b3JGcm9u
dGVuZENsaWVudDhEb2NrU2lkZUUKIF9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRMb2NhbDE5c2V0RGVidWdnaW5nRW5hYmxlZEViCiBfX1pON1dlYkNvcmUyOEluc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWwxOXdpbmRvd09iamVjdENsZWFyZWRFdgogX19aTjdXZWJDb3JlMjhJ
bnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMjBzZW5kTWVzc2FnZVRvQmFja2VuZEVSS04zV1RG
NlN0cmluZ0UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JG
cm9udGVuZENsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kQ2xpZW50LmgKaW5kZXggYzQ2MWZkOTljNWJjMTMxYjllNDFjMDMyZTcwMWM4OTI4YThmZDBj
Ny4uZjdmZDg1YzgxNmZkZmMxZTg5ZTc1YTMxNGI2ZTkyNjhjNzAwYzEyNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50LmgKQEAgLTQx
LDYgKzQxLDEyIEBAIGNsYXNzIEV2ZW50OwogCiBjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVu
dCB7CiBwdWJsaWM6CisgICAgZW51bSBEb2NrU2lkZSB7CisgICAgICAgIFVORE9DS0VEID0gMCwK
KyAgICAgICAgRE9DS0VEX1RPX1JJR0hULAorICAgICAgICBET0NLRURfVE9fQk9UVE9NCisgICAg
fTsKKwogICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50KCkgeyB9CiAKICAgICB2
aXJ0dWFsIHZvaWQgd2luZG93T2JqZWN0Q2xlYXJlZCgpID0gMDsKQEAgLTU0LDkgKzYwLDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBicmluZ1RvRnJvbnQoKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIGNsb3NlV2luZG93KCkgPSAwOwogCi0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RBdHRh
Y2hXaW5kb3coKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3REZXRhY2hXaW5kb3coKSA9
IDA7Ci0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTZXREb2NrU2lkZShjb25zdCBTdHJpbmcmKSA9
IDA7CisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTZXREb2NrU2lkZShEb2NrU2lkZSkgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBjaGFuZ2VBdHRhY2hlZFdpbmRvd0hlaWdodCh1bnNpZ25lZCkgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBvcGVuSW5OZXdUYWIoY29uc3QgU3RyaW5nJiB1cmwpID0gMDsK
ICAgICB2aXJ0dWFsIGJvb2wgY2FuU2F2ZSgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAppbmRleCA1
MzA4MjczNTNkYTg3YjVmM2M1ZTgyOWM0NDg2MTU2Y2UzMDlkMjg0Li5kYmVlNzA3YzVjOWMyNjYy
OTA0OTVhNDE5OTIyODAyOGIwNmFkM2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCkBAIC0xNDgsMTgg
KzE0OCwxNSBAQCB2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6OmZyb250ZW5kTG9h
ZGVkKCkKICAgICBtX2V2YWx1YXRlT25Mb2FkLmNsZWFyKCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbDo6cmVxdWVzdEF0dGFjaFdpbmRvdygpCit2b2lkIEluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWw6OnJlcXVlc3RTZXREb2NrU2lkZShEb2NrU2lkZSBkb2NrU2lk
ZSkKIHsKLSAgICBpZiAoIWNhbkF0dGFjaFdpbmRvdygpKQotICAgICAgICByZXR1cm47Ci0gICAg
YXR0YWNoV2luZG93KCk7Ci0gICAgc2V0QXR0YWNoZWRXaW5kb3codHJ1ZSk7Ci19Ci0KLXZvaWQg
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6cmVxdWVzdERldGFjaFdpbmRvdygpCi17Ci0g
ICAgZGV0YWNoV2luZG93KCk7Ci0gICAgc2V0QXR0YWNoZWRXaW5kb3coZmFsc2UpOworICAgIGlm
IChkb2NrU2lkZSA9PSBVTkRPQ0tFRCkgeworICAgICAgICBkZXRhY2hXaW5kb3coKTsKKyAgICAg
ICAgc2V0QXR0YWNoZWRXaW5kb3coZmFsc2UpOworICAgIH0gZWxzZSBpZiAoY2FuQXR0YWNoV2lu
ZG93KCkpIHsKKyAgICAgICAgYXR0YWNoV2luZG93KCk7CisgICAgICAgIHNldEF0dGFjaGVkV2lu
ZG93KHRydWUpOworICAgIH0KIH0KIAogYm9vbCBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2Fs
OjpjYW5BdHRhY2hXaW5kb3coKQpAQCAtMjE0LDcgKzIxMSw3IEBAIHZvaWQgSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRMb2NhbDo6bW92ZVdpbmRvd0J5KGZsb2F0IHgsIGZsb2F0IHkpCiAKIHZvaWQg
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6c2V0QXR0YWNoZWRXaW5kb3coYm9vbCBhdHRh
Y2hlZCkKIHsKLSAgICBldmFsdWF0ZU9uTG9hZChTdHJpbmc6OmZvcm1hdCgiW1wic2V0QXR0YWNo
ZWRXaW5kb3dcIiwgJXNdIiwgYXR0YWNoZWQgPyAidHJ1ZSIgOiAiZmFsc2UiKSk7CisgICAgZXZh
bHVhdGVPbkxvYWQoU3RyaW5nOjpmb3JtYXQoIltcInNldERvY2tTaWRlXCIsICVzXSIsIGF0dGFj
aGVkID8gImJvdHRvbSIgOiAidW5kb2NrZWQiKSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbDo6cmVzdG9yZUF0dGFjaGVkV2luZG93SGVpZ2h0KCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5o
CmluZGV4IGFmODQ5M2I5OWVmMzRmMGNkNzYxZTBhNjJjZWRlZjAwMDA5ZTEzZmUuLmNlMzYyODdi
MWJhNTk5YTAzY2UyNGU0YWNiOTY1MzJlZjc5ZTgyNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaApAQCAtNjMs
OSArNjMsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgbW92ZVdpbmRvd0J5KGZsb2F0
IHgsIGZsb2F0IHkpOwogCi0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RBdHRhY2hXaW5kb3coKTsK
LSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdERldGFjaFdpbmRvdygpOwotICAgIHZpcnR1YWwgdm9p
ZCByZXF1ZXN0U2V0RG9ja1NpZGUoY29uc3QgU3RyaW5nJikgeyB9CisgICAgdmlydHVhbCB2b2lk
IHJlcXVlc3RTZXREb2NrU2lkZShEb2NrU2lkZSk7CiAgICAgdmlydHVhbCB2b2lkIGNoYW5nZUF0
dGFjaGVkV2luZG93SGVpZ2h0KHVuc2lnbmVkKTsKICAgICB2aXJ0dWFsIHZvaWQgb3BlbkluTmV3
VGFiKGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2aXJ0dWFsIGJvb2wgY2FuU2F2ZSgpIHsgcmV0
dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JG
cm9udGVuZEhvc3QuY3BwCmluZGV4IDg5NWFiMDM4M2ZiN2YyZTI3MTZmYjQzZGFhOGNkMGQxMTli
Yjc2MDUuLjgyZGIwYmJmZTAyMGFiYWIzZWU5MzhlODMzMDJmYmU3ZGU3ZTIzZjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCkBA
IC0xNDksMjIgKzE0OSwxNiBAQCB2b2lkIEluc3BlY3RvckZyb250ZW5kSG9zdDo6bG9hZGVkKCkK
ICAgICAgICAgbV9jbGllbnQtPmZyb250ZW5kTG9hZGVkKCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9y
RnJvbnRlbmRIb3N0OjpyZXF1ZXN0QXR0YWNoV2luZG93KCkKLXsKLSAgICBpZiAobV9jbGllbnQp
Ci0gICAgICAgIG1fY2xpZW50LT5yZXF1ZXN0QXR0YWNoV2luZG93KCk7Ci19Ci0KLXZvaWQgSW5z
cGVjdG9yRnJvbnRlbmRIb3N0OjpyZXF1ZXN0RGV0YWNoV2luZG93KCkKLXsKLSAgICBpZiAobV9j
bGllbnQpCi0gICAgICAgIG1fY2xpZW50LT5yZXF1ZXN0RGV0YWNoV2luZG93KCk7Ci19Ci0KIHZv
aWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpyZXF1ZXN0U2V0RG9ja1NpZGUoY29uc3QgU3RyaW5n
JiBzaWRlKQogewotICAgIGlmIChtX2NsaWVudCkKLSAgICAgICAgbV9jbGllbnQtPnJlcXVlc3RT
ZXREb2NrU2lkZShzaWRlKTsKKyAgICBpZiAoIW1fY2xpZW50KQorICAgICAgICByZXR1cm47Cisg
ICAgaWYgKHNpZGUgPT0gInVuZG9ja2VkIikKKyAgICAgICAgbV9jbGllbnQtPnJlcXVlc3RTZXRE
b2NrU2lkZShJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6VU5ET0NLRUQpOworICAgIGVsc2UgaWYg
KHNpZGUgPT0gInJpZ2h0IikKKyAgICAgICAgbV9jbGllbnQtPnJlcXVlc3RTZXREb2NrU2lkZShJ
bnNwZWN0b3JGcm9udGVuZENsaWVudDo6RE9DS0VEX1RPX1JJR0hUKTsKKyAgICBlbHNlIGlmIChz
aWRlID09ICJib3R0b20iKQorICAgICAgICBtX2NsaWVudC0+cmVxdWVzdFNldERvY2tTaWRlKElu
c3BlY3RvckZyb250ZW5kQ2xpZW50OjpET0NLRURfVE9fQk9UVE9NKTsKIH0KIAogdm9pZCBJbnNw
ZWN0b3JGcm9udGVuZEhvc3Q6OmNsb3NlV2luZG93KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaAppbmRleCA5M2ViNDI3MjI2MmFiOWZkZTEy
N2JmN2ZkNDFjNjlhNWQ2ZTg2ZjJiLi5lYTZkMTAxOTgzZDk5OTk3ZDQyYTcwOTI5OWY2MjJmZWRj
OTgzNTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRIb3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kSG9zdC5oCkBAIC01Nyw4ICs1Nyw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc2Nvbm5lY3RD
bGllbnQoKTsKIAogICAgIHZvaWQgbG9hZGVkKCk7Ci0gICAgdm9pZCByZXF1ZXN0QXR0YWNoV2lu
ZG93KCk7Ci0gICAgdm9pZCByZXF1ZXN0RGV0YWNoV2luZG93KCk7CiAgICAgdm9pZCByZXF1ZXN0
U2V0RG9ja1NpZGUoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBjbG9zZVdpbmRvdygpOwogICAg
IHZvaWQgYnJpbmdUb0Zyb250KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsCmluZGV4IDBlZGQwNjlmYmY3YTM3ZDZmOWU3NjhlMTM3
MmI1NTM4YWMzZGYzODMuLjcyOGFhMGMwZTRiMGY5MDEzMjQ2NzNhMTAwNWQxOGM2ZTk5NzNkMWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhv
c3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhv
c3QuaWRsCkBAIC0zOSw4ICszOSw2IEBACiAgICAgdm9pZCBzZXRab29tRmFjdG9yKGluIGZsb2F0
IHpvb20pOwogICAgIHZvaWQgaW5zcGVjdGVkVVJMQ2hhbmdlZChpbiBET01TdHJpbmcgbmV3VVJM
KTsKIAotICAgIHZvaWQgcmVxdWVzdEF0dGFjaFdpbmRvdygpOwotICAgIHZvaWQgcmVxdWVzdERl
dGFjaFdpbmRvdygpOwogICAgIHZvaWQgcmVxdWVzdFNldERvY2tTaWRlKGluIERPTVN0cmluZyBz
aWRlKTsKICAgICB2b2lkIHNldEF0dGFjaGVkV2luZG93SGVpZ2h0KGluIHVuc2lnbmVkIGxvbmcg
aGVpZ2h0KTsKICAgICB2b2lkIG1vdmVXaW5kb3dCeShpbiBmbG9hdCB4LCBpbiBmbG9hdCB5KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRG9ja0NvbnRy
b2xsZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RvY2tDb250cm9s
bGVyLmpzCmluZGV4IDU2Njk0Njg2ZmM3Mzc5MTBkY2I0ODNjOTM5ZWNmOGI3MTJlYmQ0OTAuLjVj
NDhjYWJmZTNjOWM0ZDg3ZGFmMzY0MWI3NGNkZDFiNjg5ZmYxYWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRG9ja0NvbnRyb2xsZXIuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Eb2NrQ29udHJvbGxlci5qcwpAQCAtNDAs
OCArNDAsNyBAQCBXZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xsZXIgPSBmdW5jdGlvbigpCiAgICAg
aWYgKFByZWZlcmVuY2VzLnNob3dEb2NrVG9SaWdodCkKICAgICAgICAgdGhpcy5fZG9ja1RvZ2ds
ZUJ1dHRvbi5tYWtlTG9uZ0NsaWNrRW5hYmxlZCh0aGlzLl9jcmVhdGVEb2NrT3B0aW9ucy5iaW5k
KHRoaXMpKTsKIAotICAgIHRoaXMuX2RvY2tTaWRlID0gV2ViSW5zcGVjdG9yLnF1ZXJ5UGFyYW1z
T2JqZWN0WyJkb2NrU2lkZSJdOwotICAgIHRoaXMuX2lubmVyU2V0RG9ja2VkKFdlYkluc3BlY3Rv
ci5xdWVyeVBhcmFtc09iamVjdFsiZG9ja2VkIl0gPT09ICJ0cnVlIik7CisgICAgdGhpcy5zZXRE
b2NrU2lkZShXZWJJbnNwZWN0b3IucXVlcnlQYXJhbXNPYmplY3RbImRvY2tTaWRlIl0pOwogfQog
CiBXZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xsZXIuU3RhdGUgPSB7CkBAIC02MCwzMyArNTksMTgg
QEAgV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAg
ICAgLyoqCi0gICAgICogQHBhcmFtIHtib29sZWFufSBkb2NrZWQKKyAgICAgKiBAcGFyYW0ge3N0
cmluZ30gZG9ja1NpZGUKICAgICAgKi8KLSAgICBzZXREb2NrZWQ6IGZ1bmN0aW9uKGRvY2tlZCkK
KyAgICBzZXREb2NrU2lkZTogZnVuY3Rpb24oZG9ja1NpZGUpCiAgICAgewotICAgICAgICB2YXIg
aXNEb2NrZWQgPSB0aGlzLl9zdGF0ZSAhPT0gV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyLlN0
YXRlLlVuZG9ja2VkOwotICAgICAgICBpZiAoZG9ja2VkICE9PSBpc0RvY2tlZCkKLSAgICAgICAg
ICAgIHRoaXMuX2lubmVyU2V0RG9ja2VkKGRvY2tlZCk7Ci0gICAgfSwKLQotICAgIC8qKgotICAg
ICAqIEBwYXJhbSB7Ym9vbGVhbn0gZG9ja2VkCi0gICAgICovCi0gICAgX2lubmVyU2V0RG9ja2Vk
OiBmdW5jdGlvbihkb2NrZWQpCi0gICAgewotICAgICAgICBpZiAodGhpcy5fc3RhdGUpCi0gICAg
ICAgICAgICBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MubGFzdERvY2tTdGF0ZS5zZXQodGhpcy5fc3Rh
dGUpOworICAgICAgICBpZiAodGhpcy5fZG9ja1NpZGUpCisgICAgICAgICAgICBXZWJJbnNwZWN0
b3Iuc2V0dGluZ3MubGFzdERvY2tTdGF0ZS5zZXQodGhpcy5fZG9ja1NpZGUpOwogCi0gICAgICAg
IGlmICghZG9ja2VkKSB7Ci0gICAgICAgICAgICB0aGlzLl9zdGF0ZSA9IFdlYkluc3BlY3Rvci5E
b2NrQ29udHJvbGxlci5TdGF0ZS5VbmRvY2tlZDsKKyAgICAgICAgdGhpcy5fZG9ja1NpZGUgPSBk
b2NrU2lkZTsKKyAgICAgICAgaWYgKGRvY2tTaWRlID09PSBXZWJJbnNwZWN0b3IuRG9ja0NvbnRy
b2xsZXIuU3RhdGUuVW5kb2NrZWQpIAogICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnVzZXJNZXRy
aWNzLldpbmRvd0RvY2tlZC5yZWNvcmQoKTsKLSAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9kb2Nr
U2lkZSA9PT0gInJpZ2h0IikgewotICAgICAgICAgICAgdGhpcy5fc3RhdGUgPSBXZWJJbnNwZWN0
b3IuRG9ja0NvbnRyb2xsZXIuU3RhdGUuRG9ja2VkVG9SaWdodDsKLSAgICAgICAgICAgIFdlYklu
c3BlY3Rvci51c2VyTWV0cmljcy5XaW5kb3dVbmRvY2tlZC5yZWNvcmQoKTsKLSAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICAgIHRoaXMuX3N0YXRlID0gV2ViSW5zcGVjdG9yLkRvY2tDb250cm9s
bGVyLlN0YXRlLkRvY2tlZFRvQm90dG9tOworICAgICAgICBlbHNlCiAgICAgICAgICAgICBXZWJJ
bnNwZWN0b3IudXNlck1ldHJpY3MuV2luZG93VW5kb2NrZWQucmVjb3JkKCk7Ci0gICAgICAgIH0K
ICAgICAgICAgdGhpcy5fdXBkYXRlVUkoKTsKICAgICB9LAogCkBAIC0xMDIsNyArODYsNyBAQCBX
ZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xsZXIucHJvdG90eXBlID0gewogICAgIF91cGRhdGVVSTog
ZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdmFyIGJvZHkgPSBkb2N1bWVudC5ib2R5OwotICAg
ICAgICBzd2l0Y2ggKHRoaXMuX3N0YXRlKSB7CisgICAgICAgIHN3aXRjaCAodGhpcy5fZG9ja1Np
ZGUpIHsKICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xsZXIuU3RhdGUuRG9j
a2VkVG9Cb3R0b206CiAgICAgICAgICAgICBib2R5LnJlbW92ZVN0eWxlQ2xhc3MoInVuZG9ja2Vk
Iik7CiAgICAgICAgICAgICBib2R5LnJlbW92ZVN0eWxlQ2xhc3MoImRvY2stdG8tcmlnaHQiKTsK
QEAgLTEyOSwxNyArMTEzLDE3IEBAIFdlYkluc3BlY3Rvci5Eb2NrQ29udHJvbGxlci5wcm90b3R5
cGUgPSB7CiAgICAgICAgIHRoaXMuX2RvY2tUb2dnbGVCdXR0b24uZGlzYWJsZWQgPSBmYWxzZTsK
IAogICAgICAgICAvLyBDaG9vc2UgZGlmZmVyZW50IGxhc3Qgc3RhdGUgYmFzZWQgb24gdGhlIGN1
cnJlbnQgb25lIGlmIG1pc3Npbmcgb3IgaWYgaXMgdGhlIHNhbWUuCi0gICAgICAgIHZhciBzdGF0
ZXMgPSBbV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyLlN0YXRlLkRvY2tlZFRvQm90dG9tLCBX
ZWJJbnNwZWN0b3IuRG9ja0NvbnRyb2xsZXIuU3RhdGUuVW5kb2NrZWQsIFdlYkluc3BlY3Rvci5E
b2NrQ29udHJvbGxlci5TdGF0ZS5Eb2NrZWRUb1JpZ2h0XTsKLSAgICAgICAgc3RhdGVzLnJlbW92
ZSh0aGlzLl9zdGF0ZSk7CisgICAgICAgIHZhciBzaWRlcyA9IFtXZWJJbnNwZWN0b3IuRG9ja0Nv
bnRyb2xsZXIuU3RhdGUuRG9ja2VkVG9Cb3R0b20sIFdlYkluc3BlY3Rvci5Eb2NrQ29udHJvbGxl
ci5TdGF0ZS5VbmRvY2tlZCwgV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyLlN0YXRlLkRvY2tl
ZFRvUmlnaHRdOworICAgICAgICBzaWRlcy5yZW1vdmUodGhpcy5fZG9ja1NpZGUpOwogICAgICAg
ICB2YXIgbGFzdFN0YXRlID0gV2ViSW5zcGVjdG9yLnNldHRpbmdzLmxhc3REb2NrU3RhdGUuZ2V0
KCk7CiAKLSAgICAgICAgc3RhdGVzLnJlbW92ZShsYXN0U3RhdGUpOwotICAgICAgICBpZiAoc3Rh
dGVzLmxlbmd0aCA9PT0gMikgeyAvLyBsYXN0IHN0YXRlIHdhcyBub3QgZnJvbSB0aGUgbGlzdCBv
ZiBwb3RlbnRpYWwgdmFsdWVzCi0gICAgICAgICAgICBsYXN0U3RhdGUgPSBzdGF0ZXNbMF07Ci0g
ICAgICAgICAgICBzdGF0ZXMucmVtb3ZlKGxhc3RTdGF0ZSk7CisgICAgICAgIHNpZGVzLnJlbW92
ZShsYXN0U3RhdGUpOworICAgICAgICBpZiAoc2lkZXMubGVuZ3RoID09PSAyKSB7IC8vIGxhc3Qg
c3RhdGUgd2FzIG5vdCBmcm9tIHRoZSBsaXN0IG9mIHBvdGVudGlhbCB2YWx1ZXMKKyAgICAgICAg
ICAgIGxhc3RTdGF0ZSA9IHNpZGVzWzBdOworICAgICAgICAgICAgc2lkZXMucmVtb3ZlKGxhc3RT
dGF0ZSk7CiAgICAgICAgIH0KICAgICAgICAgdGhpcy5fZGVjb3JhdGVCdXR0b25Gb3JUYXJnZXRT
dGF0ZSh0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uLCBsYXN0U3RhdGUpOwotICAgICAgICB0aGlzLl9k
ZWNvcmF0ZUJ1dHRvbkZvclRhcmdldFN0YXRlKHRoaXMuX2RvY2tUb2dnbGVCdXR0b25PcHRpb24s
IHN0YXRlc1swXSk7CisgICAgICAgIHRoaXMuX2RlY29yYXRlQnV0dG9uRm9yVGFyZ2V0U3RhdGUo
dGhpcy5fZG9ja1RvZ2dsZUJ1dHRvbk9wdGlvbiwgc2lkZXNbMF0pOwogICAgIH0sCiAKICAgICAv
KioKQEAgLTE3NCwyMiArMTU4LDEzIEBAIFdlYkluc3BlY3Rvci5Eb2NrQ29udHJvbGxlci5wcm90
b3R5cGUgPSB7CiAgICAgICovCiAgICAgX3RvZ2dsZURvY2tTdGF0ZTogZnVuY3Rpb24oZSkKICAg
ICB7Ci0gICAgICAgIHZhciBzdGF0ZSA9IGUudGFyZ2V0LnN0YXRlOwotICAgICAgICBzd2l0Y2gg
KHN0YXRlKSB7Ci0gICAgICAgIGNhc2UgInVuZG9jayI6Ci0gICAgICAgICAgICBJbnNwZWN0b3JG
cm9udGVuZEhvc3QucmVxdWVzdERldGFjaFdpbmRvdygpOwotICAgICAgICAgICAgV2ViSW5zcGVj
dG9yLnVzZXJNZXRyaWNzLldpbmRvd1VuZG9ja2VkLnJlY29yZCgpOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGNhc2UgInJpZ2h0IjoKLSAgICAgICAgY2FzZSAiYm90dG9tIjoKLSAgICAg
ICAgICAgIHRoaXMuX2RvY2tTaWRlID0gc3RhdGU7Ci0gICAgICAgICAgICBJbnNwZWN0b3JGcm9u
dGVuZEhvc3QucmVxdWVzdFNldERvY2tTaWRlKHRoaXMuX2RvY2tTaWRlKTsKLSAgICAgICAgICAg
IGlmICh0aGlzLl9zdGF0ZSA9PT0gV2ViSW5zcGVjdG9yLkRvY2tDb250cm9sbGVyLlN0YXRlLlVu
ZG9ja2VkKQotICAgICAgICAgICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9zdC5yZXF1ZXN0QXR0
YWNoV2luZG93KCk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdGhpcy5faW5u
ZXJTZXREb2NrZWQodHJ1ZSk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgdmFyIGFjdGlv
bjsKKyAgICAgICAgc3dpdGNoIChlLnRhcmdldC5zdGF0ZSkgeworICAgICAgICBjYXNlICJib3R0
b20iOiBhY3Rpb24gPSAiYm90dG9tIjsgYnJlYWs7CisgICAgICAgIGNhc2UgInJpZ2h0IjogYWN0
aW9uID0gInJpZ2h0IjsgYnJlYWs7CisgICAgICAgIGNhc2UgInVuZG9jayI6IGFjdGlvbiA9ICJ1
bmRvY2tlZCI7IGJyZWFrOwogICAgICAgICB9CisgICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9z
dC5yZXF1ZXN0U2V0RG9ja1NpZGUoYWN0aW9uKTsKICAgICB9LAogCiAgICAgLyoqCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5k
QVBJLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9u
dGVuZEFQSS5qcwppbmRleCBjMGM2MGRiZTlmZTk1NmY1NTliMTIzN2ExMmI4MzYwOGM0OWI2MWNl
Li5mMWJiODJiZWEzMWUwYTk4OWJiZmM5NjQ3YTM4YmQ4ZjgxYjZkOGQzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kQVBJLmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRl
bmRBUEkuanMKQEAgLTc0LDE0ICs3NCwxNSBAQCB2YXIgSW5zcGVjdG9yRnJvbnRlbmRBUEkgPSB7
CiAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuQ1BVUHJvZmlsZVR5cGUuaW5zdGFuY2Uuc3RvcFJl
Y29yZGluZ1Byb2ZpbGUoKTsKICAgICB9LAogCi0gICAgc2V0QXR0YWNoZWRXaW5kb3c6IGZ1bmN0
aW9uKGF0dGFjaGVkKQorICAgIHNldEF0dGFjaGVkV2luZG93OiBmdW5jdGlvbihzaWRlKQogICAg
IHsKLSAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5kb2NrQ29udHJvbGxlcikKLSAgICAgICAgICAg
IFdlYkluc3BlY3Rvci5kb2NrQ29udHJvbGxlci5zZXREb2NrZWQoYXR0YWNoZWQpOworICAgICAg
CiAgICAgfSwKIAotICAgIHNldERvY2tTaWRlOiBmdW5jdGlvbihkb2NrU2lkZSkKKyAgICBzZXRE
b2NrU2lkZTogZnVuY3Rpb24oc2lkZSkKICAgICB7CisgICAgICAgIGlmIChXZWJJbnNwZWN0b3Iu
ZG9ja0NvbnRyb2xsZXIpCisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9ja0NvbnRyb2xsZXIu
c2V0RG9ja1NpZGUoc2lkZSk7CiAgICAgfSwKIAogICAgIHNob3dDb25zb2xlOiBmdW5jdGlvbigp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3Rv
ckZyb250ZW5kSG9zdFN0dWIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIuanMKaW5kZXggMzA0OTRmMjFjZGM4NDBmZmY1ZWNl
OGUzMmQ4YjBhYmM5OTljZjZkZi4uZTkyMzQ4YTg4OWI1OTQzMWI2ZGEzZWI2OWZjMjU3NWI5MzU0
OTdhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNw
ZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qcwpAQCAtNjksMTggKzY5LDkgQEAg
V2ViSW5zcGVjdG9yLkluc3BlY3RvckZyb250ZW5kSG9zdFN0dWIucHJvdG90eXBlID0gewogICAg
ICAgICB0aGlzLl93aW5kb3dWaXNpYmxlID0gZmFsc2U7CiAgICAgfSwKIAotICAgIHJlcXVlc3RB
dHRhY2hXaW5kb3c6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvckZyb250ZW5k
QVBJLnNldEF0dGFjaGVkV2luZG93KHRydWUpOwotICAgIH0sCi0KLSAgICByZXF1ZXN0RGV0YWNo
V2luZG93OiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEFQSS5z
ZXRBdHRhY2hlZFdpbmRvdyhmYWxzZSk7Ci0gICAgfSwKLQotICAgIHJlcXVlc3RTZXREb2NrU2lk
ZTogZnVuY3Rpb24oKQorICAgIHJlcXVlc3RTZXREb2NrU2lkZTogZnVuY3Rpb24oc2lkZSkKICAg
ICB7CisgICAgICAgIEluc3BlY3RvckZyb250ZW5kQVBJLnNldERvY2tTaWRlKHNpZGUpOwogICAg
IH0sCiAKICAgICBzZXRBdHRhY2hlZFdpbmRvd0hlaWdodDogZnVuY3Rpb24oaGVpZ2h0KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9leHRlcm5zLmpzIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9leHRlcm5zLmpzCmluZGV4IGFiM2U1
ZWVkZTg5YzNjYTkzZDljYzIzMTJkYTJmNDQxY2Q1NjBmZjcuLmEwNmNlOWUyNmY3M2NjNDlkZjRm
OTZhNGMzMDA0ZTA3ZjY2MmI3NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvZXh0ZXJucy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL2V4dGVybnMuanMKQEAgLTEyMyw4ICsxMjMsNiBAQCBJbnNwZWN0b3JGcm9udGVuZEhv
c3RBUEkucHJvdG90eXBlLnBsYXRmb3JtID0gZnVuY3Rpb24oKSB7fQogSW5zcGVjdG9yRnJvbnRl
bmRIb3N0QVBJLnByb3RvdHlwZS5wb3J0ID0gZnVuY3Rpb24oKSB7fQogSW5zcGVjdG9yRnJvbnRl
bmRIb3N0QVBJLnByb3RvdHlwZS5icmluZ1RvRnJvbnQgPSBmdW5jdGlvbigpIHt9CiBJbnNwZWN0
b3JGcm9udGVuZEhvc3RBUEkucHJvdG90eXBlLmNsb3NlV2luZG93ID0gZnVuY3Rpb24oKSB7fQot
SW5zcGVjdG9yRnJvbnRlbmRIb3N0QVBJLnByb3RvdHlwZS5yZXF1ZXN0QXR0YWNoV2luZG93ID0g
ZnVuY3Rpb24oKSB7fQotSW5zcGVjdG9yRnJvbnRlbmRIb3N0QVBJLnByb3RvdHlwZS5yZXF1ZXN0
RGV0YWNoV2luZG93ID0gZnVuY3Rpb24oKSB7fQogSW5zcGVjdG9yRnJvbnRlbmRIb3N0QVBJLnBy
b3RvdHlwZS5yZXF1ZXN0U2V0RG9ja1NpZGUgPSBmdW5jdGlvbihkb2NrU2lkZSkge30KIEluc3Bl
Y3RvckZyb250ZW5kSG9zdEFQSS5wcm90b3R5cGUuc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQgPSBm
dW5jdGlvbihoZWlnaHQpIHt9CiBJbnNwZWN0b3JGcm9udGVuZEhvc3RBUEkucHJvdG90eXBlLm1v
dmVXaW5kb3dCeSA9IGZ1bmN0aW9uKHgsIHkpIHt9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50LmgKaW5kZXggMDQz
OGNkMzU1NmQxNGJkNTRmZmM2OGI4ZjI5YmYwZGU3ZDZlZmZmNi4uMDE5MTQyOTg5YjExODllNzNk
MjUwNzcyOTViMGY0NDExMWZkMjU1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViRGV2VG9vbHNGcm9udGVuZENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQuaApAQCAtNDUsOCArNDUs
NiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgYWN0aXZhdGVXaW5kb3coKSB7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgY2xvc2VXaW5kb3coKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVz
dERvY2tXaW5kb3coKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFVuZG9ja1dpbmRvdygp
IHsgfQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U2V0RG9ja1NpZGUoY29uc3QgV2ViU3RyaW5n
JiBzaWRlKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgbW92ZVdpbmRvd0J5KGNvbnN0IFdlYkZsb2F0
UG9pbnQmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgb3BlbkluTmV3VGFiKGNvbnN0IFdlYlN0cmlu
ZyYgc2lkZSkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNw
ZWN0b3JGcm9udGVuZENsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmNwcAppbmRleCA3NjNjODVkYTg2ZDNjZGMxZjEx
OGZhODhjZGJlN2Q3OGQ5ZjRiYTQxLi5mY2ZhMjVmOWM5OTcwNjVhMTUxNDJlYjM2MWQ3ZjkxYzlj
NWU5MTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JG
cm9udGVuZENsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lu
c3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5jcHAKQEAgLTEwMywxOSArMTAzLDE1IEBAIHZvaWQg
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsOjpjbG9zZVdpbmRvdygpCiAgICAgbV9jbGllbnQt
PmNsb3NlV2luZG93KCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsOjpy
ZXF1ZXN0QXR0YWNoV2luZG93KCkKLXsKLSAgICBtX2NsaWVudC0+cmVxdWVzdERvY2tXaW5kb3co
KTsKLX0KLQotdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGw6OnJlcXVlc3REZXRhY2hX
aW5kb3coKQotewotICAgIG1fY2xpZW50LT5yZXF1ZXN0VW5kb2NrV2luZG93KCk7Ci19Ci0KLXZv
aWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsOjpyZXF1ZXN0U2V0RG9ja1NpZGUoY29uc3Qg
U3RyaW5nJiBzaWRlKQotewotICAgIG1fY2xpZW50LT5yZXF1ZXN0U2V0RG9ja1NpZGUoc2lkZSk7
Cit2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbDo6cmVxdWVzdFNldERvY2tTaWRlKERv
Y2tTaWRlIHNpZGUpCit7CisgICAgU3RyaW5nIHNpZGVTdHJpbmcgPSAidW5kb2NrZWQiOworICAg
IHN3aXRjaCAoc2lkZSkgeworICAgIGNhc2UgRE9DS0VEX1RPX1JJR0hUOiBzaWRlU3RyaW5nID0g
InJpZ2h0IjsgYnJlYWs7CisgICAgY2FzZSBET0NLRURfVE9fQk9UVE9NOiBzaWRlU3RyaW5nID0g
ImJvdHRvbSI7IGJyZWFrOworICAgIGNhc2UgVU5ET0NLRUQ6IHNpZGVTdHJpbmcgPSAidW5kb2Nr
ZWQiOyBicmVhazsKKyAgICB9CisgICAgbV9jbGllbnQtPnJlcXVlc3RTZXREb2NrU2lkZShzaWRl
U3RyaW5nKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGw6OmNoYW5nZUF0
dGFjaGVkV2luZG93SGVpZ2h0KHVuc2lnbmVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaAppbmRleCA1NWU1N2U2
OTY4NzlkYzlmYTliYjY1ZjQxM2U3ZTgwZTI5ZTU5NTM4Li43MmY4ZDY4YjZiMmQyYzAwZGJkOWIw
NjI1MTBkOTc4N2NmOTA2YzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaApAQCAtNjIsOSArNjIsNyBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGJyaW5nVG9Gcm9udCgpOwogICAgIHZpcnR1YWwgdm9p
ZCBjbG9zZVdpbmRvdygpOwogCi0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RBdHRhY2hXaW5kb3co
KTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdERldGFjaFdpbmRvdygpOwotICAgIHZpcnR1YWwg
dm9pZCByZXF1ZXN0U2V0RG9ja1NpZGUoY29uc3QgU3RyaW5nJik7CisgICAgdmlydHVhbCB2b2lk
IHJlcXVlc3RTZXREb2NrU2lkZShEb2NrU2lkZSk7CiAgICAgdmlydHVhbCB2b2lkIGNoYW5nZUF0
dGFjaGVkV2luZG93SGVpZ2h0KHVuc2lnbmVkKTsKIAogICAgIHZpcnR1YWwgdm9pZCBvcGVuSW5O
ZXdUYWIoY29uc3QgU3RyaW5nJiB1cmwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2lu
L1dlYktpdDIuZGVmIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCmluZGV4IGQzOWYx
NGEzY2FhYzI4ODZlOTBhOTBkYTUzZTlmMGFhNjcwZTZiNTYuLjVkYjQ0NDcxYzdlOWVhNjcyOTc0
NDM5MDk0YjM1NmU1ODc3OTliMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJL
aXQyLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKQEAgLTMwNCw4ICsz
MDQsNyBAQCBFWFBPUlRTCiAgICAgICAgID9tb3ZlV2luZG93QnlASW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRMb2NhbEBXZWJDb3JlQEBVQUVYTU1AWgogICAgICAgICA/b3BlbkBET01XaW5kb3dAV2Vi
Q29yZUBAUUFFP0FWPyRQYXNzUmVmUHRyQFZET01XaW5kb3dAV2ViQ29yZUBAQFdURkBAQUJWU3Ry
aW5nQDRAQUJWQXRvbWljU3RyaW5nQDRAMFBBVjEyQDJAWgogICAgICAgICA/b3BlbkluTmV3VGFi
QEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWxAV2ViQ29yZUBAVUFFWEFCVlN0cmluZ0BXVEZA
QEBaCi0gICAgICAgID9yZXF1ZXN0QXR0YWNoV2luZG93QEluc3BlY3RvckZyb250ZW5kQ2xpZW50
TG9jYWxAV2ViQ29yZUBAVUFFWFhaCi0gICAgICAgID9yZXF1ZXN0RGV0YWNoV2luZG93QEluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWxAV2ViQ29yZUBAVUFFWFhaCisgICAgICAgID9yZXF1ZXN0
U2V0RG9ja1NpZGVASW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbEBXZWJDb3JlQEBVQUVYVzRE
b2NrU2lkZUBJbnNwZWN0b3JGcm9udGVuZENsaWVudEAyQEBaCiAgICAgICAgID9zZW5kTWVzc2Fn
ZVRvQmFja2VuZEBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsQFdlYkNvcmVAQFVBRVhBQlZT
dHJpbmdAV1RGQEBAWgogICAgICAgICA/c2V0SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRASW5zcGVj
dG9yQ29udHJvbGxlckBXZWJDb3JlQEBRQUVYVj8kUGFzc093blB0ckBWSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRAV2ViQ29yZUBAQFdURkBAQFoKICAgICAgICAgP3NldFByb3BlcnR5QFNldHRpbmdz
QEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWxAV2ViQ29yZUBAVUFFWEFCVlN0cmluZ0BXVEZA
QDBAWgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmIGIv
U291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCmluZGV4IGQ2ZmQ5ZmI2ZjFlYTE4
NjE1MGQ4ZDk2NDJmZjBmZjIzZjk1N2Y5MWUuLmNhZGE1NGE5NDFiMGFkMzdkYjJlODBkZTQwOTM4
YjljZjY4MjlhYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRl
LmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKQEAgLTI5Myw4
ICsyOTMsNyBAQCBFWFBPUlRTCiAgICAgICAgID9tb3ZlV2luZG93QnlASW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbEBXZWJDb3JlQEBVQUVYTU1AWgogICAgICAgICA/b3BlbkBET01XaW5kb3dA
V2ViQ29yZUBAUUFFP0FWPyRQYXNzUmVmUHRyQFZET01XaW5kb3dAV2ViQ29yZUBAQFdURkBAQUJW
U3RyaW5nQDRAQUJWQXRvbWljU3RyaW5nQDRAMFBBVjEyQDJAWgogICAgICAgICA/b3BlbkluTmV3
VGFiQEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWxAV2ViQ29yZUBAVUFFWEFCVlN0cmluZ0BX
VEZAQEBaCi0gICAgICAgID9yZXF1ZXN0QXR0YWNoV2luZG93QEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50TG9jYWxAV2ViQ29yZUBAVUFFWFhaCi0gICAgICAgID9yZXF1ZXN0RGV0YWNoV2luZG93QElu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWxAV2ViQ29yZUBAVUFFWFhaCisgICAgICAgID9yZXF1
ZXN0U2V0RG9ja1NpZGVASW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbEBXZWJDb3JlQEBVQUVY
VzREb2NrU2lkZUBJbnNwZWN0b3JGcm9udGVuZENsaWVudEAyQEBaCiAgICAgICAgID9zZW5kTWVz
c2FnZVRvQmFja2VuZEBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsQFdlYkNvcmVAQFVBRVhB
QlZTdHJpbmdAV1RGQEBAWgogICAgICAgICA/c2V0SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRASW5z
cGVjdG9yQ29udHJvbGxlckBXZWJDb3JlQEBRQUVYVj8kUGFzc093blB0ckBWSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRAV2ViQ29yZUBAQFdURkBAQFoKICAgICAgICAgP3NldFByb3BlcnR5QFNldHRp
bmdzQEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWxAV2ViQ29yZUBAVUFFWEFCVlN0cmluZ0BX
VEZAQDBAWgpkaWZmIC0tZ2l0IGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlciBiL1Nv
dXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKaW5kZXggYWVkNTRhZjIxYWM4Yzg4NGJkZWUy
MjRlODliZTJlNmNhODQ1YWZkZi4uZTgxYTY2YThlYjg1NGQwZDA0ZjQ3ZDc5ZGFlNjg3OGVhMzE4
ZjQ2NyAxMDA2NDQKLS0tIGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgorKysgYi9T
b3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCkBAIC05OSw4ICs5OSw3IEBAIF9aTjdXZWJD
b3JlMjVqc1N0cmluZ1dpdGhDYWNoZVNsb3dDYXNlRVBOM0pTQzlFeGVjU3RhdGVFUk4zV1RGN0hh
c2hNYXBJUE5TM18xMFN0CiBfWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bDEybW92ZVdpbmRvd0J5RWZmOwogX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50
TG9jYWwxMm9wZW5Jbk5ld1RhYkVSS04zV1RGNlN0cmluZ0U7CiBfWk43V2ViQ29yZTI4SW5zcGVj
dG9yRnJvbnRlbmRDbGllbnRMb2NhbDE0ZnJvbnRlbmRMb2FkZWRFdjsKLV9aTjdXZWJDb3JlMjhJ
bnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMTlyZXF1ZXN0QXR0YWNoV2luZG93RXY7Ci1fWk43
V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDE5cmVxdWVzdERldGFjaFdpbmRv
d0V2OworX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwxOHJlcXVlc3RT
ZXREb2NrU2lkZUVOU18yM0luc3BlY3RvckZyb250ZW5kQ2xpZW50OERvY2tTaWRlRTsKIF9aTjdX
ZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMTl3aW5kb3dPYmplY3RDbGVhcmVk
RXY7CiBfWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDIwc2VuZE1lc3Nh
Z2VUb0JhY2tlbmRFUktOM1dURjZTdHJpbmdFOwogX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250
ZW5kQ2xpZW50TG9jYWwyNmNoYW5nZUF0dGFjaGVkV2luZG93SGVpZ2h0RWo7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>