<?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>91728</bug_id>
          
          <creation_ts>2012-07-19 03:17:56 -0700</creation_ts>
          <short_desc>Web Inspector: Drag and drop should not be started on right mouse click.</short_desc>
          <delta_ts>2012-07-23 01:19:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Vsevolod Vlasov">vsevik</reporter>
          <assigned_to name="Vsevolod Vlasov">vsevik</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>673356</commentid>
    <comment_count>0</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-07-19 03:17:56 -0700</bug_when>
    <thetext>Resizing drag and drop should not be started on right mouse click.
This is currently happening in several places: SplitView, DataGrid.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673489</commentid>
    <comment_count>1</comment_count>
      <attachid>153257</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-07-19 07:26:09 -0700</bug_when>
    <thetext>Created attachment 153257
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673491</commentid>
    <comment_count>2</comment_count>
      <attachid>153257</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-07-19 07:33:14 -0700</bug_when>
    <thetext>Comment on attachment 153257
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=153257&amp;action=review

&gt; Source/WebCore/inspector/front-end/DataGrid.js:656
&gt; +                WebInspector.installDragStarter(resizer, this._startResizerDragging.bind(this));

DragHandle ?

Could you instead pass all parameters into installDragHandle and get rid of elementDragStart?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674390</commentid>
    <comment_count>3</comment_count>
      <attachid>153457</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-07-20 02:52:18 -0700</bug_when>
    <thetext>Created attachment 153457
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674616</commentid>
    <comment_count>4</comment_count>
      <attachid>153457</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-07-20 09:05:13 -0700</bug_when>
    <thetext>Comment on attachment 153457
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=153457&amp;action=review

&gt; Source/WebCore/inspector/front-end/DataGrid.js:941
&gt; +        return true;

Please annotate?

return !!this._currentResizer.rightNeighboringColumnID;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675527</commentid>
    <comment_count>5</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-07-23 01:19:16 -0700</bug_when>
    <thetext>Committed r123313: &lt;http://trac.webkit.org/changeset/123313&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153257</attachid>
            <date>2012-07-19 07:26:09 -0700</date>
            <delta_ts>2012-07-20 02:52:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91728-20120719182607.patch</filename>
            <type>text/plain</type>
            <size>19039</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjNjY2JiN2M2YjMzNzNk
NDc5NDlmOTBlNTI0OTQ5ZmVhY2ZjZjQzMi4uMmEzMDUxMmM3NGM5ZjllODgwYTE4ZWY2YjNlZTVi
NThmYzI2YmY2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTA3LTE5ICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IERyYWcgYW5kIGRyb3Agc2hvdWxkIG5vdCBiZSBzdGFydGVkIG9uIHJpZ2h0IG1vdXNlIGNs
aWNrLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE3
MjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHRy
YWN0ZWQgY29tbW9uIFdlYkluc3BlY3Rvci5pbnN0YWxsRHJhZ1N0YXJ0ZXIgbWV0aG9kIHRvIHN0
YXJ0IGRyYWcsIGNoZWNraW5nIHdoaWNoZyBtb3VzZSBidXR0b24gaXMgcHJlc3NlZC4KKyAgICAg
ICAgU2ltcGxpZmllZCBXZWJJbnNwZWN0b3IuZWxlbWVudERyYWdTdGFydCwgcmVtb3ZlZCAiZWxl
bWVudCIgcGFyYW1ldGVyLgorICAgICAgICBTaW1wbGlmaWVkIHRhYiBtb3Zpbmcgc3VwcG9ydCBp
biBUYWJiZWRQYW5lLCByZW1vdmVkICJtb3VzZW1vdmUiIGhhbmRsZXIuCisKKyAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFHcmlkLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRh
dGFHcmlkLnByb3RvdHlwZS5fcG9zaXRpb25SZXNpemVycyk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuRGF0YUdyaWQucHJvdG90eXBlLl9zdGFydFJlc2l6ZXJEcmFnZ2luZyk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9EcmF3ZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRHJh
d2VyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlLl9zdGFydFN0YXR1
c0JhckRyYWdnaW5nKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hv
dFZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Vmlldy5wcm90b3R5
cGUuX3N0YXJ0UmV0YWluZXJzSGVhZGVyRHJhZ2dpbmcpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvU2lkZWJhck92ZXJsYXkuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2lkZWJh
ck92ZXJsYXkucHJvdG90eXBlLnNldCBfc3RhcnRSZXNpemVyRHJhZ2dpbmcpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlNpZGViYXJPdmVybGF5LnByb3RvdHlwZS5faW5zdGFsbFJlc2l6ZXIpOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU3BsaXRWaWV3LmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlNwbGl0Vmlldy5wcm90b3R5cGUuX3N0YXJ0UmVzaXplckRyYWdnaW5nKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5TcGxpdFZpZXcucHJvdG90eXBlLmluc3RhbGxSZXNpemVyKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RhYmJlZFBhbmUuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGFiYmVkUGFuZVRhYi5wcm90b3R5cGUuX2NyZWF0ZVRhYkVsZW1lbnQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRhYmJlZFBhbmVUYWIucHJvdG90eXBlLl90YWJNb3VzZURv
d24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRhYmJlZFBhbmVUYWIucHJvdG90eXBlLl9zdGFy
dFRhYkRyYWdnaW5nKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lT3Zl
cnZpZXdQYW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdXaW5k
b3cpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdXaW5kb3cucHJvdG90
eXBlLl9yZXNpemVXaW5kb3cpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZp
ZXdXaW5kb3cucHJvdG90eXBlLl9kcmFnV2luZG93KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL1RpbWVsaW5lUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQ
YW5lbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90b3R5cGUuX3N0
YXJ0U3BsaXR0ZXJEcmFnZ2luZyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Ub29s
YmFyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRvb2xiYXIpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlRvb2xiYXIucHJvdG90eXBlLl90b29sYmFyRHJhZ1N0YXJ0KToKKyAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL1VJVXRpbHMuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuaW5z
dGFsbERyYWdTdGFydGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5lbGVtZW50RHJhZ1N0YXJ0
KToKKwogMjAxMi0wNy0xOSAgSmFuIEtlcm9tbmVzICA8amFueEBsaW51eC5jb20+CiAKICAgICAg
ICAgV2ViIEluc3BlY3RvcjogRmFjdG9yIEV4dGVuc2lvblZpZXcgaW50byBzZXBhcmF0ZSBmaWxl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFHcmlk
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhR3JpZC5qcwppbmRl
eCBjZjY2Y2I2NTdkMzUyMWNhN2QyMTdjZGE0MmY5ZWE0MDBkN2YzMGIzLi45MDZmMmIyNjg3MDc5
NDQ5NDY3YjQ4MmIzZDQzMGJhMmIxMzhhMmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFHcmlkLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRGF0YUdyaWQuanMKQEAgLTY1Myw3ICs2NTMsNyBAQCBXZWJJbnNwZWN0
b3IuRGF0YUdyaWQucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIHJlc2l6ZXIgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAgICAgICAgICByZXNpemVyLmFkZFN0
eWxlQ2xhc3MoImRhdGEtZ3JpZC1yZXNpemVyIik7CiAgICAgICAgICAgICAgICAgLy8gVGhpcyBy
ZXNpemVyIGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29sdW1uIHRvIGl0cyByaWdodC4KLSAgICAg
ICAgICAgICAgICByZXNpemVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIHRoaXMuX3N0
YXJ0UmVzaXplckRyYWdnaW5nLmJpbmQodGhpcyksIGZhbHNlKTsKKyAgICAgICAgICAgICAgICBX
ZWJJbnNwZWN0b3IuaW5zdGFsbERyYWdTdGFydGVyKHJlc2l6ZXIsIHRoaXMuX3N0YXJ0UmVzaXpl
ckRyYWdnaW5nLmJpbmQodGhpcykpOwogICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBl
bmRDaGlsZChyZXNpemVyKTsKICAgICAgICAgICAgICAgICB0aGlzLnJlc2l6ZXJzW2ldID0gcmVz
aXplcjsKICAgICAgICAgICAgIH0KQEAgLTkzOCw3ICs5MzgsNyBAQCBXZWJJbnNwZWN0b3IuRGF0
YUdyaWQucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9jdXJyZW50UmVzaXplciA9IGV2ZW50
LnRhcmdldDsKICAgICAgICAgaWYgKCF0aGlzLl9jdXJyZW50UmVzaXplci5yaWdodE5laWdoYm9y
aW5nQ29sdW1uSUQpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIFdlYkluc3BlY3Rvci5l
bGVtZW50RHJhZ1N0YXJ0KHRoaXMuX2N1cnJlbnRSZXNpemVyLCB0aGlzLl9yZXNpemVyRHJhZ2dp
bmcuYmluZCh0aGlzKSwKKyAgICAgICAgV2ViSW5zcGVjdG9yLmVsZW1lbnREcmFnU3RhcnQodGhp
cy5fcmVzaXplckRyYWdnaW5nLmJpbmQodGhpcyksCiAgICAgICAgICAgICB0aGlzLl9lbmRSZXNp
emVyRHJhZ2dpbmcuYmluZCh0aGlzKSwgZXZlbnQsICJjb2wtcmVzaXplIik7CiAgICAgfSwKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EcmF3ZXIuanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdlci5qcwppbmRleCBlNzU4
NTdjMmQzYmEzMDdiMTQxNjg2MDU3MzQ3M2FiZTkxY2Q4NjI2Li4zN2Q1YmUzMDBkYTNjNGU0NWNl
MDA5YzUzOGNjNmIzZmI3MTg2YjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0RyYXdlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RyYXdlci5qcwpAQCAtMzcsNyArMzcsNyBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyID0g
ZnVuY3Rpb24oKQogICAgIHRoaXMuX21haW5FbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoIm1haW4iKTsKICAgICB0aGlzLl90b29sYmFyRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0b29sYmFyIik7CiAgICAgdGhpcy5fbWFpblN0YXR1c0JhciA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJtYWluLXN0YXR1cy1iYXIiKTsKLSAgICB0aGlzLl9tYWluU3RhdHVzQmFy
LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIHRoaXMuX3N0YXJ0U3RhdHVzQmFyRHJhZ2dp
bmcuYmluZCh0aGlzKSwgdHJ1ZSk7CisgICAgV2ViSW5zcGVjdG9yLmluc3RhbGxEcmFnU3RhcnRl
cih0aGlzLl9tYWluU3RhdHVzQmFyLCB0aGlzLl9zdGFydFN0YXR1c0JhckRyYWdnaW5nLmJpbmQo
dGhpcykpOwogICAgIHRoaXMuX2NvdW50ZXJzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
dW50ZXJzIik7CiAKICAgICB0aGlzLl9kcmF3ZXJDb250ZW50c0VsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJkaXYiKTsKQEAgLTI0Nyw3ICsyNDcsNyBAQCBXZWJJbnNwZWN0b3IuRHJh
d2VyLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICB0aGlzLl92
aWV3LnN0b3JlU2Nyb2xsUG9zaXRpb25zKCk7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5lbGVtZW50
RHJhZ1N0YXJ0KHRoaXMuX21haW5TdGF0dXNCYXIsIHRoaXMuX3N0YXR1c0JhckRyYWdnaW5nLmJp
bmQodGhpcyksIHRoaXMuX2VuZFN0YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksIGV2ZW50LCAi
cm93LXJlc2l6ZSIpOworICAgICAgICBXZWJJbnNwZWN0b3IuZWxlbWVudERyYWdTdGFydCh0aGlz
Ll9zdGF0dXNCYXJEcmFnZ2luZy5iaW5kKHRoaXMpLCB0aGlzLl9lbmRTdGF0dXNCYXJEcmFnZ2lu
Zy5iaW5kKHRoaXMpLCBldmVudCwgInJvdy1yZXNpemUiKTsKIAogICAgICAgICB0aGlzLl9zdGF0
dXNCYXJEcmFnT2Zmc2V0ID0gZXZlbnQucGFnZVkgLSB0aGlzLmVsZW1lbnQudG90YWxPZmZzZXRU
b3AoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9I
ZWFwU25hcHNob3RWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9I
ZWFwU25hcHNob3RWaWV3LmpzCmluZGV4IDVhMmZlNTRmYjM2Zjk0NjlkZTQwZWFkNTU5ZTQ2MmY1
YzYxOTY5ZTIuLmQ5YTVjOWIxYzU5ZTIwZjU1ZmM4MjE0ZjE1YzAzMGMzZTIzMzA2ODggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90Vmll
dy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hv
dFZpZXcuanMKQEAgLTgxLDcgKzgxLDcgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFZpZXcg
PSBmdW5jdGlvbihwYXJlbnQsIHByb2ZpbGUpCiAKICAgICB0aGlzLnJldGFpbm1lbnRWaWV3SGVh
ZGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgdGhpcy5yZXRhaW5tZW50
Vmlld0hlYWRlci5hZGRTdHlsZUNsYXNzKCJyZXRhaW5lcnMtdmlldy1oZWFkZXIiKTsKLSAgICB0
aGlzLnJldGFpbm1lbnRWaWV3SGVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIHRo
aXMuX3N0YXJ0UmV0YWluZXJzSGVhZGVyRHJhZ2dpbmcuYmluZCh0aGlzKSwgdHJ1ZSk7CisgICAg
V2ViSW5zcGVjdG9yLmluc3RhbGxEcmFnU3RhcnRlcih0aGlzLnJldGFpbm1lbnRWaWV3SGVhZGVy
LCB0aGlzLl9zdGFydFJldGFpbmVyc0hlYWRlckRyYWdnaW5nLmJpbmQodGhpcykpOwogICAgIHZh
ciByZXRhaW5pbmdQYXRoc1RpdGxlRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7
CiAgICAgcmV0YWluaW5nUGF0aHNUaXRsZURpdi5jbGFzc05hbWUgPSAidGl0bGUiOwogICAgIHZh
ciByZXRhaW5pbmdQYXRoc1RpdGxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwpA
QCAtNjQwLDcgKzY0MCw3IEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RWaWV3LnByb3RvdHlw
ZSA9IHsKICAgICAgICAgaWYgKCF0aGlzLmlzU2hvd2luZygpKQogICAgICAgICAgICAgcmV0dXJu
OwogCi0gICAgICAgIFdlYkluc3BlY3Rvci5lbGVtZW50RHJhZ1N0YXJ0KHRoaXMucmV0YWlubWVu
dFZpZXdIZWFkZXIsIHRoaXMuX3JldGFpbmVyc0hlYWRlckRyYWdnaW5nLmJpbmQodGhpcyksIHRo
aXMuX2VuZFJldGFpbmVyc0hlYWRlckRyYWdnaW5nLmJpbmQodGhpcyksIGV2ZW50LCAicm93LXJl
c2l6ZSIpOworICAgICAgICBXZWJJbnNwZWN0b3IuZWxlbWVudERyYWdTdGFydCh0aGlzLl9yZXRh
aW5lcnNIZWFkZXJEcmFnZ2luZy5iaW5kKHRoaXMpLCB0aGlzLl9lbmRSZXRhaW5lcnNIZWFkZXJE
cmFnZ2luZy5iaW5kKHRoaXMpLCBldmVudCwgInJvdy1yZXNpemUiKTsKICAgICAgICAgdGhpcy5f
cHJldmlvdXNEcmFnUG9zaXRpb24gPSBldmVudC5wYWdlWTsKICAgICAgICAgZXZlbnQuY29uc3Vt
ZSgpOwogICAgIH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1NpZGViYXJPdmVybGF5LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9TaWRlYmFyT3ZlcmxheS5qcwppbmRleCA1ZGJlZTk0YTliNDcxZGI3NjFmN2Y3NzNhM2U2NWM1
OGFiNGRkYWNjLi5kZmQwOGE5YTVjMGM5ZTI2OTdiMWMzM2E1ZjVkMGE2ODg3MDk0Yjc4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NpZGViYXJPdmVybGF5
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2lkZWJhck92ZXJs
YXkuanMKQEAgLTEzOSw3ICsxMzksNyBAQCBXZWJJbnNwZWN0b3IuU2lkZWJhck92ZXJsYXkucHJv
dG90eXBlID0gewogICAgIHsKICAgICAgICAgdmFyIHdpZHRoID0gdGhpcy5fd2lkdGg7CiAgICAg
ICAgIHRoaXMuX2RyYWdPZmZzZXQgPSB3aWR0aCAtIGV2ZW50LnBhZ2VYOwotICAgICAgICBXZWJJ
bnNwZWN0b3IuZWxlbWVudERyYWdTdGFydCh0aGlzLl9yZXNpemVyRWxlbWVudCwgdGhpcy5fcmVz
aXplckRyYWdnaW5nLmJpbmQodGhpcyksIHRoaXMuX2VuZFJlc2l6ZXJEcmFnZ2luZy5iaW5kKHRo
aXMpLCBldmVudCwgImV3LXJlc2l6ZSIpOworICAgICAgICBXZWJJbnNwZWN0b3IuZWxlbWVudERy
YWdTdGFydCh0aGlzLl9yZXNpemVyRHJhZ2dpbmcuYmluZCh0aGlzKSwgdGhpcy5fZW5kUmVzaXpl
ckRyYWdnaW5nLmJpbmQodGhpcyksIGV2ZW50LCAiZXctcmVzaXplIik7CiAgICAgfSwKIAogICAg
IC8qKgpAQCAtMTY2LDcgKzE2Niw3IEBAIFdlYkluc3BlY3Rvci5TaWRlYmFyT3ZlcmxheS5wcm90
b3R5cGUgPSB7CiAgICAgICovCiAgICAgX2luc3RhbGxSZXNpemVyOiBmdW5jdGlvbihyZXNpemVy
RWxlbWVudCkKICAgICB7Ci0gICAgICAgIHJlc2l6ZXJFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIo
Im1vdXNlZG93biIsIHRoaXMuX3N0YXJ0UmVzaXplckRyYWdnaW5nLmJpbmQodGhpcyksIGZhbHNl
KTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLmluc3RhbGxEcmFnU3RhcnRlcihyZXNpemVyRWxlbWVu
dCwgdGhpcy5fc3RhcnRSZXNpemVyRHJhZ2dpbmcuYmluZCh0aGlzKSk7CiAgICAgfSwKIAogICAg
IC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TcGxp
dFZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NwbGl0Vmlldy5q
cwppbmRleCA5ODY2NmU1MzZhYjFkMzdkMDU2MWRhMGNiOGRmOWYzOGI4ZDEwYjQ4Li5kNGY2Mjky
Nzk1MmUyNjgzYWZiYzcyMjJhMTA3ZmMwMTNhMDRlMjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NwbGl0Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NwbGl0Vmlldy5qcwpAQCAtMzYyLDcgKzM2Miw3IEBAIFdl
Ykluc3BlY3Rvci5TcGxpdFZpZXcucHJvdG90eXBlID0gewogICAgICAgICB2YXIgbGVmdFdpZHRo
ID0gdGhpcy5oYXNMZWZ0U2lkZWJhciA/IHRoaXMuX3NpZGViYXJXaWR0aCA6IHRoaXMuX3RvdGFs
V2lkdGggLSB0aGlzLl9zaWRlYmFyV2lkdGg7CiAgICAgICAgIHRoaXMuX2RyYWdPZmZzZXQgPSBs
ZWZ0V2lkdGggLSBldmVudC5wYWdlWDsKIAotICAgICAgICBXZWJJbnNwZWN0b3IuZWxlbWVudERy
YWdTdGFydCh0aGlzLnNpZGViYXJSZXNpemVyRWxlbWVudCwgdGhpcy5fcmVzaXplckRyYWdnaW5n
LmJpbmQodGhpcyksIHRoaXMuX2VuZFJlc2l6ZXJEcmFnZ2luZy5iaW5kKHRoaXMpLCBldmVudCwg
ImV3LXJlc2l6ZSIpOworICAgICAgICBXZWJJbnNwZWN0b3IuZWxlbWVudERyYWdTdGFydCh0aGlz
Ll9yZXNpemVyRHJhZ2dpbmcuYmluZCh0aGlzKSwgdGhpcy5fZW5kUmVzaXplckRyYWdnaW5nLmJp
bmQodGhpcyksIGV2ZW50LCAiZXctcmVzaXplIik7CiAgICAgfSwKIAogICAgIC8qKgpAQCAtMzky
LDcgKzM5Miw3IEBAIFdlYkluc3BlY3Rvci5TcGxpdFZpZXcucHJvdG90eXBlID0gewogICAgICAq
LwogICAgIGluc3RhbGxSZXNpemVyOiBmdW5jdGlvbihyZXNpemVyRWxlbWVudCkKICAgICB7Ci0g
ICAgICAgIHJlc2l6ZXJFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIHRoaXMu
X3N0YXJ0UmVzaXplckRyYWdnaW5nLmJpbmQodGhpcyksIGZhbHNlKTsKKyAgICAgICAgV2ViSW5z
cGVjdG9yLmluc3RhbGxEcmFnU3RhcnRlcihyZXNpemVyRWxlbWVudCwgdGhpcy5fc3RhcnRSZXNp
emVyRHJhZ2dpbmcuYmluZCh0aGlzKSk7CiAgICAgfSwKIAogICAgIC8qKgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UYWJiZWRQYW5lLmpzIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UYWJiZWRQYW5lLmpzCmluZGV4IDBlZTQ0ZWI1
YWE3YjBlZGY4MjlhN2I2ZDY2YzQ0MjFiMzNiODQ0YzcuLmY1MGRlNjYwOThiYjM0NjFmNGJmYWNh
ZTQwMTY2ZDI2ZjQzNTJiODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvVGFiYmVkUGFuZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1RhYmJlZFBhbmUuanMKQEAgLTY0Niw3ICs2NDYsNyBAQCBXZWJJbnNwZWN0b3IuVGFi
YmVkUGFuZVRhYi5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0YWJFbGVtZW50LmFkZEV2ZW50
TGlzdGVuZXIoIm1vdXNlZG93biIsIHRoaXMuX3RhYk1vdXNlRG93bi5iaW5kKHRoaXMpLCBmYWxz
ZSk7CiAgICAgICAgICAgICBpZiAodGhpcy5fY2xvc2VhYmxlKSB7CiAgICAgICAgICAgICAgICAg
dGFiRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsIHRoaXMuX3RhYkNvbnRl
eHRNZW51LmJpbmQodGhpcyksIGZhbHNlKTsKLSAgICAgICAgICAgICAgICB0YWJFbGVtZW50LmFk
ZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsIHRoaXMuX3RhYk1vdXNlTW92ZS5iaW5kKHRoaXMp
LCBmYWxzZSk7CisgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmluc3RhbGxEcmFnU3RhcnRl
cih0YWJFbGVtZW50LCB0aGlzLl9zdGFydFRhYkRyYWdnaW5nLmJpbmQodGhpcykpOwogICAgICAg
ICAgICAgfQogICAgICAgICB9CiAgICAgICAgIApAQCAtNjc4LDcgKzY3OCw2IEBAIFdlYkluc3Bl
Y3Rvci5UYWJiZWRQYW5lVGFiLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKGV2ZW50LnRhcmdl
dC5oYXNTdHlsZUNsYXNzKCJ0YWJiZWQtcGFuZS1oZWFkZXItdGFiLWNsb3NlLWJ1dHRvbiIpIHx8
IGV2ZW50LmJ1dHRvbiA9PT0gMSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgdGhpcy5f
dGFiYmVkUGFuZS5zZWxlY3RUYWIodGhpcy5pZCwgdHJ1ZSk7Ci0gICAgICAgIHRoaXMuX2RyYWdT
dGFydFggPSBldmVudC5wYWdlWDsKICAgICB9LAogCiAgICAgX3RhYkNvbnRleHRNZW51OiBmdW5j
dGlvbihldmVudCkKQEAgLTcwNSwxNCArNzA0LDE1IEBAIFdlYkluc3BlY3Rvci5UYWJiZWRQYW5l
VGFiLnByb3RvdHlwZSA9IHsKICAgICAgICAgY29udGV4dE1lbnUuc2hvdyhldmVudCk7CiAgICAg
fSwKIAotICAgIF90YWJNb3VzZU1vdmU6IGZ1bmN0aW9uKGV2ZW50KQorICAgIC8qKgorICAgICAq
IEBwYXJhbSB7RXZlbnR9IGV2ZW50CisgICAgICovCisgICAgX3N0YXJ0VGFiRHJhZ2dpbmc6IGZ1
bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgaWYgKGlzTmFOKHRoaXMuX2RyYWdTdGFydFgp
KQorICAgICAgICBpZiAoZXZlbnQudGFyZ2V0Lmhhc1N0eWxlQ2xhc3MoInRhYmJlZC1wYW5lLWhl
YWRlci10YWItY2xvc2UtYnV0dG9uIikpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlm
IChldmVudC53aGljaCAhPT0gMSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgdGhpcy5f
dGFiYmVkUGFuZS5zZWxlY3RUYWIodGhpcy5pZCwgdHJ1ZSk7Ci0gICAgICAgIFdlYkluc3BlY3Rv
ci5lbGVtZW50RHJhZ1N0YXJ0KHRoaXMuX3RhYkVsZW1lbnQsIHRoaXMuX3RhYkRyYWdnaW5nLmJp
bmQodGhpcyksIHRoaXMuX2VuZFRhYkRyYWdnaW5nLmJpbmQodGhpcyksIGV2ZW50LCAicG9pbnRl
ciIpOworICAgICAgICB0aGlzLl9kcmFnU3RhcnRYID0gZXZlbnQucGFnZVg7CisgICAgICAgIFdl
Ykluc3BlY3Rvci5lbGVtZW50RHJhZ1N0YXJ0KHRoaXMuX3RhYkRyYWdnaW5nLmJpbmQodGhpcyks
IHRoaXMuX2VuZFRhYkRyYWdnaW5nLmJpbmQodGhpcyksIGV2ZW50LCAicG9pbnRlciIpOwogICAg
IH0sCiAKICAgICAvKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVGltZWxpbmVPdmVydmlld1BhbmUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1RpbWVsaW5lT3ZlcnZpZXdQYW5lLmpzCmluZGV4IDBhMjhjM2I5ZWFiMDVmNmQ5
YmY1ODE3MWM3ZmY2NzI5YTBiYTQyNTIuLmViNTUxNTZmYTQ2MjRjNmU4YWMzNWMxNGRjODc3YWIw
N2Y0NTE1OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
VGltZWxpbmVPdmVydmlld1BhbmUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9UaW1lbGluZU92ZXJ2aWV3UGFuZS5qcwpAQCAtMzcwLDcgKzM3MCw3IEBAIFdlYklu
c3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3V2luZG93ID0gZnVuY3Rpb24ocGFyZW50RWxlbWVudCkK
ICAgICB0aGlzLndpbmRvd0xlZnQgPSAwLjA7CiAgICAgdGhpcy53aW5kb3dSaWdodCA9IDEuMDsK
IAotICAgIHRoaXMuX3BhcmVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwg
dGhpcy5fZHJhZ1dpbmRvdy5iaW5kKHRoaXMpLCB0cnVlKTsKKyAgICBXZWJJbnNwZWN0b3IuaW5z
dGFsbERyYWdTdGFydGVyKHRoaXMuX3BhcmVudEVsZW1lbnQsIHRoaXMuX2RyYWdXaW5kb3cuYmlu
ZCh0aGlzKSk7CiAgICAgdGhpcy5fcGFyZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3Vz
ZXdoZWVsIiwgdGhpcy5fb25Nb3VzZVdoZWVsLmJpbmQodGhpcyksIHRydWUpOwogICAgIHRoaXMu
X3BhcmVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2siLCB0aGlzLl9yZXNpemVX
aW5kb3dNYXhpbXVtLmJpbmQodGhpcyksIHRydWUpOwogCkBAIC00MTcsNyArNDE3LDcgQEAgV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdXaW5kb3cucHJvdG90eXBlID0gewogCiAgICAgX3Jl
c2l6ZVdpbmRvdzogZnVuY3Rpb24ocmVzaXplRWxlbWVudCwgZXZlbnQpCiAgICAgewotICAgICAg
ICBXZWJJbnNwZWN0b3IuZWxlbWVudERyYWdTdGFydChyZXNpemVFbGVtZW50LCB0aGlzLl93aW5k
b3dSZXNpemVEcmFnZ2luZy5iaW5kKHRoaXMsIHJlc2l6ZUVsZW1lbnQpLCB0aGlzLl9lbmRXaW5k
b3dEcmFnZ2luZy5iaW5kKHRoaXMpLCBldmVudCwgImV3LXJlc2l6ZSIpOworICAgICAgICBXZWJJ
bnNwZWN0b3IuZWxlbWVudERyYWdTdGFydCh0aGlzLl93aW5kb3dSZXNpemVEcmFnZ2luZy5iaW5k
KHRoaXMsIHJlc2l6ZUVsZW1lbnQpLCB0aGlzLl9lbmRXaW5kb3dEcmFnZ2luZy5iaW5kKHRoaXMp
LCBldmVudCwgImV3LXJlc2l6ZSIpOwogICAgIH0sCiAKICAgICBfd2luZG93UmVzaXplRHJhZ2dp
bmc6IGZ1bmN0aW9uKHJlc2l6ZUVsZW1lbnQsIGV2ZW50KQpAQCAtNDMxLDE5ICs0MzEsMTYgQEAg
V2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdXaW5kb3cucHJvdG90eXBlID0gewogCiAgICAg
X2RyYWdXaW5kb3c6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgLy8gT25seSBkcmFn
IHVwb24gbGVmdCBidXR0b24uIFJpZ2h0IHdpbGwgbGlrZWx5IGNhdXNlIGEgY29udGV4dCBtZW51
LgotICAgICAgICBpZiAoZXZlbnQuYnV0dG9uKQotICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB2YXIgbm9kZSA9IGV2ZW50LnRhcmdldDsKICAgICAgICAgd2hpbGUgKG5vZGUpIHsKICAgICAg
ICAgICAgIGlmIChub2RlLmhhc1N0eWxlQ2xhc3MoInJlc291cmNlcy1kaXZpZGVycy1sYWJlbC1i
YXIiKSkgewotICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5lbGVtZW50RHJhZ1N0YXJ0KHRo
aXMuX292ZXJ2aWV3V2luZG93RWxlbWVudCwgdGhpcy5fd2luZG93RHJhZ2dpbmcuYmluZCh0aGlz
LCBldmVudC5wYWdlWCwKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZWxlbWVudERyYWdT
dGFydCh0aGlzLl93aW5kb3dEcmFnZ2luZy5iaW5kKHRoaXMsIGV2ZW50LnBhZ2VYLAogICAgICAg
ICAgICAgICAgICAgICB0aGlzLl9sZWZ0UmVzaXplRWxlbWVudC5vZmZzZXRMZWZ0ICsgV2ViSW5z
cGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdQYW5lLlJlc2l6ZXJPZmZzZXQsIHRoaXMuX3JpZ2h0UmVz
aXplRWxlbWVudC5vZmZzZXRMZWZ0ICsgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdQYW5l
LlJlc2l6ZXJPZmZzZXQpLCB0aGlzLl9lbmRXaW5kb3dEcmFnZ2luZy5iaW5kKHRoaXMpLCBldmVu
dCwgImV3LXJlc2l6ZSIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfSBl
bHNlIGlmIChub2RlID09PSB0aGlzLl9wYXJlbnRFbGVtZW50KSB7CiAgICAgICAgICAgICAgICAg
dmFyIHBvc2l0aW9uID0gZXZlbnQucGFnZVggLSB0aGlzLl9wYXJlbnRFbGVtZW50Lm9mZnNldExl
ZnQ7CiAgICAgICAgICAgICAgICAgdGhpcy5fb3ZlcnZpZXdXaW5kb3dTZWxlY3RvciA9IG5ldyBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld1BhbmUuV2luZG93U2VsZWN0b3IodGhpcy5fcGFy
ZW50RWxlbWVudCwgcG9zaXRpb24pOwotICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5lbGVt
ZW50RHJhZ1N0YXJ0KG51bGwsIHRoaXMuX3dpbmRvd1NlbGVjdG9yRHJhZ2dpbmcuYmluZCh0aGlz
KSwgdGhpcy5fZW5kV2luZG93U2VsZWN0b3JEcmFnZ2luZy5iaW5kKHRoaXMpLCBldmVudCwgImV3
LXJlc2l6ZSIpOworICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5lbGVtZW50RHJhZ1N0YXJ0
KHRoaXMuX3dpbmRvd1NlbGVjdG9yRHJhZ2dpbmcuYmluZCh0aGlzKSwgdGhpcy5fZW5kV2luZG93
U2VsZWN0b3JEcmFnZ2luZy5iaW5kKHRoaXMpLCBldmVudCwgImV3LXJlc2l6ZSIpOwogICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfSBlbHNlIGlmIChub2RlID09PSB0aGlzLl9s
ZWZ0UmVzaXplRWxlbWVudCB8fCBub2RlID09PSB0aGlzLl9yaWdodFJlc2l6ZUVsZW1lbnQpIHsK
ICAgICAgICAgICAgICAgICB0aGlzLl9yZXNpemVXaW5kb3cobm9kZSwgZXZlbnQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzCmlu
ZGV4IDg5ZDkxMzI3MmU2Y2FmNjA5Mjk0YjA5ZmUyZDhlNzhiMjUwMDMyY2YuLjI3OGRkNTk2ZTg2
ZWFiM2U3MjQ4ZDI4MmVjZTVhMDBkODdjYWJmZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMKQEAgLTYxLDcgKzYxLDcgQEAg
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwgPSBmdW5jdGlvbigpCiAKICAgICB0aGlzLl90aW1l
bGluZU1lbW9yeVNwbGl0dGVyID0gdGhpcy5lbGVtZW50LmNyZWF0ZUNoaWxkKCJkaXYiKTsKICAg
ICB0aGlzLl90aW1lbGluZU1lbW9yeVNwbGl0dGVyLmlkID0gInRpbWVsaW5lLW1lbW9yeS1zcGxp
dHRlciI7Ci0gICAgdGhpcy5fdGltZWxpbmVNZW1vcnlTcGxpdHRlci5hZGRFdmVudExpc3RlbmVy
KCJtb3VzZWRvd24iLCB0aGlzLl9zdGFydFNwbGl0dGVyRHJhZ2dpbmcuYmluZCh0aGlzKSwgZmFs
c2UpOworICAgIFdlYkluc3BlY3Rvci5pbnN0YWxsRHJhZ1N0YXJ0ZXIodGhpcy5fdGltZWxpbmVN
ZW1vcnlTcGxpdHRlciwgdGhpcy5fc3RhcnRTcGxpdHRlckRyYWdnaW5nLmJpbmQodGhpcykpOwog
ICAgIHRoaXMuX3RpbWVsaW5lTWVtb3J5U3BsaXR0ZXIuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7
CiAgICAgdGhpcy5fbWVtb3J5U3RhdGlzdGljcyA9IG5ldyBXZWJJbnNwZWN0b3IuTWVtb3J5U3Rh
dGlzdGljcyh0aGlzLCB0aGlzLl9tb2RlbCwgdGhpcy5zcGxpdFZpZXcucHJlZmVycmVkU2lkZWJh
cldpZHRoKCkpOwogICAgIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5tZW1vcnlDb3VudGVyR3JhcGhz
SGVpZ2h0ID0gV2ViSW5zcGVjdG9yLnNldHRpbmdzLmNyZWF0ZVNldHRpbmcoIm1lbW9yeUNvdW50
ZXJHcmFwaHNIZWlnaHQiLCAxNTApOwpAQCAtMTUzLDcgKzE1Myw3IEBAIFdlYkluc3BlY3Rvci5U
aW1lbGluZVBhbmVsLnByb3RvdHlwZSA9IHsKICAgICBfc3RhcnRTcGxpdHRlckRyYWdnaW5nOiBm
dW5jdGlvbihldmVudCkKICAgICB7CiAgICAgICAgIHRoaXMuX2RyYWdPZmZzZXQgPSB0aGlzLl90
aW1lbGluZU1lbW9yeVNwbGl0dGVyLm9mZnNldFRvcCArIDIgLSBldmVudC5wYWdlWTsKLSAgICAg
ICAgV2ViSW5zcGVjdG9yLmVsZW1lbnREcmFnU3RhcnQodGhpcy5fdGltZWxpbmVNZW1vcnlTcGxp
dHRlciwgdGhpcy5fc3BsaXR0ZXJEcmFnZ2luZy5iaW5kKHRoaXMpLCB0aGlzLl9lbmRTcGxpdHRl
ckRyYWdnaW5nLmJpbmQodGhpcyksIGV2ZW50LCAibnMtcmVzaXplIik7CisgICAgICAgIFdlYklu
c3BlY3Rvci5lbGVtZW50RHJhZ1N0YXJ0KHRoaXMuX3NwbGl0dGVyRHJhZ2dpbmcuYmluZCh0aGlz
KSwgdGhpcy5fZW5kU3BsaXR0ZXJEcmFnZ2luZy5iaW5kKHRoaXMpLCBldmVudCwgIm5zLXJlc2l6
ZSIpOwogICAgIH0sCiAKICAgICAvKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvVG9vbGJhci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVG9vbGJhci5qcwppbmRleCA2ZWI0NDcyNWRlYjA1YjExY2RjOTgzM2JhNWJkN2Q4OTRm
NzNlMTk4Li43NTVjYzc5ZmQ1N2NhZjI2ZjkwNmRjODhlY2UwYmZjOWJlZjViZDkxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Rvb2xiYXIuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Ub29sYmFyLmpzCkBAIC0zNSw3ICsz
NSw3IEBACiBXZWJJbnNwZWN0b3IuVG9vbGJhciA9IGZ1bmN0aW9uKCkKIHsKICAgICB0aGlzLmVs
ZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9vbGJhciIpOwotICAgIHRoaXMuZWxl
bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCB0aGlzLl90b29sYmFyRHJhZ1N0YXJ0
LmJpbmQodGhpcyksIHRydWUpOworICAgIFdlYkluc3BlY3Rvci5pbnN0YWxsRHJhZ1N0YXJ0ZXIo
dGhpcy5lbGVtZW50LCB0aGlzLl90b29sYmFyRHJhZ1N0YXJ0LmJpbmQodGhpcykpOwogCiAgICAg
dGhpcy5fZHJvcGRvd25CdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9vbGJhci1k
cm9wZG93bi1hcnJvdyIpOwogICAgIHRoaXMuX2Ryb3Bkb3duQnV0dG9uLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgdGhpcy5fdG9nZ2xlRHJvcGRvd24uYmluZCh0aGlzKSwgZmFsc2UpOwpAQCAt
ODAsNyArODAsNyBAQCBXZWJJbnNwZWN0b3IuVG9vbGJhci5wcm90b3R5cGUgPSB7CiAgICAgICAg
IHRoaXMuZWxlbWVudC5sYXN0U2NyZWVuWCA9IGV2ZW50LnNjcmVlblg7CiAgICAgICAgIHRoaXMu
ZWxlbWVudC5sYXN0U2NyZWVuWSA9IGV2ZW50LnNjcmVlblk7CiAKLSAgICAgICAgV2ViSW5zcGVj
dG9yLmVsZW1lbnREcmFnU3RhcnQodGhpcy5lbGVtZW50LCB0aGlzLl90b29sYmFyRHJhZy5iaW5k
KHRoaXMpLCB0aGlzLl90b29sYmFyRHJhZ0VuZC5iaW5kKHRoaXMpLCBldmVudCwgKFdlYkluc3Bl
Y3Rvci5pc0NvbXBhY3RNb2RlKCkgPyAicm93LXJlc2l6ZSIgOiAiZGVmYXVsdCIpKTsKKyAgICAg
ICAgV2ViSW5zcGVjdG9yLmVsZW1lbnREcmFnU3RhcnQodGhpcy5fdG9vbGJhckRyYWcuYmluZCh0
aGlzKSwgdGhpcy5fdG9vbGJhckRyYWdFbmQuYmluZCh0aGlzKSwgZXZlbnQsIChXZWJJbnNwZWN0
b3IuaXNDb21wYWN0TW9kZSgpID8gInJvdy1yZXNpemUiIDogImRlZmF1bHQiKSk7CiAgICAgfSwK
IAogICAgIF90b29sYmFyRHJhZ0VuZDogZnVuY3Rpb24oZXZlbnQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1VJVXRpbHMuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1VJVXRpbHMuanMKaW5kZXggYzIzY2E2NTJlZTc0NTgwM2M2
MWI0Mzk4NTJjZmIwOWU0MzgzOTdjYy4uYjY0YmM4MjZhMzk5MzE4MDE1YTQxOGUyZDAyN2Q0YjM2
OTIyNzU0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9V
SVV0aWxzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVUlVdGls
cy5qcwpAQCAtMjksMjQgKzI5LDM1IEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLVdlYkluc3BlY3Rv
ci5lbGVtZW50RHJhZ1N0YXJ0ID0gZnVuY3Rpb24oZWxlbWVudCwgZGl2aWRlckRyYWcsIGVsZW1l
bnREcmFnRW5kLCBldmVudCwgY3Vyc29yKQorV2ViSW5zcGVjdG9yLmluc3RhbGxEcmFnU3RhcnRl
ciA9IGZ1bmN0aW9uKGVsZW1lbnQsIGVsZW1lbnREcmFnU3RhcnQpCit7CisgICAgZnVuY3Rpb24g
Y2FsbGJhY2soZXZlbnQpCisgICAgeworICAgICAgICAvLyBPbmx5IGRyYWcgdXBvbiBsZWZ0IGJ1
dHRvbi4gUmlnaHQgd2lsbCBsaWtlbHkgY2F1c2UgYSBjb250ZXh0IG1lbnUuCisgICAgICAgIGlm
IChldmVudC5idXR0b24pCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGVsZW1lbnREcmFn
U3RhcnQoZXZlbnQpOworICAgIH0KKyAgICAKKyAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIo
Im1vdXNlZG93biIsIGNhbGxiYWNrLCBmYWxzZSk7Cit9CisKK1dlYkluc3BlY3Rvci5lbGVtZW50
RHJhZ1N0YXJ0ID0gZnVuY3Rpb24oZWxlbWVudERyYWcsIGVsZW1lbnREcmFnRW5kLCBldmVudCwg
Y3Vyc29yKQogewogICAgIGlmIChXZWJJbnNwZWN0b3IuX2VsZW1lbnREcmFnZ2luZ0V2ZW50TGlz
dGVuZXIgfHwgV2ViSW5zcGVjdG9yLl9lbGVtZW50RW5kRHJhZ2dpbmdFdmVudExpc3RlbmVyKQog
ICAgICAgICBXZWJJbnNwZWN0b3IuZWxlbWVudERyYWdFbmQoZXZlbnQpOwogCi0gICAgaWYgKGVs
ZW1lbnQpIHsKLSAgICAgICAgLy8gSW5zdGFsbCBnbGFzcyBwYW5lCi0gICAgICAgIGlmIChXZWJJ
bnNwZWN0b3IuX2VsZW1lbnREcmFnZ2luZ0dsYXNzUGFuZSkKLSAgICAgICAgICAgIFdlYkluc3Bl
Y3Rvci5fZWxlbWVudERyYWdnaW5nR2xhc3NQYW5lLmRpc3Bvc2UoKTsKKyAgICAvLyBJbnN0YWxs
IGdsYXNzIHBhbmUKKyAgICBpZiAoV2ViSW5zcGVjdG9yLl9lbGVtZW50RHJhZ2dpbmdHbGFzc1Bh
bmUpCisgICAgICAgIFdlYkluc3BlY3Rvci5fZWxlbWVudERyYWdnaW5nR2xhc3NQYW5lLmRpc3Bv
c2UoKTsKIAotICAgICAgICBXZWJJbnNwZWN0b3IuX2VsZW1lbnREcmFnZ2luZ0dsYXNzUGFuZSA9
IG5ldyBXZWJJbnNwZWN0b3IuR2xhc3NQYW5lKCk7Ci0gICAgfQorICAgIFdlYkluc3BlY3Rvci5f
ZWxlbWVudERyYWdnaW5nR2xhc3NQYW5lID0gbmV3IFdlYkluc3BlY3Rvci5HbGFzc1BhbmUoKTsK
IAotICAgIFdlYkluc3BlY3Rvci5fZWxlbWVudERyYWdnaW5nRXZlbnRMaXN0ZW5lciA9IGRpdmlk
ZXJEcmFnOworICAgIFdlYkluc3BlY3Rvci5fZWxlbWVudERyYWdnaW5nRXZlbnRMaXN0ZW5lciA9
IGVsZW1lbnREcmFnOwogICAgIFdlYkluc3BlY3Rvci5fZWxlbWVudEVuZERyYWdnaW5nRXZlbnRM
aXN0ZW5lciA9IGVsZW1lbnREcmFnRW5kOwogCiAgICAgdmFyIHRhcmdldERvY3VtZW50ID0gZXZl
bnQudGFyZ2V0Lm93bmVyRG9jdW1lbnQ7Ci0gICAgdGFyZ2V0RG9jdW1lbnQuYWRkRXZlbnRMaXN0
ZW5lcigibW91c2Vtb3ZlIiwgZGl2aWRlckRyYWcsIHRydWUpOworICAgIHRhcmdldERvY3VtZW50
LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsIGVsZW1lbnREcmFnLCB0cnVlKTsKICAgICB0
YXJnZXREb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIiwgZWxlbWVudERyYWdFbmQs
IHRydWUpOwogCiAgICAgdGFyZ2V0RG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3IgPSBjdXJzb3I7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153457</attachid>
            <date>2012-07-20 02:52:18 -0700</date>
            <delta_ts>2012-07-20 09:05:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91728-20120720135213.patch</filename>
            <type>text/plain</type>
            <size>33874</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjNjY2JiN2M2YjMzNzNk
NDc5NDlmOTBlNTI0OTQ5ZmVhY2ZjZjQzMi4uMGJjZjlkZWJlMDNhNDk1OThjNmU0M2I1MjE1NThm
NGU4Yzg4MGQwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY5IEBACisyMDEyLTA3LTIwICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IERyYWcgYW5kIGRyb3Agc2hvdWxkIG5vdCBiZSBzdGFydGVkIG9uIHJpZ2h0IG1vdXNlIGNs
aWNrLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE3
MjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnRy
b2R1Y2VkIFdlYkluc3BlY3Rvci5pbnN0YWxsRHJhZ0hhbmRsZSBtZXRob2QgdG8gY29udHJvbCBk
cmFnIGFuZCBkcm9wIHN1cHBvcnQsIGNoZWNraW5nIHdoaWNoZyBtb3VzZSBidXR0b24gaXMgcHJl
c3NlZC4KKyAgICAgICAgU2ltcGxpZmllZCBXZWJJbnNwZWN0b3IuX2VsZW1lbnREcmFnU3RhcnQs
IHJlbW92ZWQgImVsZW1lbnQiIHBhcmFtZXRlci4KKyAgICAgICAgU2ltcGxpZmllZCB0YWIgbW92
aW5nIHN1cHBvcnQgaW4gVGFiYmVkUGFuZSwgcmVtb3ZlZCAibW91c2Vtb3ZlIiBoYW5kbGVyLgor
ICAgICAgICBSZW1vdmVkIHdoaWxlIGxvb3AgZGV0ZXJtaW5pbmcgd2hpY2ggZWxlbWVudCB3YXMg
ZHJhZ2dlZCBpbiBUaW1lbGluZU92ZXJ2aWV3UGFuZSwgZWFjaCBkcmFnIHN1cHBvcnQgaXMgbm93
IGluc3RhbGxlZCBpbmRlcGVuZGVudGx5LgorICAgICAgICBEcml2ZS1ieTogZml4ZWQgVGltZWxp
bmVPdmVydmlld1BhbmUgd2luZG93IG1vdmluZyBvbiByZXNvdXJjZXMtZGl2aWRlcnMtbGFiZWwt
YmFyIGRyYW5nLWFuZC1kcm9wLgorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRh
R3JpZC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUuX3Bvc2l0
aW9uUmVzaXplcnMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRhdGFHcmlkLnByb3RvdHlwZS5f
c3RhcnRSZXNpemVyRHJhZ2dpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRhdGFHcmlkLnBy
b3RvdHlwZS5fZW5kUmVzaXplckRyYWdnaW5nKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL0RyYXdlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EcmF3ZXIpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUuX2FuaW1hdGlvbkR1cmF0aW9uKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlLl9zdGFydFN0YXR1c0JhckRyYWdnaW5n
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlLl9lbmRTdGF0dXNCYXJE
cmFnZ2luZyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3RWaWV3
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFZpZXcucHJvdG90eXBlLl9z
dGFydFJldGFpbmVyc0hlYWRlckRyYWdnaW5nKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFw
U25hcHNob3RWaWV3LnByb3RvdHlwZS5fZW5kUmV0YWluZXJzSGVhZGVyRHJhZ2dpbmcpOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2lkZWJhck92ZXJsYXkuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuU2lkZWJhck92ZXJsYXkucHJvdG90eXBlLnNldCBfc3RhcnRSZXNpemVyRHJh
Z2dpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNpZGViYXJPdmVybGF5LnByb3RvdHlwZS5f
ZW5kUmVzaXplckRyYWdnaW5nKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TaWRlYmFyT3Zlcmxh
eS5wcm90b3R5cGUuX2luc3RhbGxSZXNpemVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1NwZWN0cnVtLmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU3BsaXRWaWV3
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNwbGl0Vmlldy5wcm90b3R5cGUuX3N0YXJ0UmVz
aXplckRyYWdnaW5nKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TcGxpdFZpZXcucHJvdG90eXBl
Ll9lbmRSZXNpemVyRHJhZ2dpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNwbGl0Vmlldy5w
cm90b3R5cGUuaW5zdGFsbFJlc2l6ZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
VGFiYmVkUGFuZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UYWJiZWRQYW5lVGFiLnByb3Rv
dHlwZS5fY3JlYXRlVGFiRWxlbWVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGFiYmVkUGFu
ZVRhYi5wcm90b3R5cGUuX3RhYk1vdXNlRG93bik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGFi
YmVkUGFuZVRhYi5wcm90b3R5cGUuX3N0YXJ0VGFiRHJhZ2dpbmcpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlRhYmJlZFBhbmVUYWIucHJvdG90eXBlLl9lbmRUYWJEcmFnZ2luZyk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU92ZXJ2aWV3UGFuZS5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3UGFuZSk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuVGltZWxpbmVPdmVydmlld1dpbmRvdyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxp
bmVPdmVydmlld1dpbmRvdy5wcm90b3R5cGUuX2xlZnRSZXNpemVFbGVtZW50RHJhZ2dpbmcpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdXaW5kb3cucHJvdG90eXBlLl9y
aWdodFJlc2l6ZUVsZW1lbnREcmFnZ2luZyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxp
bmVPdmVydmlld1dpbmRvdy5wcm90b3R5cGUuX3N0YXJ0V2luZG93U2VsZWN0b3JEcmFnZ2luZyk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld1dpbmRvdy5wcm90b3R5cGUu
X2VuZFdpbmRvd1NlbGVjdG9yRHJhZ2dpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVs
aW5lT3ZlcnZpZXdXaW5kb3cucHJvdG90eXBlLl9zdGFydFdpbmRvd0RyYWdnaW5nKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3V2luZG93LnByb3RvdHlwZS5fd2luZG93
RHJhZ2dpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdXaW5kb3cu
cHJvdG90eXBlLl9lbmRXaW5kb3dEcmFnZ2luZyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVPdmVydmlld1dpbmRvdy5wcm90b3R5cGUuX21vdmVXaW5kb3cpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdXaW5kb3cucHJvdG90eXBlLl9vbk1vdXNlV2hlZWwp
OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5U
aW1lbGluZVBhbmVsLnByb3RvdHlwZS5fc3RhcnRTcGxpdHRlckRyYWdnaW5nKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZS5fZW5kU3BsaXR0ZXJEcmFnZ2lu
Zyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Ub29sYmFyLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlRvb2xiYXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRvb2xiYXIucHJv
dG90eXBlLl90b29sYmFyRHJhZ1N0YXJ0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Ub29sYmFy
LnByb3RvdHlwZS5fdG9vbGJhckRyYWdFbmQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvVUlVdGlscy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5pbnN0YWxsRHJhZ0hhbmRsZSk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuX2VsZW1lbnREcmFnU3RhcnQpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLl9lbGVtZW50RHJhZ0VuZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC90aW1lbGluZVBhbmVsLmNzczoKKyAgICAgICAgKCN0aW1lbGluZS1vdmVydmlldy1ncmlkIC5y
ZXNvdXJjZXMtZGl2aWRlcnMtbGFiZWwtYmFyKToKKwogMjAxMi0wNy0xOSAgSmFuIEtlcm9tbmVz
ICA8amFueEBsaW51eC5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogRmFjdG9yIEV4dGVu
c2lvblZpZXcgaW50byBzZXBhcmF0ZSBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFHcmlkLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9EYXRhR3JpZC5qcwppbmRleCBjZjY2Y2I2NTdkMzUyMWNhN2QyMTdjZGE0MmY5
ZWE0MDBkN2YzMGIzLi4zNDg5MDFiZTZlNjE4OGNhMjU2MDg2NzVhNTkyYWM5OGQ3ZGI1NTQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFHcmlkLmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGF0YUdyaWQuanMKQEAg
LTY1Myw3ICs2NTMsNyBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQucHJvdG90eXBlID0gewogICAg
ICAgICAgICAgICAgIHJlc2l6ZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAg
ICAgICAgICAgICAgICByZXNpemVyLmFkZFN0eWxlQ2xhc3MoImRhdGEtZ3JpZC1yZXNpemVyIik7
CiAgICAgICAgICAgICAgICAgLy8gVGhpcyByZXNpemVyIGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUg
Y29sdW1uIHRvIGl0cyByaWdodC4KLSAgICAgICAgICAgICAgICByZXNpemVyLmFkZEV2ZW50TGlz
dGVuZXIoIm1vdXNlZG93biIsIHRoaXMuX3N0YXJ0UmVzaXplckRyYWdnaW5nLmJpbmQodGhpcyks
IGZhbHNlKTsKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuaW5zdGFsbERyYWdIYW5kbGUo
cmVzaXplciwgdGhpcy5fc3RhcnRSZXNpemVyRHJhZ2dpbmcuYmluZCh0aGlzKSwgdGhpcy5fcmVz
aXplckRyYWdnaW5nLmJpbmQodGhpcyksIHRoaXMuX2VuZFJlc2l6ZXJEcmFnZ2luZy5iaW5kKHRo
aXMpLCAiY29sLXJlc2l6ZSIpOwogICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmRD
aGlsZChyZXNpemVyKTsKICAgICAgICAgICAgICAgICB0aGlzLnJlc2l6ZXJzW2ldID0gcmVzaXpl
cjsKICAgICAgICAgICAgIH0KQEAgLTkzNyw5ICs5MzcsOCBAQCBXZWJJbnNwZWN0b3IuRGF0YUdy
aWQucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdGhpcy5fY3VycmVudFJlc2l6ZXIgPSBl
dmVudC50YXJnZXQ7CiAgICAgICAgIGlmICghdGhpcy5fY3VycmVudFJlc2l6ZXIucmlnaHROZWln
aGJvcmluZ0NvbHVtbklEKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBXZWJJbnNwZWN0
b3IuZWxlbWVudERyYWdTdGFydCh0aGlzLl9jdXJyZW50UmVzaXplciwgdGhpcy5fcmVzaXplckRy
YWdnaW5nLmJpbmQodGhpcyksCi0gICAgICAgICAgICB0aGlzLl9lbmRSZXNpemVyRHJhZ2dpbmcu
YmluZCh0aGlzKSwgZXZlbnQsICJjb2wtcmVzaXplIik7CisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0sCiAKICAgICBfcmVzaXplckRyYWdnaW5n
OiBmdW5jdGlvbihldmVudCkKQEAgLTk5Myw3ICs5OTIsNiBAQCBXZWJJbnNwZWN0b3IuRGF0YUdy
aWQucHJvdG90eXBlID0gewogCiAgICAgX2VuZFJlc2l6ZXJEcmFnZ2luZzogZnVuY3Rpb24oZXZl
bnQpCiAgICAgewotICAgICAgICBXZWJJbnNwZWN0b3IuZWxlbWVudERyYWdFbmQoZXZlbnQpOwog
ICAgICAgICB0aGlzLl9jdXJyZW50UmVzaXplciA9IG51bGw7CiAgICAgICAgIHRoaXMuZGlzcGF0
Y2hFdmVudFRvTGlzdGVuZXJzKCJ3aWR0aCBjaGFuZ2VkIik7CiAgICAgfSwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRHJhd2VyLmpzIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EcmF3ZXIuanMKaW5kZXggZTc1ODU3YzJkM2JhMzA3
YjE0MTY4NjA1NzM0NzNhYmU5MWNkODYyNi4uMDdmODQxMzAxNDJhZmQyODA2OTdiYjczNGZlYjI4
MzIwODJmODMyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9EcmF3ZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EcmF3
ZXIuanMKQEAgLTM3LDE0ICszNywxNSBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyID0gZnVuY3Rpb24o
KQogICAgIHRoaXMuX21haW5FbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1haW4i
KTsKICAgICB0aGlzLl90b29sYmFyRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
b29sYmFyIik7CiAgICAgdGhpcy5fbWFpblN0YXR1c0JhciA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJtYWluLXN0YXR1cy1iYXIiKTsKLSAgICB0aGlzLl9tYWluU3RhdHVzQmFyLmFkZEV2ZW50
TGlzdGVuZXIoIm1vdXNlZG93biIsIHRoaXMuX3N0YXJ0U3RhdHVzQmFyRHJhZ2dpbmcuYmluZCh0
aGlzKSwgdHJ1ZSk7CisgICAgV2ViSW5zcGVjdG9yLmluc3RhbGxEcmFnSGFuZGxlKHRoaXMuX21h
aW5TdGF0dXNCYXIsIHRoaXMuX3N0YXJ0U3RhdHVzQmFyRHJhZ2dpbmcuYmluZCh0aGlzKSwgdGhp
cy5fc3RhdHVzQmFyRHJhZ2dpbmcuYmluZCh0aGlzKSwgdGhpcy5fZW5kU3RhdHVzQmFyRHJhZ2dp
bmcuYmluZCh0aGlzKSwgInJvdy1yZXNpemUiKTsKKwogICAgIHRoaXMuX2NvdW50ZXJzID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvdW50ZXJzIik7CiAKICAgICB0aGlzLl9kcmF3ZXJDb250
ZW50c0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICB0aGlzLl9k
cmF3ZXJDb250ZW50c0VsZW1lbnQuaWQgPSAiZHJhd2VyLWNvbnRlbnRzIjsKICAgICB0aGlzLl9k
cmF3ZXJDb250ZW50c0VsZW1lbnQuY2xhc3NOYW1lID0gImRyYXdlci1jb250ZW50cyI7CiAgICAg
dGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2RyYXdlckNvbnRlbnRzRWxlbWVudCk7Ci0g
ICAgCisKICAgICB0aGlzLl9kcmF3ZXJTdGF0dXNCYXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKICAgICB0aGlzLl9kcmF3ZXJTdGF0dXNCYXIuaWQgPSAiZHJhd2VyLXN0YXR1cy1i
YXIiOwogICAgIHRoaXMuX2RyYXdlclN0YXR1c0Jhci5jbGFzc05hbWUgPSAic3RhdHVzLWJhciI7
CkBAIC0yMzgsMjAgKzIzOSwxNyBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgICAgIHJldHVybiAyNTA7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBy
ZXR1cm4gMDsKLSAgICAgICAgfSAgICAgICAgCisgICAgICAgIH0KICAgICB9LAogCiAgICAgX3N0
YXJ0U3RhdHVzQmFyRHJhZ2dpbmc6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAgaWYg
KCF0aGlzLnZpc2libGUgfHwgZXZlbnQudGFyZ2V0ICE9PSB0aGlzLl9tYWluU3RhdHVzQmFyKQot
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAg
IHRoaXMuX3ZpZXcuc3RvcmVTY3JvbGxQb3NpdGlvbnMoKTsKLSAgICAgICAgV2ViSW5zcGVjdG9y
LmVsZW1lbnREcmFnU3RhcnQodGhpcy5fbWFpblN0YXR1c0JhciwgdGhpcy5fc3RhdHVzQmFyRHJh
Z2dpbmcuYmluZCh0aGlzKSwgdGhpcy5fZW5kU3RhdHVzQmFyRHJhZ2dpbmcuYmluZCh0aGlzKSwg
ZXZlbnQsICJyb3ctcmVzaXplIik7Ci0KICAgICAgICAgdGhpcy5fc3RhdHVzQmFyRHJhZ09mZnNl
dCA9IGV2ZW50LnBhZ2VZIC0gdGhpcy5lbGVtZW50LnRvdGFsT2Zmc2V0VG9wKCk7Ci0KLSAgICAg
ICAgZXZlbnQuY29uc3VtZSgpOworICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9LAogCiAgICAg
X3N0YXR1c0JhckRyYWdnaW5nOiBmdW5jdGlvbihldmVudCkKQEAgLTI3MCw4ICsyNjgsNiBAQCBX
ZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZSA9IHsKIAogICAgIF9lbmRTdGF0dXNCYXJEcmFn
Z2luZzogZnVuY3Rpb24oZXZlbnQpCiAgICAgewotICAgICAgICBXZWJJbnNwZWN0b3IuZWxlbWVu
dERyYWdFbmQoZXZlbnQpOwotCiAgICAgICAgIHRoaXMuX3NhdmVkSGVpZ2h0ID0gdGhpcy5lbGVt
ZW50Lm9mZnNldEhlaWdodDsKICAgICAgICAgZGVsZXRlIHRoaXMuX3N0YXR1c0JhckRyYWdPZmZz
ZXQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVh
cFNuYXBzaG90Vmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVh
cFNuYXBzaG90Vmlldy5qcwppbmRleCA1YTJmZTU0ZmIzNmY5NDY5ZGU0MGVhZDU1OWU0NjJmNWM2
MTk2OWUyLi44YjUzMTE4NWY5NGE1ZjA0ZjJiNjUwODc0M2I1YzkzNmY3NjQxYzhjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdFZpZXcu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3RW
aWV3LmpzCkBAIC04MSw3ICs4MSw3IEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RWaWV3ID0g
ZnVuY3Rpb24ocGFyZW50LCBwcm9maWxlKQogCiAgICAgdGhpcy5yZXRhaW5tZW50Vmlld0hlYWRl
ciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIHRoaXMucmV0YWlubWVudFZp
ZXdIZWFkZXIuYWRkU3R5bGVDbGFzcygicmV0YWluZXJzLXZpZXctaGVhZGVyIik7Ci0gICAgdGhp
cy5yZXRhaW5tZW50Vmlld0hlYWRlci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCB0aGlz
Ll9zdGFydFJldGFpbmVyc0hlYWRlckRyYWdnaW5nLmJpbmQodGhpcyksIHRydWUpOworICAgIFdl
Ykluc3BlY3Rvci5pbnN0YWxsRHJhZ0hhbmRsZSh0aGlzLnJldGFpbm1lbnRWaWV3SGVhZGVyLCB0
aGlzLl9zdGFydFJldGFpbmVyc0hlYWRlckRyYWdnaW5nLmJpbmQodGhpcyksIHRoaXMuX3JldGFp
bmVyc0hlYWRlckRyYWdnaW5nLmJpbmQodGhpcyksIHRoaXMuX2VuZFJldGFpbmVyc0hlYWRlckRy
YWdnaW5nLmJpbmQodGhpcyksICJyb3ctcmVzaXplIik7CiAgICAgdmFyIHJldGFpbmluZ1BhdGhz
VGl0bGVEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICByZXRhaW5pbmdQ
YXRoc1RpdGxlRGl2LmNsYXNzTmFtZSA9ICJ0aXRsZSI7CiAgICAgdmFyIHJldGFpbmluZ1BhdGhz
VGl0bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CkBAIC02MzgsMTEgKzYzOCwx
MCBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgX3N0
YXJ0UmV0YWluZXJzSGVhZGVyRHJhZ2dpbmc6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAg
ICAgaWYgKCF0aGlzLmlzU2hvd2luZygpKQotICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCi0gICAgICAgIFdlYkluc3BlY3Rvci5lbGVtZW50RHJhZ1N0YXJ0
KHRoaXMucmV0YWlubWVudFZpZXdIZWFkZXIsIHRoaXMuX3JldGFpbmVyc0hlYWRlckRyYWdnaW5n
LmJpbmQodGhpcyksIHRoaXMuX2VuZFJldGFpbmVyc0hlYWRlckRyYWdnaW5nLmJpbmQodGhpcyks
IGV2ZW50LCAicm93LXJlc2l6ZSIpOwogICAgICAgICB0aGlzLl9wcmV2aW91c0RyYWdQb3NpdGlv
biA9IGV2ZW50LnBhZ2VZOwotICAgICAgICBldmVudC5jb25zdW1lKCk7CisgICAgICAgIHJldHVy
biB0cnVlOwogICAgIH0sCiAKICAgICBfcmV0YWluZXJzSGVhZGVyRHJhZ2dpbmc6IGZ1bmN0aW9u
KGV2ZW50KQpAQCAtNjU2LDcgKzY1NSw2IEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RWaWV3
LnByb3RvdHlwZSA9IHsKIAogICAgIF9lbmRSZXRhaW5lcnNIZWFkZXJEcmFnZ2luZzogZnVuY3Rp
b24oZXZlbnQpCiAgICAgewotICAgICAgICBXZWJJbnNwZWN0b3IuZWxlbWVudERyYWdFbmQoZXZl
bnQpOwogICAgICAgICBkZWxldGUgdGhpcy5fcHJldmlvdXNEcmFnUG9zaXRpb247CiAgICAgICAg
IGV2ZW50LmNvbnN1bWUoKTsKICAgICB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9TaWRlYmFyT3ZlcmxheS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU2lkZWJhck92ZXJsYXkuanMKaW5kZXggNWRiZWU5NGE5YjQ3MWRiNzYx
ZjdmNzczYTNlNjVjNThhYjRkZGFjYy4uMWRhNTZjYjdjOThjMjNlODc0YzYzZGY5ZmVlNTRiNmFk
MmVlNmRlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9T
aWRlYmFyT3ZlcmxheS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1NpZGViYXJPdmVybGF5LmpzCkBAIC0xMzksNyArMTM5LDcgQEAgV2ViSW5zcGVjdG9yLlNpZGVi
YXJPdmVybGF5LnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIHZhciB3aWR0aCA9IHRoaXMu
X3dpZHRoOwogICAgICAgICB0aGlzLl9kcmFnT2Zmc2V0ID0gd2lkdGggLSBldmVudC5wYWdlWDsK
LSAgICAgICAgV2ViSW5zcGVjdG9yLmVsZW1lbnREcmFnU3RhcnQodGhpcy5fcmVzaXplckVsZW1l
bnQsIHRoaXMuX3Jlc2l6ZXJEcmFnZ2luZy5iaW5kKHRoaXMpLCB0aGlzLl9lbmRSZXNpemVyRHJh
Z2dpbmcuYmluZCh0aGlzKSwgZXZlbnQsICJldy1yZXNpemUiKTsKKyAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgfSwKIAogICAgIC8qKgpAQCAtMTU4LDcgKzE1OCw2IEBAIFdlYkluc3BlY3Rvci5T
aWRlYmFyT3ZlcmxheS5wcm90b3R5cGUgPSB7CiAgICAgX2VuZFJlc2l6ZXJEcmFnZ2luZzogZnVu
Y3Rpb24oZXZlbnQpCiAgICAgewogICAgICAgICBkZWxldGUgdGhpcy5fZHJhZ09mZnNldDsKLSAg
ICAgICAgV2ViSW5zcGVjdG9yLmVsZW1lbnREcmFnRW5kKGV2ZW50KTsKICAgICB9LAogCiAgICAg
LyoqCkBAIC0xNjYsNyArMTY1LDcgQEAgV2ViSW5zcGVjdG9yLlNpZGViYXJPdmVybGF5LnByb3Rv
dHlwZSA9IHsKICAgICAgKi8KICAgICBfaW5zdGFsbFJlc2l6ZXI6IGZ1bmN0aW9uKHJlc2l6ZXJF
bGVtZW50KQogICAgIHsKLSAgICAgICAgcmVzaXplckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigi
bW91c2Vkb3duIiwgdGhpcy5fc3RhcnRSZXNpemVyRHJhZ2dpbmcuYmluZCh0aGlzKSwgZmFsc2Up
OworICAgICAgICBXZWJJbnNwZWN0b3IuaW5zdGFsbERyYWdIYW5kbGUocmVzaXplckVsZW1lbnQs
IHRoaXMuX3N0YXJ0UmVzaXplckRyYWdnaW5nLmJpbmQodGhpcyksIHRoaXMuX3Jlc2l6ZXJEcmFn
Z2luZy5iaW5kKHRoaXMpLCB0aGlzLl9lbmRSZXNpemVyRHJhZ2dpbmcuYmluZCh0aGlzKSwgImV3
LXJlc2l6ZSIpOwogICAgIH0sCiAKICAgICAvKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU3BlY3RydW0uanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1NwZWN0cnVtLmpzCmluZGV4IGVmZDU3ODdlMzE1OTEzOGM5NGYwYWExM2Y2
YTBkNjAzNTNlMGFlNDQuLjJhZmZmMWI4NWVjNDI4OGU5ZGYwYjFhNDVhODE4YjgxOGJhMTcyZTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3BlY3RydW0u
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TcGVjdHJ1bS5qcwpA
QCAtMTg1LDcgKzE4NSw3IEBAIFdlYkluc3BlY3Rvci5TcGVjdHJ1bS5yZ2JhVG9IU1ZBID0gZnVu
Y3Rpb24ociwgZywgYiwgYSkKICAgICByZXR1cm4gW2gsIHMsIHYsIGFdOwogfTsKIAotLy9GSVhN
RTogbWlncmF0ZSB0byBXZWJJbnNwZWN0b3IuZWxlbWVudERyYWdTdGFydAorLy9GSVhNRTogbWln
cmF0ZSB0byBXZWJJbnNwZWN0b3IuaW5zdGFsbERyYWdIYW5kbGUKIC8qKgogICogQHBhcmFtIHtG
dW5jdGlvbj19IG9ubW92ZQogICogQHBhcmFtIHtGdW5jdGlvbj19IG9uc3RhcnQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3BsaXRWaWV3LmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TcGxpdFZpZXcuanMKaW5kZXggOTg2NjZl
NTM2YWIxZDM3ZDA1NjFkYTBjYjhkZjlmMzhiOGQxMGI0OC4uMDJjOWYzODFkMjRjMTBjMDhmY2M2
YjdkYzNlMTliYmE1ODRhNGI0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9TcGxpdFZpZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9TcGxpdFZpZXcuanMKQEAgLTM1NywxMiArMzU3LDExIEBAIFdlYkluc3BlY3Rvci5T
cGxpdFZpZXcucHJvdG90eXBlID0gewogICAgIF9zdGFydFJlc2l6ZXJEcmFnZ2luZzogZnVuY3Rp
b24oZXZlbnQpCiAgICAgewogICAgICAgICBpZiAoIXRoaXMuX3Jlc2l6YWJsZSkKLSAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICB2YXIgbGVm
dFdpZHRoID0gdGhpcy5oYXNMZWZ0U2lkZWJhciA/IHRoaXMuX3NpZGViYXJXaWR0aCA6IHRoaXMu
X3RvdGFsV2lkdGggLSB0aGlzLl9zaWRlYmFyV2lkdGg7CiAgICAgICAgIHRoaXMuX2RyYWdPZmZz
ZXQgPSBsZWZ0V2lkdGggLSBldmVudC5wYWdlWDsKLQotICAgICAgICBXZWJJbnNwZWN0b3IuZWxl
bWVudERyYWdTdGFydCh0aGlzLnNpZGViYXJSZXNpemVyRWxlbWVudCwgdGhpcy5fcmVzaXplckRy
YWdnaW5nLmJpbmQodGhpcyksIHRoaXMuX2VuZFJlc2l6ZXJEcmFnZ2luZy5iaW5kKHRoaXMpLCBl
dmVudCwgImV3LXJlc2l6ZSIpOworICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9LAogCiAgICAg
LyoqCkBAIC0zODQsNyArMzgzLDYgQEAgV2ViSW5zcGVjdG9yLlNwbGl0Vmlldy5wcm90b3R5cGUg
PSB7CiAgICAgX2VuZFJlc2l6ZXJEcmFnZ2luZzogZnVuY3Rpb24oZXZlbnQpCiAgICAgewogICAg
ICAgICBkZWxldGUgdGhpcy5fZHJhZ09mZnNldDsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmVsZW1l
bnREcmFnRW5kKGV2ZW50KTsKICAgICB9LAogCiAgICAgLyoqCkBAIC0zOTIsNyArMzkwLDcgQEAg
V2ViSW5zcGVjdG9yLlNwbGl0Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgaW5zdGFs
bFJlc2l6ZXI6IGZ1bmN0aW9uKHJlc2l6ZXJFbGVtZW50KQogICAgIHsKLSAgICAgICAgcmVzaXpl
ckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgdGhpcy5fc3RhcnRSZXNpemVy
RHJhZ2dpbmcuYmluZCh0aGlzKSwgZmFsc2UpOworICAgICAgICBXZWJJbnNwZWN0b3IuaW5zdGFs
bERyYWdIYW5kbGUocmVzaXplckVsZW1lbnQsIHRoaXMuX3N0YXJ0UmVzaXplckRyYWdnaW5nLmJp
bmQodGhpcyksIHRoaXMuX3Jlc2l6ZXJEcmFnZ2luZy5iaW5kKHRoaXMpLCB0aGlzLl9lbmRSZXNp
emVyRHJhZ2dpbmcuYmluZCh0aGlzKSwgImV3LXJlc2l6ZSIpOwogICAgIH0sCiAKICAgICAvKioK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGFiYmVkUGFu
ZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGFiYmVkUGFuZS5qcwpp
bmRleCAwZWU0NGViNWFhN2IwZWRmODI5YTdiNmQ2NmM0NDIxYjMzYjg0NGM3Li45YTFmZGIyODkw
NzVlMDI5YTM3YWFkOWY2NGMyMzE0YmFkMzdmMTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RhYmJlZFBhbmUuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9UYWJiZWRQYW5lLmpzCkBAIC02MTcsNyArNjE3LDcgQEAgV2Vi
SW5zcGVjdG9yLlRhYmJlZFBhbmVUYWIucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLnRhYkVs
ZW1lbnQuc3R5bGUud2lkdGggPSB3aWR0aCArICJweCI7CiAgICAgICAgIHRoaXMuX3dpZHRoID0g
d2lkdGg7CiAgICAgfSwKLSAgICAKKwogICAgIC8qKgogICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0g
bWVhc3VyaW5nCiAgICAgICovCkBAIC02MjYsNyArNjI2LDcgQEAgV2ViSW5zcGVjdG9yLlRhYmJl
ZFBhbmVUYWIucHJvdG90eXBlID0gewogICAgICAgICB2YXIgdGFiRWxlbWVudCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgICB0YWJFbGVtZW50LmFkZFN0eWxlQ2xhc3Mo
InRhYmJlZC1wYW5lLWhlYWRlci10YWIiKTsKICAgICAgICAgdGFiRWxlbWVudC50YWJJbmRleCA9
IC0xOwotICAgICAgICAKKwogICAgICAgICB2YXIgdGl0bGVFbGVtZW50ID0gdGFiRWxlbWVudC5j
cmVhdGVDaGlsZCgic3BhbiIsICJ0YWJiZWQtcGFuZS1oZWFkZXItdGFiLXRpdGxlIik7CiAgICAg
ICAgIHRpdGxlRWxlbWVudC50ZXh0Q29udGVudCA9IHRoaXMudGl0bGU7CiAgICAgICAgIHRpdGxl
RWxlbWVudC50aXRsZSA9IHRoaXMudG9vbHRpcCB8fCAiIjsKQEAgLTY0NiwxMCArNjQ2LDEwIEBA
IFdlYkluc3BlY3Rvci5UYWJiZWRQYW5lVGFiLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRh
YkVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgdGhpcy5fdGFiTW91c2VEb3du
LmJpbmQodGhpcyksIGZhbHNlKTsKICAgICAgICAgICAgIGlmICh0aGlzLl9jbG9zZWFibGUpIHsK
ICAgICAgICAgICAgICAgICB0YWJFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51
IiwgdGhpcy5fdGFiQ29udGV4dE1lbnUuYmluZCh0aGlzKSwgZmFsc2UpOwotICAgICAgICAgICAg
ICAgIHRhYkVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIiwgdGhpcy5fdGFiTW91
c2VNb3ZlLmJpbmQodGhpcyksIGZhbHNlKTsKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
aW5zdGFsbERyYWdIYW5kbGUodGFiRWxlbWVudCwgdGhpcy5fc3RhcnRUYWJEcmFnZ2luZy5iaW5k
KHRoaXMpLCB0aGlzLl90YWJEcmFnZ2luZy5iaW5kKHRoaXMpLCB0aGlzLl9lbmRUYWJEcmFnZ2lu
Zy5iaW5kKHRoaXMpLCAicG9pbnRlciIpOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAg
ICAgIAorCiAgICAgICAgIHJldHVybiB0YWJFbGVtZW50OwogICAgIH0sCiAKQEAgLTY3OCw3ICs2
NzgsNiBAQCBXZWJJbnNwZWN0b3IuVGFiYmVkUGFuZVRhYi5wcm90b3R5cGUgPSB7CiAgICAgICAg
IGlmIChldmVudC50YXJnZXQuaGFzU3R5bGVDbGFzcygidGFiYmVkLXBhbmUtaGVhZGVyLXRhYi1j
bG9zZS1idXR0b24iKSB8fCBldmVudC5idXR0b24gPT09IDEpCiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIHRoaXMuX3RhYmJlZFBhbmUuc2VsZWN0VGFiKHRoaXMuaWQsIHRydWUpOwotICAg
ICAgICB0aGlzLl9kcmFnU3RhcnRYID0gZXZlbnQucGFnZVg7CiAgICAgfSwKIAogICAgIF90YWJD
b250ZXh0TWVudTogZnVuY3Rpb24oZXZlbnQpCkBAIC03MDUsMTQgKzcwNCwxNSBAQCBXZWJJbnNw
ZWN0b3IuVGFiYmVkUGFuZVRhYi5wcm90b3R5cGUgPSB7CiAgICAgICAgIGNvbnRleHRNZW51LnNo
b3coZXZlbnQpOwogICAgIH0sCiAKLSAgICBfdGFiTW91c2VNb3ZlOiBmdW5jdGlvbihldmVudCkK
KyAgICAvKioKKyAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudAorICAgICAqLworICAgIF9zdGFy
dFRhYkRyYWdnaW5nOiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAgIGlmIChpc05hTih0
aGlzLl9kcmFnU3RhcnRYKSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKGV2ZW50
LndoaWNoICE9PSAxKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB0aGlzLl90YWJiZWRQ
YW5lLnNlbGVjdFRhYih0aGlzLmlkLCB0cnVlKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmVsZW1l
bnREcmFnU3RhcnQodGhpcy5fdGFiRWxlbWVudCwgdGhpcy5fdGFiRHJhZ2dpbmcuYmluZCh0aGlz
KSwgdGhpcy5fZW5kVGFiRHJhZ2dpbmcuYmluZCh0aGlzKSwgZXZlbnQsICJwb2ludGVyIik7Cisg
ICAgICAgIGlmIChldmVudC50YXJnZXQuaGFzU3R5bGVDbGFzcygidGFiYmVkLXBhbmUtaGVhZGVy
LXRhYi1jbG9zZS1idXR0b24iKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
dGhpcy5fZHJhZ1N0YXJ0WCA9IGV2ZW50LnBhZ2VYOworICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9LAogCiAgICAgLyoqCkBAIC03NjYsNiArNzY2LDUgQEAgV2ViSW5zcGVjdG9yLlRhYmJlZFBh
bmVUYWIucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl90YWJFbGVtZW50LnN0eWxlLnJlbW92
ZVByb3BlcnR5KCJwb3NpdGlvbiIpOwogICAgICAgICB0aGlzLl90YWJFbGVtZW50LnN0eWxlLnJl
bW92ZVByb3BlcnR5KCJsZWZ0Iik7CiAgICAgICAgIGRlbGV0ZSB0aGlzLl9kcmFnU3RhcnRYOwot
ICAgICAgICBXZWJJbnNwZWN0b3IuZWxlbWVudERyYWdFbmQoZXZlbnQpOwogICAgIH0KIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVPdmVy
dmlld1BhbmUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5l
T3ZlcnZpZXdQYW5lLmpzCmluZGV4IDBhMjhjM2I5ZWFiMDVmNmQ5YmY1ODE3MWM3ZmY2NzI5YTBi
YTQyNTIuLjE4M2Y0NzUyMWNiOGVlYTIzYzEwYTYyMTY4NjJiMzBlZWMzMjI2MmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVPdmVydmlld1Bh
bmUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU92
ZXJ2aWV3UGFuZS5qcwpAQCAtODgsNyArODgsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVy
dmlld1BhbmUgPSBmdW5jdGlvbihtb2RlbCkKICAgICB0aGlzLl9oZWFwR3JhcGguZWxlbWVudC5p
ZCA9ICJ0aW1lbGluZS1vdmVydmlldy1tZW1vcnkiOwogICAgIHRoaXMuX292ZXJ2aWV3R3JpZC5l
bGVtZW50Lmluc2VydEJlZm9yZSh0aGlzLl9oZWFwR3JhcGguZWxlbWVudCwgdGhpcy5fb3ZlcnZp
ZXdHcmlkLml0ZW1zR3JhcGhzRWxlbWVudCk7CiAKLSAgICB0aGlzLl9vdmVydmlld1dpbmRvdyA9
IG5ldyBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld1dpbmRvdyh0aGlzLl9vdmVydmlld0Nv
bnRhaW5lcik7CisgICAgdGhpcy5fb3ZlcnZpZXdXaW5kb3cgPSBuZXcgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lT3ZlcnZpZXdXaW5kb3codGhpcy5fb3ZlcnZpZXdDb250YWluZXIsIHRoaXMuX292ZXJ2
aWV3R3JpZC5kaXZpZGVyc0xhYmVsQmFyRWxlbWVudCk7CiAgICAgdGhpcy5fb3ZlcnZpZXdXaW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld1dpbmRvdy5F
dmVudHMuV2luZG93Q2hhbmdlZCwgdGhpcy5fb25XaW5kb3dDaGFuZ2VkLCB0aGlzKTsKIAogICAg
IHZhciBzZXBhcmF0b3JFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CkBA
IC0zNjIsMTUgKzM2MiwxOSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld1BhbmUucHJv
dG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdAogICogQGNvbnN0cnVj
dG9yCiAgKiBAZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLk9iamVjdH0KICAqIEBwYXJhbSB7RWxlbWVu
dH0gcGFyZW50RWxlbWVudAorICogQHBhcmFtIHtFbGVtZW50fSBkaXZpZGVyc0xhYmVsQmFyRWxl
bWVudAogICovCi1XZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld1dpbmRvdyA9IGZ1bmN0aW9u
KHBhcmVudEVsZW1lbnQpCitXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld1dpbmRvdyA9IGZ1
bmN0aW9uKHBhcmVudEVsZW1lbnQsIGRpdmlkZXJzTGFiZWxCYXJFbGVtZW50KQogewogICAgIHRo
aXMuX3BhcmVudEVsZW1lbnQgPSBwYXJlbnRFbGVtZW50OworICAgIHRoaXMuX2RpdmlkZXJzTGFi
ZWxCYXJFbGVtZW50ID0gZGl2aWRlcnNMYWJlbEJhckVsZW1lbnQ7CisKKyAgICBXZWJJbnNwZWN0
b3IuaW5zdGFsbERyYWdIYW5kbGUodGhpcy5fcGFyZW50RWxlbWVudCwgdGhpcy5fc3RhcnRXaW5k
b3dTZWxlY3RvckRyYWdnaW5nLmJpbmQodGhpcyksIHRoaXMuX3dpbmRvd1NlbGVjdG9yRHJhZ2dp
bmcuYmluZCh0aGlzKSwgdGhpcy5fZW5kV2luZG93U2VsZWN0b3JEcmFnZ2luZy5iaW5kKHRoaXMp
LCAiZXctcmVzaXplIik7CisgICAgV2ViSW5zcGVjdG9yLmluc3RhbGxEcmFnSGFuZGxlKHRoaXMu
X2RpdmlkZXJzTGFiZWxCYXJFbGVtZW50LCB0aGlzLl9zdGFydFdpbmRvd0RyYWdnaW5nLmJpbmQo
dGhpcyksIHRoaXMuX3dpbmRvd0RyYWdnaW5nLmJpbmQodGhpcyksIHRoaXMuX2VuZFdpbmRvd0Ry
YWdnaW5nLmJpbmQodGhpcyksICJldy1yZXNpemUiKTsKIAogICAgIHRoaXMud2luZG93TGVmdCA9
IDAuMDsKICAgICB0aGlzLndpbmRvd1JpZ2h0ID0gMS4wOwogCi0gICAgdGhpcy5fcGFyZW50RWxl
bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCB0aGlzLl9kcmFnV2luZG93LmJpbmQo
dGhpcyksIHRydWUpOwogICAgIHRoaXMuX3BhcmVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigi
bW91c2V3aGVlbCIsIHRoaXMuX29uTW91c2VXaGVlbC5iaW5kKHRoaXMpLCB0cnVlKTsKICAgICB0
aGlzLl9wYXJlbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImRibGNsaWNrIiwgdGhpcy5fcmVz
aXplV2luZG93TWF4aW11bS5iaW5kKHRoaXMpLCB0cnVlKTsKIApAQCAtMzkwLDExICszOTQsMTMg
QEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdXaW5kb3cgPSBmdW5jdGlvbihwYXJlbnRF
bGVtZW50KQogICAgIHRoaXMuX2xlZnRSZXNpemVFbGVtZW50LmNsYXNzTmFtZSA9ICJ0aW1lbGlu
ZS13aW5kb3ctcmVzaXplciI7CiAgICAgdGhpcy5fbGVmdFJlc2l6ZUVsZW1lbnQuc3R5bGUubGVm
dCA9IDA7CiAgICAgcGFyZW50RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9sZWZ0UmVzaXplRWxl
bWVudCk7CisgICAgV2ViSW5zcGVjdG9yLmluc3RhbGxEcmFnSGFuZGxlKHRoaXMuX2xlZnRSZXNp
emVFbGVtZW50LCBudWxsLCB0aGlzLl9sZWZ0UmVzaXplRWxlbWVudERyYWdnaW5nLmJpbmQodGhp
cyksIG51bGwsICJldy1yZXNpemUiKTsKIAogICAgIHRoaXMuX3JpZ2h0UmVzaXplRWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIHRoaXMuX3JpZ2h0UmVzaXplRWxl
bWVudC5jbGFzc05hbWUgPSAidGltZWxpbmUtd2luZG93LXJlc2l6ZXIgdGltZWxpbmUtd2luZG93
LXJlc2l6ZXItcmlnaHQiOwogICAgIHRoaXMuX3JpZ2h0UmVzaXplRWxlbWVudC5zdHlsZS5yaWdo
dCA9IDA7CiAgICAgcGFyZW50RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9yaWdodFJlc2l6ZUVs
ZW1lbnQpOworICAgIFdlYkluc3BlY3Rvci5pbnN0YWxsRHJhZ0hhbmRsZSh0aGlzLl9yaWdodFJl
c2l6ZUVsZW1lbnQsIG51bGwsIHRoaXMuX3JpZ2h0UmVzaXplRWxlbWVudERyYWdnaW5nLmJpbmQo
dGhpcyksIG51bGwsICJldy1yZXNpemUiKTsKIH0KIAogV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3Zl
cnZpZXdXaW5kb3cuRXZlbnRzID0gewpAQCAtNDE1LDQyICs0MjEsMjMgQEAgV2ViSW5zcGVjdG9y
LlRpbWVsaW5lT3ZlcnZpZXdXaW5kb3cucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9yaWdo
dFJlc2l6ZUVsZW1lbnQuc3R5bGUubGVmdCA9ICIxMDAlIjsKICAgICB9LAogCi0gICAgX3Jlc2l6
ZVdpbmRvdzogZnVuY3Rpb24ocmVzaXplRWxlbWVudCwgZXZlbnQpCisgICAgX2xlZnRSZXNpemVF
bGVtZW50RHJhZ2dpbmc6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgV2ViSW5zcGVj
dG9yLmVsZW1lbnREcmFnU3RhcnQocmVzaXplRWxlbWVudCwgdGhpcy5fd2luZG93UmVzaXplRHJh
Z2dpbmcuYmluZCh0aGlzLCByZXNpemVFbGVtZW50KSwgdGhpcy5fZW5kV2luZG93RHJhZ2dpbmcu
YmluZCh0aGlzKSwgZXZlbnQsICJldy1yZXNpemUiKTsKKyAgICAgIHRoaXMuX3Jlc2l6ZVdpbmRv
d0xlZnQoZXZlbnQucGFnZVggLSB0aGlzLl9wYXJlbnRFbGVtZW50Lm9mZnNldExlZnQpOworICAg
ICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICB9LAogCi0gICAgX3dpbmRvd1Jlc2l6ZURy
YWdnaW5nOiBmdW5jdGlvbihyZXNpemVFbGVtZW50LCBldmVudCkKKyAgICBfcmlnaHRSZXNpemVF
bGVtZW50RHJhZ2dpbmc6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgaWYgKHJlc2l6
ZUVsZW1lbnQgPT09IHRoaXMuX2xlZnRSZXNpemVFbGVtZW50KQotICAgICAgICAgICAgdGhpcy5f
cmVzaXplV2luZG93TGVmdChldmVudC5wYWdlWCAtIHRoaXMuX3BhcmVudEVsZW1lbnQub2Zmc2V0
TGVmdCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRoaXMuX3Jlc2l6ZVdpbmRvd1JpZ2h0
KGV2ZW50LnBhZ2VYIC0gdGhpcy5fcGFyZW50RWxlbWVudC5vZmZzZXRMZWZ0KTsKLSAgICAgICAg
ZXZlbnQucHJldmVudERlZmF1bHQoKTsKKyAgICAgIHRoaXMuX3Jlc2l6ZVdpbmRvd1JpZ2h0KGV2
ZW50LnBhZ2VYIC0gdGhpcy5fcGFyZW50RWxlbWVudC5vZmZzZXRMZWZ0KTsKKyAgICAgIGV2ZW50
LnByZXZlbnREZWZhdWx0KCk7CiAgICAgfSwKIAotICAgIF9kcmFnV2luZG93OiBmdW5jdGlvbihl
dmVudCkKKyAgICBfc3RhcnRXaW5kb3dTZWxlY3RvckRyYWdnaW5nOiBmdW5jdGlvbihldmVudCkK
ICAgICB7Ci0gICAgICAgIC8vIE9ubHkgZHJhZyB1cG9uIGxlZnQgYnV0dG9uLiBSaWdodCB3aWxs
IGxpa2VseSBjYXVzZSBhIGNvbnRleHQgbWVudS4KLSAgICAgICAgaWYgKGV2ZW50LmJ1dHRvbikK
LSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgdmFyIG5vZGUgPSBldmVudC50YXJnZXQ7Ci0g
ICAgICAgIHdoaWxlIChub2RlKSB7Ci0gICAgICAgICAgICBpZiAobm9kZS5oYXNTdHlsZUNsYXNz
KCJyZXNvdXJjZXMtZGl2aWRlcnMtbGFiZWwtYmFyIikpIHsKLSAgICAgICAgICAgICAgICBXZWJJ
bnNwZWN0b3IuZWxlbWVudERyYWdTdGFydCh0aGlzLl9vdmVydmlld1dpbmRvd0VsZW1lbnQsIHRo
aXMuX3dpbmRvd0RyYWdnaW5nLmJpbmQodGhpcywgZXZlbnQucGFnZVgsCi0gICAgICAgICAgICAg
ICAgICAgIHRoaXMuX2xlZnRSZXNpemVFbGVtZW50Lm9mZnNldExlZnQgKyBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVPdmVydmlld1BhbmUuUmVzaXplck9mZnNldCwgdGhpcy5fcmlnaHRSZXNpemVFbGVt
ZW50Lm9mZnNldExlZnQgKyBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld1BhbmUuUmVzaXpl
ck9mZnNldCksIHRoaXMuX2VuZFdpbmRvd0RyYWdnaW5nLmJpbmQodGhpcyksIGV2ZW50LCAiZXct
cmVzaXplIik7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9IGVsc2UgaWYg
KG5vZGUgPT09IHRoaXMuX3BhcmVudEVsZW1lbnQpIHsKLSAgICAgICAgICAgICAgICB2YXIgcG9z
aXRpb24gPSBldmVudC5wYWdlWCAtIHRoaXMuX3BhcmVudEVsZW1lbnQub2Zmc2V0TGVmdDsKLSAg
ICAgICAgICAgICAgICB0aGlzLl9vdmVydmlld1dpbmRvd1NlbGVjdG9yID0gbmV3IFdlYkluc3Bl
Y3Rvci5UaW1lbGluZU92ZXJ2aWV3UGFuZS5XaW5kb3dTZWxlY3Rvcih0aGlzLl9wYXJlbnRFbGVt
ZW50LCBwb3NpdGlvbik7Ci0gICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmVsZW1lbnREcmFn
U3RhcnQobnVsbCwgdGhpcy5fd2luZG93U2VsZWN0b3JEcmFnZ2luZy5iaW5kKHRoaXMpLCB0aGlz
Ll9lbmRXaW5kb3dTZWxlY3RvckRyYWdnaW5nLmJpbmQodGhpcyksIGV2ZW50LCAiZXctcmVzaXpl
Iik7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKG5vZGUg
PT09IHRoaXMuX2xlZnRSZXNpemVFbGVtZW50IHx8IG5vZGUgPT09IHRoaXMuX3JpZ2h0UmVzaXpl
RWxlbWVudCkgewotICAgICAgICAgICAgICAgIHRoaXMuX3Jlc2l6ZVdpbmRvdyhub2RlLCBldmVu
dCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBu
b2RlID0gbm9kZS5wYXJlbnROb2RlOwotICAgICAgICB9CisgICAgICAgIHZhciBwb3NpdGlvbiA9
IGV2ZW50LnBhZ2VYIC0gdGhpcy5fcGFyZW50RWxlbWVudC5vZmZzZXRMZWZ0OworICAgICAgICB0
aGlzLl9vdmVydmlld1dpbmRvd1NlbGVjdG9yID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZU92
ZXJ2aWV3UGFuZS5XaW5kb3dTZWxlY3Rvcih0aGlzLl9wYXJlbnRFbGVtZW50LCBwb3NpdGlvbik7
CisgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0sCiAKICAgICBfd2luZG93U2VsZWN0b3JEcmFn
Z2luZzogZnVuY3Rpb24oZXZlbnQpCkBAIC00NjEsNyArNDQ4LDYgQEAgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lT3ZlcnZpZXdXaW5kb3cucHJvdG90eXBlID0gewogCiAgICAgX2VuZFdpbmRvd1NlbGVj
dG9yRHJhZ2dpbmc6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgV2ViSW5zcGVjdG9y
LmVsZW1lbnREcmFnRW5kKGV2ZW50KTsKICAgICAgICAgdmFyIHdpbmRvdyA9IHRoaXMuX292ZXJ2
aWV3V2luZG93U2VsZWN0b3IuX2Nsb3NlKGV2ZW50LnBhZ2VYIC0gdGhpcy5fcGFyZW50RWxlbWVu
dC5vZmZzZXRMZWZ0KTsKICAgICAgICAgZGVsZXRlIHRoaXMuX292ZXJ2aWV3V2luZG93U2VsZWN0
b3I7CiAgICAgICAgIGlmICh3aW5kb3cuZW5kID09PSB3aW5kb3cuc3RhcnQpIHsgLy8gQ2xpY2ss
IG5vdCBkcmFnLgpAQCAtNDc3LDEyICs0NjMsMzIgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3Zl
cnZpZXdXaW5kb3cucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9zZXRXaW5kb3dQb3NpdGlv
bih3aW5kb3cuc3RhcnQsIHdpbmRvdy5lbmQpOwogICAgIH0sCiAKLSAgICBfd2luZG93RHJhZ2dp
bmc6IGZ1bmN0aW9uKHN0YXJ0WCwgd2luZG93TGVmdCwgd2luZG93UmlnaHQsIGV2ZW50KQorICAg
IF9zdGFydFdpbmRvd0RyYWdnaW5nOiBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIHZh
ciB3aW5kb3dMZWZ0ID0gdGhpcy5fbGVmdFJlc2l6ZUVsZW1lbnQub2Zmc2V0TGVmdCArIFdlYklu
c3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3UGFuZS5SZXNpemVyT2Zmc2V0OworICAgICAgICB0aGlz
Ll9kcmFnT2Zmc2V0ID0gd2luZG93TGVmdCAtIGV2ZW50LnBhZ2VYOworICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICB9LAorCisgICAgX3dpbmRvd0RyYWdnaW5nOiBmdW5jdGlvbihldmVudCkKKyAg
ICB7CisgICAgICAgIHZhciB3aW5kb3dMZWZ0ID0gdGhpcy5fbGVmdFJlc2l6ZUVsZW1lbnQub2Zm
c2V0TGVmdCArIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3UGFuZS5SZXNpemVyT2Zmc2V0
OworICAgICAgICB2YXIgc3RhcnQgPSB0aGlzLl9kcmFnT2Zmc2V0ICsgZXZlbnQucGFnZVg7Cisg
ICAgICAgIHRoaXMuX21vdmVXaW5kb3coc3RhcnQpOworICAgICAgICBldmVudC5wcmV2ZW50RGVm
YXVsdCgpOworICAgIH0sCisKKyAgICBfZW5kV2luZG93RHJhZ2dpbmc6IGZ1bmN0aW9uKGV2ZW50
KQorICAgIHsKKyAgICAgICAgZGVsZXRlIHRoaXMuX2RyYWdPZmZzZXQ7CisgICAgfSwKKworICAg
IF9tb3ZlV2luZG93OiBmdW5jdGlvbihzdGFydCkKICAgICB7Ci0gICAgICAgIHZhciBkZWx0YSA9
IGV2ZW50LnBhZ2VYIC0gc3RhcnRYOwotICAgICAgICB2YXIgc3RhcnQgPSB3aW5kb3dMZWZ0ICsg
ZGVsdGE7Ci0gICAgICAgIHZhciBlbmQgPSB3aW5kb3dSaWdodCArIGRlbHRhOworICAgICAgICB2
YXIgd2luZG93TGVmdCA9IHRoaXMuX2xlZnRSZXNpemVFbGVtZW50Lm9mZnNldExlZnQgKyBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVPdmVydmlld1BhbmUuUmVzaXplck9mZnNldDsKKyAgICAgICAgdmFy
IHdpbmRvd1JpZ2h0ID0gdGhpcy5fcmlnaHRSZXNpemVFbGVtZW50Lm9mZnNldExlZnQgKyBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVPdmVydmlld1BhbmUuUmVzaXplck9mZnNldDsKICAgICAgICAgdmFy
IHdpbmRvd1NpemUgPSB3aW5kb3dSaWdodCAtIHdpbmRvd0xlZnQ7CisgICAgICAgIHZhciBlbmQg
PSBzdGFydCArIHdpbmRvd1NpemU7CiAKICAgICAgICAgaWYgKHN0YXJ0IDwgMCkgewogICAgICAg
ICAgICAgc3RhcnQgPSAwOwpAQCAtNDk0LDggKzUwMCw2IEBAIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZU92ZXJ2aWV3V2luZG93LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHN0YXJ0ID0gZW5kIC0g
d2luZG93U2l6ZTsKICAgICAgICAgfQogICAgICAgICB0aGlzLl9zZXRXaW5kb3dQb3NpdGlvbihz
dGFydCwgZW5kKTsKLQotICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgIH0sCiAK
ICAgICBfcmVzaXplV2luZG93TGVmdDogZnVuY3Rpb24oc3RhcnQpCkBAIC01NTIsMTEgKzU1Niw2
IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3V2luZG93LnByb3RvdHlwZSA9IHsKICAg
ICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlRpbWVsaW5l
T3ZlcnZpZXdXaW5kb3cuRXZlbnRzLldpbmRvd0NoYW5nZWQpOwogICAgIH0sCiAKLSAgICBfZW5k
V2luZG93RHJhZ2dpbmc6IGZ1bmN0aW9uKGV2ZW50KQotICAgIHsKLSAgICAgICAgV2ViSW5zcGVj
dG9yLmVsZW1lbnREcmFnRW5kKGV2ZW50KTsKLSAgICB9LAotCiAgICAgX29uTW91c2VXaGVlbDog
ZnVuY3Rpb24oZXZlbnQpCiAgICAgewogICAgICAgICBjb25zdCB6b29tRmFjdG9yID0gMS4xOwpA
QCAtNTY3LDEwICs1NjYsMTAgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdXaW5kb3cu
cHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhpcy5fem9vbShNYXRoLnBvdyh6b29tRmFjdG9y
LCAtZXZlbnQud2hlZWxEZWx0YVkgKiBtb3VzZVdoZWVsWm9vbVNwZWVkKSwgcmVmZXJlbmNlUG9p
bnQpOwogICAgICAgICB9CiAgICAgICAgIGlmICh0eXBlb2YgZXZlbnQud2hlZWxEZWx0YVggPT09
ICJudW1iZXIiICYmIGV2ZW50LndoZWVsRGVsdGFYKSB7Ci0gICAgICAgICAgICB0aGlzLl93aW5k
b3dEcmFnZ2luZyhldmVudC5wYWdlWCArIE1hdGgucm91bmQoZXZlbnQud2hlZWxEZWx0YVggKiBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld1BhbmUuV2luZG93U2Nyb2xsU3BlZWRGYWN0b3Ip
LAotICAgICAgICAgICAgICAgIHRoaXMuX2xlZnRSZXNpemVFbGVtZW50Lm9mZnNldExlZnQgKyBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld1BhbmUuUmVzaXplck9mZnNldCwKLSAgICAgICAg
ICAgICAgICB0aGlzLl9yaWdodFJlc2l6ZUVsZW1lbnQub2Zmc2V0TGVmdCArIFdlYkluc3BlY3Rv
ci5UaW1lbGluZU92ZXJ2aWV3UGFuZS5SZXNpemVyT2Zmc2V0LAotICAgICAgICAgICAgICAgIGV2
ZW50KTsKKyAgICAgICAgICAgIHZhciB3aW5kb3dMZWZ0ID0gdGhpcy5fbGVmdFJlc2l6ZUVsZW1l
bnQub2Zmc2V0TGVmdCArIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3UGFuZS5SZXNpemVy
T2Zmc2V0OworICAgICAgICAgICAgdmFyIHN0YXJ0ID0gd2luZG93TGVmdCAtIE1hdGgucm91bmQo
ZXZlbnQud2hlZWxEZWx0YVggKiBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld1BhbmUuV2lu
ZG93U2Nyb2xsU3BlZWRGYWN0b3IpOworICAgICAgICAgICAgdGhpcy5fbW92ZVdpbmRvdyhzdGFy
dCk7CisgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICB9CiAgICAg
fSwKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1l
bGluZVBhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGlu
ZVBhbmVsLmpzCmluZGV4IDg5ZDkxMzI3MmU2Y2FmNjA5Mjk0YjA5ZmUyZDhlNzhiMjUwMDMyY2Yu
LjdmMTA5YmE5MDczM2ZlZjc4NGFiZWYyZjI5MmJkMGYwOTJjYWYyNTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMKQEAgLTYx
LDcgKzYxLDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwgPSBmdW5jdGlvbigpCiAKICAg
ICB0aGlzLl90aW1lbGluZU1lbW9yeVNwbGl0dGVyID0gdGhpcy5lbGVtZW50LmNyZWF0ZUNoaWxk
KCJkaXYiKTsKICAgICB0aGlzLl90aW1lbGluZU1lbW9yeVNwbGl0dGVyLmlkID0gInRpbWVsaW5l
LW1lbW9yeS1zcGxpdHRlciI7Ci0gICAgdGhpcy5fdGltZWxpbmVNZW1vcnlTcGxpdHRlci5hZGRF
dmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCB0aGlzLl9zdGFydFNwbGl0dGVyRHJhZ2dpbmcuYmlu
ZCh0aGlzKSwgZmFsc2UpOworICAgIFdlYkluc3BlY3Rvci5pbnN0YWxsRHJhZ0hhbmRsZSh0aGlz
Ll90aW1lbGluZU1lbW9yeVNwbGl0dGVyLCB0aGlzLl9zdGFydFNwbGl0dGVyRHJhZ2dpbmcuYmlu
ZCh0aGlzKSwgdGhpcy5fc3BsaXR0ZXJEcmFnZ2luZy5iaW5kKHRoaXMpLCB0aGlzLl9lbmRTcGxp
dHRlckRyYWdnaW5nLmJpbmQodGhpcyksICJucy1yZXNpemUiKTsKICAgICB0aGlzLl90aW1lbGlu
ZU1lbW9yeVNwbGl0dGVyLmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOwogICAgIHRoaXMuX21lbW9y
eVN0YXRpc3RpY3MgPSBuZXcgV2ViSW5zcGVjdG9yLk1lbW9yeVN0YXRpc3RpY3ModGhpcywgdGhp
cy5fbW9kZWwsIHRoaXMuc3BsaXRWaWV3LnByZWZlcnJlZFNpZGViYXJXaWR0aCgpKTsKICAgICBX
ZWJJbnNwZWN0b3Iuc2V0dGluZ3MubWVtb3J5Q291bnRlckdyYXBoc0hlaWdodCA9IFdlYkluc3Bl
Y3Rvci5zZXR0aW5ncy5jcmVhdGVTZXR0aW5nKCJtZW1vcnlDb3VudGVyR3JhcGhzSGVpZ2h0Iiwg
MTUwKTsKQEAgLTE1Myw3ICsxNTMsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90
b3R5cGUgPSB7CiAgICAgX3N0YXJ0U3BsaXR0ZXJEcmFnZ2luZzogZnVuY3Rpb24oZXZlbnQpCiAg
ICAgewogICAgICAgICB0aGlzLl9kcmFnT2Zmc2V0ID0gdGhpcy5fdGltZWxpbmVNZW1vcnlTcGxp
dHRlci5vZmZzZXRUb3AgKyAyIC0gZXZlbnQucGFnZVk7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5l
bGVtZW50RHJhZ1N0YXJ0KHRoaXMuX3RpbWVsaW5lTWVtb3J5U3BsaXR0ZXIsIHRoaXMuX3NwbGl0
dGVyRHJhZ2dpbmcuYmluZCh0aGlzKSwgdGhpcy5fZW5kU3BsaXR0ZXJEcmFnZ2luZy5iaW5kKHRo
aXMpLCBldmVudCwgIm5zLXJlc2l6ZSIpOworICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9LAog
CiAgICAgLyoqCkBAIC0xNzIsNyArMTcyLDYgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwu
cHJvdG90eXBlID0gewogICAgIF9lbmRTcGxpdHRlckRyYWdnaW5nOiBmdW5jdGlvbihldmVudCkK
ICAgICB7CiAgICAgICAgIGRlbGV0ZSB0aGlzLl9kcmFnT2Zmc2V0OwotICAgICAgICBXZWJJbnNw
ZWN0b3IuZWxlbWVudERyYWdFbmQoZXZlbnQpOwogICAgICAgICB0aGlzLl9tZW1vcnlTdGF0aXN0
aWNzLnNob3coKTsKICAgICAgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLm1lbW9yeUNvdW50ZXJH
cmFwaHNIZWlnaHQuc2V0KHRoaXMuc3BsaXRWaWV3LmVsZW1lbnQub2Zmc2V0SGVpZ2h0KTsKICAg
ICB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Ub29s
YmFyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Ub29sYmFyLmpzCmlu
ZGV4IDZlYjQ0NzI1ZGViMDViMTFjZGM5ODMzYmE1YmQ3ZDg5NGY3M2UxOTguLjljYTdmMjE4NzZl
YjgyOWRiZWI4OWYxODUwZTk5NWQ3ODI5NDUyYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvVG9vbGJhci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1Rvb2xiYXIuanMKQEAgLTM1LDcgKzM1LDcgQEAKIFdlYkluc3BlY3Rv
ci5Ub29sYmFyID0gZnVuY3Rpb24oKQogewogICAgIHRoaXMuZWxlbWVudCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0b29sYmFyIik7Ci0gICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVu
ZXIoIm1vdXNlZG93biIsIHRoaXMuX3Rvb2xiYXJEcmFnU3RhcnQuYmluZCh0aGlzKSwgdHJ1ZSk7
CisgICAgV2ViSW5zcGVjdG9yLmluc3RhbGxEcmFnSGFuZGxlKHRoaXMuZWxlbWVudCwgdGhpcy5f
dG9vbGJhckRyYWdTdGFydC5iaW5kKHRoaXMpLCB0aGlzLl90b29sYmFyRHJhZy5iaW5kKHRoaXMp
LCB0aGlzLl90b29sYmFyRHJhZ0VuZC5iaW5kKHRoaXMpLCAoV2ViSW5zcGVjdG9yLmlzQ29tcGFj
dE1vZGUoKSA/ICJyb3ctcmVzaXplIiA6ICJkZWZhdWx0IikpOwogCiAgICAgdGhpcy5fZHJvcGRv
d25CdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9vbGJhci1kcm9wZG93bi1hcnJv
dyIpOwogICAgIHRoaXMuX2Ryb3Bkb3duQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
dGhpcy5fdG9nZ2xlRHJvcGRvd24uYmluZCh0aGlzKSwgZmFsc2UpOwpAQCAtNjgsMjUgKzY4LDIy
IEBAIFdlYkluc3BlY3Rvci5Ub29sYmFyLnByb3RvdHlwZSA9IHsKICAgICBfdG9vbGJhckRyYWdT
dGFydDogZnVuY3Rpb24oZXZlbnQpCiAgICAgewogICAgICAgICBpZiAoKCFXZWJJbnNwZWN0b3Iu
aXNDb21wYWN0TW9kZSgpICYmIFdlYkluc3BlY3Rvci5wbGF0Zm9ybUZsYXZvcigpICE9PSBXZWJJ
bnNwZWN0b3IuUGxhdGZvcm1GbGF2b3IuTWFjTGVvcGFyZCAmJiBXZWJJbnNwZWN0b3IucGxhdGZv
cm1GbGF2b3IoKSAhPT0gV2ViSW5zcGVjdG9yLlBsYXRmb3JtRmxhdm9yLk1hY1Nub3dMZW9wYXJk
KSB8fCBXZWJJbnNwZWN0b3IucG9ydCgpID09ICJxdCIpCi0gICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgdmFyIHRhcmdldCA9IGV2ZW50LnRh
cmdldDsKICAgICAgICAgaWYgKHRhcmdldC5oYXNTdHlsZUNsYXNzKCJ0b29sYmFyLWl0ZW0iKSAm
JiB0YXJnZXQuaGFzU3R5bGVDbGFzcygidG9nZ2xlYWJsZSIpKQotICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIGlmICh0YXJnZXQgIT09IHRo
aXMuZWxlbWVudCAmJiAhdGFyZ2V0Lmhhc1N0eWxlQ2xhc3MoInRvb2xiYXItaXRlbSIpKQotICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIHRo
aXMuZWxlbWVudC5sYXN0U2NyZWVuWCA9IGV2ZW50LnNjcmVlblg7CiAgICAgICAgIHRoaXMuZWxl
bWVudC5sYXN0U2NyZWVuWSA9IGV2ZW50LnNjcmVlblk7Ci0KLSAgICAgICAgV2ViSW5zcGVjdG9y
LmVsZW1lbnREcmFnU3RhcnQodGhpcy5lbGVtZW50LCB0aGlzLl90b29sYmFyRHJhZy5iaW5kKHRo
aXMpLCB0aGlzLl90b29sYmFyRHJhZ0VuZC5iaW5kKHRoaXMpLCBldmVudCwgKFdlYkluc3BlY3Rv
ci5pc0NvbXBhY3RNb2RlKCkgPyAicm93LXJlc2l6ZSIgOiAiZGVmYXVsdCIpKTsKKyAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgfSwKIAogICAgIF90b29sYmFyRHJhZ0VuZDogZnVuY3Rpb24oZXZl
bnQpCiAgICAgewotICAgICAgICBXZWJJbnNwZWN0b3IuZWxlbWVudERyYWdFbmQoZXZlbnQpOwot
CiAgICAgICAgIGRlbGV0ZSB0aGlzLmVsZW1lbnQubGFzdFNjcmVlblg7CiAgICAgICAgIGRlbGV0
ZSB0aGlzLmVsZW1lbnQubGFzdFNjcmVlblk7CiAgICAgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVUlVdGlscy5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvVUlVdGlscy5qcwppbmRleCBjMjNjYTY1MmVlNzQ1ODAzYzYxYjQz
OTg1MmNmYjA5ZTQzODM5N2NjLi41Yjk1NDBmMDdmMmU5ZjM1MDdjM2JmZTc5NGM5YmI0ZWJkNzZk
ZmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1VJVXRp
bHMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVV0aWxzLmpz
CkBAIC0yOSw0NyArMjksNzUgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotV2ViSW5zcGVjdG9yLmVs
ZW1lbnREcmFnU3RhcnQgPSBmdW5jdGlvbihlbGVtZW50LCBkaXZpZGVyRHJhZywgZWxlbWVudERy
YWdFbmQsIGV2ZW50LCBjdXJzb3IpCisvKioKKyAqIEBwYXJhbSB7RWxlbWVudH0gZWxlbWVudAor
ICogQHBhcmFtIHs/ZnVuY3Rpb24oRXZlbnQpfSBlbGVtZW50RHJhZ1N0YXJ0CisgKiBAcGFyYW0g
e2Z1bmN0aW9uKEV2ZW50KX0gZWxlbWVudERyYWcKKyAqIEBwYXJhbSB7P2Z1bmN0aW9uKEV2ZW50
KX0gZWxlbWVudERyYWdFbmQKKyAqIEBwYXJhbSB7c3RyaW5nfSBjdXJzb3IKKyAqLworV2ViSW5z
cGVjdG9yLmluc3RhbGxEcmFnSGFuZGxlID0gZnVuY3Rpb24oZWxlbWVudCwgZWxlbWVudERyYWdT
dGFydCwgZWxlbWVudERyYWcsIGVsZW1lbnREcmFnRW5kLCBjdXJzb3IpCiB7Ci0gICAgaWYgKFdl
Ykluc3BlY3Rvci5fZWxlbWVudERyYWdnaW5nRXZlbnRMaXN0ZW5lciB8fCBXZWJJbnNwZWN0b3Iu
X2VsZW1lbnRFbmREcmFnZ2luZ0V2ZW50TGlzdGVuZXIpCi0gICAgICAgIFdlYkluc3BlY3Rvci5l
bGVtZW50RHJhZ0VuZChldmVudCk7CisgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3Vz
ZWRvd24iLCBXZWJJbnNwZWN0b3IuX2VsZW1lbnREcmFnU3RhcnQuYmluZChXZWJJbnNwZWN0b3Is
IGVsZW1lbnREcmFnU3RhcnQsIGVsZW1lbnREcmFnLCBlbGVtZW50RHJhZ0VuZCwgY3Vyc29yKSwg
ZmFsc2UpOworfQogCi0gICAgaWYgKGVsZW1lbnQpIHsKLSAgICAgICAgLy8gSW5zdGFsbCBnbGFz
cyBwYW5lCi0gICAgICAgIGlmIChXZWJJbnNwZWN0b3IuX2VsZW1lbnREcmFnZ2luZ0dsYXNzUGFu
ZSkKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5fZWxlbWVudERyYWdnaW5nR2xhc3NQYW5lLmRp
c3Bvc2UoKTsKKy8qKgorICogQHBhcmFtIHs/ZnVuY3Rpb24oRXZlbnQpfSBlbGVtZW50RHJhZ1N0
YXJ0CisgKiBAcGFyYW0ge2Z1bmN0aW9uKEV2ZW50KX0gZWxlbWVudERyYWcKKyAqIEBwYXJhbSB7
P2Z1bmN0aW9uKEV2ZW50KX0gZWxlbWVudERyYWdFbmQKKyAqIEBwYXJhbSB7c3RyaW5nfSBjdXJz
b3IKKyAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50CisgKi8KK1dlYkluc3BlY3Rvci5fZWxlbWVudERy
YWdTdGFydCA9IGZ1bmN0aW9uKGVsZW1lbnREcmFnU3RhcnQsIGVsZW1lbnREcmFnLCBlbGVtZW50
RHJhZ0VuZCwgY3Vyc29yLCBldmVudCkKK3sKKyAgICAvLyBPbmx5IGRyYWcgdXBvbiBsZWZ0IGJ1
dHRvbi4gUmlnaHQgd2lsbCBsaWtlbHkgY2F1c2UgYSBjb250ZXh0IG1lbnUuCisgICAgaWYgKGV2
ZW50LmJ1dHRvbikKKyAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIFdlYkluc3BlY3Rvci5fZWxl
bWVudERyYWdnaW5nR2xhc3NQYW5lID0gbmV3IFdlYkluc3BlY3Rvci5HbGFzc1BhbmUoKTsKLSAg
ICB9CisgICAgaWYgKFdlYkluc3BlY3Rvci5fZWxlbWVudERyYWdnaW5nRXZlbnRMaXN0ZW5lcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKGVsZW1lbnREcmFnU3RhcnQgJiYgIWVsZW1lbnRE
cmFnU3RhcnQoZXZlbnQpKQorICAgICAgICByZXR1cm47CiAKLSAgICBXZWJJbnNwZWN0b3IuX2Vs
ZW1lbnREcmFnZ2luZ0V2ZW50TGlzdGVuZXIgPSBkaXZpZGVyRHJhZzsKKyAgICAvLyBJbnN0YWxs
IGdsYXNzIHBhbmUKKyAgICBpZiAoV2ViSW5zcGVjdG9yLl9lbGVtZW50RHJhZ2dpbmdHbGFzc1Bh
bmUpCisgICAgICAgIFdlYkluc3BlY3Rvci5fZWxlbWVudERyYWdnaW5nR2xhc3NQYW5lLmRpc3Bv
c2UoKTsKKworICAgIFdlYkluc3BlY3Rvci5fZWxlbWVudERyYWdnaW5nR2xhc3NQYW5lID0gbmV3
IFdlYkluc3BlY3Rvci5HbGFzc1BhbmUoKTsKKworICAgIFdlYkluc3BlY3Rvci5fZWxlbWVudERy
YWdnaW5nRXZlbnRMaXN0ZW5lciA9IGVsZW1lbnREcmFnOwogICAgIFdlYkluc3BlY3Rvci5fZWxl
bWVudEVuZERyYWdnaW5nRXZlbnRMaXN0ZW5lciA9IGVsZW1lbnREcmFnRW5kOwogCiAgICAgdmFy
IHRhcmdldERvY3VtZW50ID0gZXZlbnQudGFyZ2V0Lm93bmVyRG9jdW1lbnQ7Ci0gICAgdGFyZ2V0
RG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIiwgZGl2aWRlckRyYWcsIHRydWUp
OwotICAgIHRhcmdldERvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLCBlbGVtZW50
RHJhZ0VuZCwgdHJ1ZSk7CisgICAgdGFyZ2V0RG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91
c2Vtb3ZlIiwgV2ViSW5zcGVjdG9yLl9lbGVtZW50RHJhZ2dpbmdFdmVudExpc3RlbmVyLCB0cnVl
KTsKKyAgICB0YXJnZXREb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIiwgV2ViSW5z
cGVjdG9yLl9lbGVtZW50RHJhZ0VuZCwgdHJ1ZSk7CiAKICAgICB0YXJnZXREb2N1bWVudC5ib2R5
LnN0eWxlLmN1cnNvciA9IGN1cnNvcjsKIAogICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiB9
CiAKLVdlYkluc3BlY3Rvci5lbGVtZW50RHJhZ0VuZCA9IGZ1bmN0aW9uKGV2ZW50KQorV2ViSW5z
cGVjdG9yLl9lbGVtZW50RHJhZ0VuZCA9IGZ1bmN0aW9uKGV2ZW50KQogewogICAgIHZhciB0YXJn
ZXREb2N1bWVudCA9IGV2ZW50LnRhcmdldC5vd25lckRvY3VtZW50OwogICAgIHRhcmdldERvY3Vt
ZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsIFdlYkluc3BlY3Rvci5fZWxlbWVu
dERyYWdnaW5nRXZlbnRMaXN0ZW5lciwgdHJ1ZSk7Ci0gICAgdGFyZ2V0RG9jdW1lbnQucmVtb3Zl
RXZlbnRMaXN0ZW5lcigibW91c2V1cCIsIFdlYkluc3BlY3Rvci5fZWxlbWVudEVuZERyYWdnaW5n
RXZlbnRMaXN0ZW5lciwgdHJ1ZSk7CisgICAgdGFyZ2V0RG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0
ZW5lcigibW91c2V1cCIsIFdlYkluc3BlY3Rvci5fZWxlbWVudERyYWdFbmQsIHRydWUpOwogCiAg
ICAgdGFyZ2V0RG9jdW1lbnQuYm9keS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiY3Vyc29yIik7CiAK
ICAgICBpZiAoV2ViSW5zcGVjdG9yLl9lbGVtZW50RHJhZ2dpbmdHbGFzc1BhbmUpCiAgICAgICAg
IFdlYkluc3BlY3Rvci5fZWxlbWVudERyYWdnaW5nR2xhc3NQYW5lLmRpc3Bvc2UoKTsKIAorICAg
IHZhciBlbGVtZW50RHJhZ0VuZCA9IFdlYkluc3BlY3Rvci5fZWxlbWVudEVuZERyYWdnaW5nRXZl
bnRMaXN0ZW5lcjsKKwogICAgIGRlbGV0ZSBXZWJJbnNwZWN0b3IuX2VsZW1lbnREcmFnZ2luZ0ds
YXNzUGFuZTsKICAgICBkZWxldGUgV2ViSW5zcGVjdG9yLl9lbGVtZW50RHJhZ2dpbmdFdmVudExp
c3RlbmVyOwogICAgIGRlbGV0ZSBXZWJJbnNwZWN0b3IuX2VsZW1lbnRFbmREcmFnZ2luZ0V2ZW50
TGlzdGVuZXI7CiAKICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOworICAgIGlmIChlbGVtZW50
RHJhZ0VuZCkKKyAgICAgICAgZWxlbWVudERyYWdFbmQoZXZlbnQpOwogfQogCiAvKioKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdGltZWxpbmVQYW5lbC5j
c3MgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RpbWVsaW5lUGFuZWwuY3Nz
CmluZGV4IGVkODA3ODFhOTQ0M2VkMDNmNTgyMWIyYWJmMDVjYzA1YzMxNmM2ODYuLjZmZjU0MmVh
ZTEwZDkzMzJlMjM2NGU3YjI4MTRiZmFkNjQwYWVkZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdGltZWxpbmVQYW5lbC5jc3MKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC90aW1lbGluZVBhbmVsLmNzcwpAQCAtODQsNiArODQs
MTAgQEAKICAgICBkaXNwbGF5OiBub25lOwogfQogCisjdGltZWxpbmUtb3ZlcnZpZXctZ3JpZCAu
cmVzb3VyY2VzLWRpdmlkZXJzLWxhYmVsLWJhciB7CisgICAgcG9pbnRlci1ldmVudHM6IGF1dG87
Cit9CisKIC50aW1lbGluZS13aW5kb3ctc2VsZWN0b3IgewogICAgIHBvc2l0aW9uOiBhYnNvbHV0
ZTsKICAgICB0b3A6IDA7Cg==
</data>
<flag name="review"
          id="162415"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>