<?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>28911</bug_id>
          
          <creation_ts>2009-09-02 09:39:38 -0700</creation_ts>
          <short_desc>WebInspector: serialize calls to InjectedScript with JSON.</short_desc>
          <delta_ts>2009-10-17 21:59:54 -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>1</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>joepeck</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>144235</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-09-02 09:39:38 -0700</bug_when>
    <thetext>I&apos;d like to replace setTimeout delegates that DOMAgent adds into InspectorController with the following schema:
new InjectedScriptAccess.js is added into the frontend. It is accessible from the rest of the frontend. This access class serializes all the calls and passes them into InspectorController. InspectorController is dispatching these calls on the InjectedScript. As a result, there is no direct interaction between the front-end and InjectedScript left. That is needed in order to host InjectedScript in a separate context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144238</commentid>
    <comment_count>1</comment_count>
      <attachid>38929</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-09-02 09:42:27 -0700</bug_when>
    <thetext>Created attachment 38929
patch

I wonder how this JSON.stringify / JSON.parse slows things down.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144578</commentid>
    <comment_count>2</comment_count>
      <attachid>38929</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-09-03 13:09:47 -0700</bug_when>
    <thetext>Comment on attachment 38929
patch


&gt; +    ScriptValue callFrames = function.call();
&gt; +    return callFrames.toString(m_inspectorController-&gt;m_scriptState);

I think callFrames is a copy-and-paste error. This should have a different name.

I see the light at the end of the tunnel!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144762</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-09-04 02:05:17 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/WebCore.gypi
	M	WebCore/WebCore.vcproj/WebCore.vcproj
	M	WebCore/inspector/InspectorBackend.cpp
	M	WebCore/inspector/InspectorBackend.h
	M	WebCore/inspector/InspectorBackend.idl
	M	WebCore/inspector/InspectorFrontend.cpp
	M	WebCore/inspector/InspectorFrontend.h
	M	WebCore/inspector/front-end/ConsoleView.js
	M	WebCore/inspector/front-end/DOMAgent.js
	M	WebCore/inspector/front-end/ElementsPanel.js
	M	WebCore/inspector/front-end/InjectedScript.js
	A	WebCore/inspector/front-end/InjectedScriptAccess.js
	M	WebCore/inspector/front-end/MetricsSidebarPane.js
	M	WebCore/inspector/front-end/ObjectPropertiesSection.js
	M	WebCore/inspector/front-end/PropertiesSidebarPane.js
	M	WebCore/inspector/front-end/ResourcesPanel.js
	M	WebCore/inspector/front-end/ScriptsPanel.js
	M	WebCore/inspector/front-end/StylesSidebarPane.js
	M	WebCore/inspector/front-end/inspector.html
Committed r48046</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155445</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2009-10-17 21:59:54 -0700</bug_when>
    <thetext>Investigating something I noticed that I&apos;m included in the copyright on InjectedScriptAccess.js (a new file added when this patch was landed). I assume that it was copied from an existing file at the time. I know that nothing I wrote contributed to this file. Should my name be removed? I don&apos;t mind if it stays or is removed, but I think to be the most accurate if it was removed.  The license states that the copyright information should be carried with the license, however I can attest to the fact that it need not be here.

Also, how rigorous is Apple or Google with respect to copyright years on files? For instance utilities.js has had a few &gt;10 line updates since 2007.

These incidents have convinced me to be more rigorous about updating copyright information before submitting a patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38929</attachid>
            <date>2009-09-02 09:42:27 -0700</date>
            <delta_ts>2009-09-03 13:09:47 -0700</delta_ts>
            <desc>patch</desc>
            <filename>serialize</filename>
            <type>text/plain</type>
            <size>22337</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODBiYzBlMy4uYzAzOTcwZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OCBAQAorMjAwOS0wOS0wMiAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5
IEhhdGNoZXIuCisKKyAgICAgICAgV2ViSW5zcGVjdG9yOiBzZXJpYWxpemUgY2FsbHMgdG8gSW5q
ZWN0ZWRTY3JpcHQgd2l0aCBKU09OLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yODkxMQorCisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAg
ICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3JCYWNrZW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmQ6
OmRpc3BhdGNoT25JbmplY3RlZFNjcmlwdCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckJhY2tlbmQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5pZGw6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUuZG9FdmFsSW5XaW5kb3cpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZS5fZm9ybWF0YXJyYXkpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZS5fZm9ybWF0bm9kZSk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qczoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RWxlbWVudHNQYW5lbC50aGlzLnRyZWVPdXRsaW5lLmZvY3VzZWROb2RlQ2hhbmdlZCk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUuc2VhcmNoQ2FuY2VsZWQp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlLnBlcmZvcm1T
ZWFyY2gpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSW5qZWN0ZWRTY3JpcHQuanM6
CisgICAgICAgIChJbmplY3RlZFNjcmlwdC5kaXNwYXRjaCk6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9NZXRyaWNzU2lkZWJhclBhbmUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
TWV0cmljc1NpZGViYXJQYW5lLnByb3RvdHlwZS51cGRhdGUpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLk1ldHJpY3NTaWRlYmFyUGFuZS5wcm90b3R5cGUuZWRpdGluZ0NvbW1pdHRlZCk6CisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5wcm90b3R5cGUudXBk
YXRlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0eVRyZWVFbGVtZW50LnBy
b3RvdHlwZS5vbnBvcHVsYXRlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0
eVRyZWVFbGVtZW50LnByb3RvdHlwZS5hcHBseUV4cHJlc3Npb24pOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvUHJvcGVydGllc1NpZGViYXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlByb3BlcnRpZXNTaWRlYmFyUGFuZS5wcm90b3R5cGUudXBkYXRlKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlJlc291cmNlU2lkZWJhclRyZWVFbGVtZW50LnByb3RvdHlwZS5vbmRibGNsaWNrKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLmRvRXZhbEluQ2FsbEZyYW1lKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGViYXJQYW5lLnByb3RvdHlwZS51cGRhdGUpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydGllc1NlY3Rpb24ucHJvdG90eXBlLmVk
aXRpbmdTZWxlY3RvckNvbW1pdHRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQmxhbmtTdHls
ZVByb3BlcnRpZXNTZWN0aW9uLnByb3RvdHlwZS5lZGl0aW5nQ29tbWl0dGVkKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sOgorCiAyMDA5LTA5LTAyICBK
ZXJlbXkgT3Jsb3cgIDxqb3Jsb3dAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEFkYW0gQmFydGguCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUv
V2ViQ29yZS5neXBpCmluZGV4IGE5MzVjMzMuLjFlNTZkYzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
V2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zNDcxLDYgKzM0NzEs
NyBAQAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRm9udFZpZXcuanMnLAogICAg
ICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VWaWV3LmpzJywKICAgICAgICAgICAg
ICdpbnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkU2NyaXB0LmpzJywKKyAgICAgICAgICAgICdp
bnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkU2NyaXB0QWNjZXNzLmpzJywKICAgICAgICAgICAg
ICdpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcycsCiAgICAgICAgICAgICAnaW5zcGVj
dG9yL2Zyb250LWVuZC9LZXlib2FyZFNob3J0Y3V0LmpzJywKICAgICAgICAgICAgICdpbnNwZWN0
b3IvZnJvbnQtZW5kL01ldHJpY3NTaWRlYmFyUGFuZS5qcycsCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagppbmRleCAzZjlmODExLi4zNGQyODI4IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKQEAgLTMxMzMzLDYgKzMxMzMzLDkgQEAKIAkJCQk8RmlsZQ0KIAkJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXEluamVjdGVkU2NyaXB0Lmpz
Ig0KIAkJCQkJPg0KKwkJCQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3Jc
ZnJvbnQtZW5kXEluamVjdGVkU2NyaXB0QWNjZXNzLmpzIg0KKwkJCQkJPg0KIAkJCQk8L0ZpbGU+
DQogCQkJCTxGaWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRc
aW5zcGVjdG9yLmNzcyINCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JC
YWNrZW5kLmNwcCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQuY3BwCmluZGV4
IGQ5YmQ0NTYuLjlhYzhiN2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckJhY2tlbmQuY3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQuY3Bw
CkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NQWdlbnQuaCIKICNpbmNs
dWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclJlc291cmNlLmgi
CisjaW5jbHVkZSAiU2NyaXB0RnVuY3Rpb25DYWxsLmgiCiAKICNpZiBFTkFCTEUoRE9NX1NUT1JB
R0UpCiAjaW5jbHVkZSAiU3RvcmFnZS5oIgpAQCAtMzgzLDYgKzM4NCwyMCBAQCB2b2lkIEluc3Bl
Y3RvckJhY2tlbmQ6OnN0ZXBPdXRPZkZ1bmN0aW9uSW5EZWJ1Z2dlcigpCiAKICNlbmRpZgogCitT
dHJpbmcgSW5zcGVjdG9yQmFja2VuZDo6ZGlzcGF0Y2hPbkluamVjdGVkU2NyaXB0KGNvbnN0IFN0
cmluZyYgbWV0aG9kTmFtZSwgY29uc3QgU3RyaW5nJiBhcmd1bWVudHMpCit7CisgICAgSW5zcGVj
dG9yRnJvbnRlbmQqIGZyb250ZW5kID0gaW5zcGVjdG9yRnJvbnRlbmQoKTsKKyAgICBpZiAoIWZy
b250ZW5kKQorICAgICAgICAvLyBGYWlsZWQgcmVxdWVzdHMgcmV0dXJuIGZhbHNlIGJ5IGNvbnZl
bnRpb24uIFdlIG9ubHkgc2VydmVyIHJlcXVlc3RzIHdoaWxlIGZyb250ZW5kIGlzIGFsaXZlLgor
ICAgICAgICByZXR1cm4gImZhbHNlIjsKKworICAgIFNjcmlwdEZ1bmN0aW9uQ2FsbCBmdW5jdGlv
bihtX2luc3BlY3RvckNvbnRyb2xsZXItPm1fc2NyaXB0U3RhdGUsIG1faW5zcGVjdG9yQ29udHJv
bGxlci0+bV9pbmplY3RlZFNjcmlwdE9iaiwgImRpc3BhdGNoIik7CisgICAgZnVuY3Rpb24uYXBw
ZW5kQXJndW1lbnQobWV0aG9kTmFtZSk7CisgICAgZnVuY3Rpb24uYXBwZW5kQXJndW1lbnQoYXJn
dW1lbnRzKTsKKyAgICBTY3JpcHRWYWx1ZSBjYWxsRnJhbWVzID0gZnVuY3Rpb24uY2FsbCgpOwor
ICAgIHJldHVybiBjYWxsRnJhbWVzLnRvU3RyaW5nKG1faW5zcGVjdG9yQ29udHJvbGxlci0+bV9z
Y3JpcHRTdGF0ZSk7Cit9CisKIHZvaWQgSW5zcGVjdG9yQmFja2VuZDo6Z2V0Q2hpbGROb2Rlcyhs
b25nIGNhbGxJZCwgbG9uZyBub2RlSWQpCiB7CiAgICAgaWYgKEluc3BlY3RvckRPTUFnZW50KiBk
b21BZ2VudCA9IGluc3BlY3RvckRPTUFnZW50KCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JCYWNrZW5kLmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNr
ZW5kLmgKaW5kZXggNmI3NDE1MC4uNzJlMTBiZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQmFja2VuZC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJh
Y2tlbmQuaApAQCAtMTI5LDYgKzEyOSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHN0ZXBPdXRPZkZ1
bmN0aW9uSW5EZWJ1Z2dlcigpOwogI2VuZGlmCiAKKyAgICBTdHJpbmcgZGlzcGF0Y2hPbkluamVj
dGVkU2NyaXB0KGNvbnN0IFN0cmluZyYgbWV0aG9kTmFtZSwgY29uc3QgU3RyaW5nJiBhcmd1bWVu
dHMpOwogICAgIHZvaWQgZ2V0Q2hpbGROb2Rlcyhsb25nIGNhbGxJZCwgbG9uZyBub2RlSWQpOwog
ICAgIHZvaWQgc2V0QXR0cmlidXRlKGxvbmcgY2FsbElkLCBsb25nIGVsZW1lbnRJZCwgY29uc3Qg
U3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlKTsKICAgICB2b2lkIHJlbW92ZUF0dHJp
YnV0ZShsb25nIGNhbGxJZCwgbG9uZyBlbGVtZW50SWQsIGNvbnN0IFN0cmluZyYgbmFtZSk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kLmlkbCBiL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQuaWRsCmluZGV4IDU1MzgwMzIuLjhiZjIzMDEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQuaWRsCisrKyBi
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQuaWRsCkBAIC0xMDEsNiArMTAxLDcg
QEAgbW9kdWxlIGNvcmUgewogCiAgICAgICAgIFtDdXN0b21dIEFycmF5IHByb2ZpbGVzKCk7CiAj
ZW5kaWYKKyAgICAgICAgRE9NU3RyaW5nIGRpc3BhdGNoT25JbmplY3RlZFNjcmlwdChpbiBET01T
dHJpbmcgbWV0aG9kTmFtZSwgaW4gRE9NU3RyaW5nIGFyZ3VtZW50cyk7CiAgICAgICAgIHZvaWQg
Z2V0Q2hpbGROb2RlcyhpbiBsb25nIGNhbGxJZCwgaW4gbG9uZyBub2RlSWQpOwogICAgICAgICB2
b2lkIHNldEF0dHJpYnV0ZShpbiBsb25nIGNhbGxJZCwgaW4gbG9uZyBlbGVtZW50SWQsIGluIERP
TVN0cmluZyBuYW1lLCBpbiBET01TdHJpbmcgdmFsdWUpOwogICAgICAgICB2b2lkIHJlbW92ZUF0
dHJpYnV0ZShpbiBsb25nIGNhbGxJZCwgaW4gbG9uZyBlbGVtZW50SWQsIGluIERPTVN0cmluZyBu
YW1lKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmll
dy5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwppbmRleCAy
MGQ2ODJlLi4wMjNhZTcyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
Q29uc29sZVZpZXcuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVW
aWV3LmpzCkBAIC0zNDcsNyArMzQ3LDcgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3Rv
dHlwZSA9IHsKICAgICAgICAgewogICAgICAgICAgICAgY2FsbGJhY2socmVzdWx0LnZhbHVlLCBy
ZXN1bHQuaXNFeGNlcHRpb24pOwogICAgICAgICB9OwotICAgICAgICBJbnNwZWN0b3JDb250cm9s
bGVyLmV2YWx1YXRlKGV4cHJlc3Npb24sIGV2YWxDYWxsYmFjayk7CisgICAgICAgIEluamVjdGVk
U2NyaXB0QWNjZXNzLmV2YWx1YXRlKGV4cHJlc3Npb24sIGV2YWxDYWxsYmFjayk7CiAgICAgfSwK
IAogICAgIF9lbnRlcktleVByZXNzZWQ6IGZ1bmN0aW9uKGV2ZW50KQpAQCAtNDY0LDcgKzQ2NCw3
IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB9
CiAgICAgICAgICAgICBlbGVtLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJd
IikpOwogICAgICAgICB9Ci0gICAgICAgIEluc3BlY3RvckNvbnRyb2xsZXIuZ2V0UHJvcGVydGll
cyhhcnIsIGZhbHNlLCBwcmludFJlc3VsdCk7CisgICAgICAgIEluamVjdGVkU2NyaXB0QWNjZXNz
LmdldFByb3BlcnRpZXMoYXJyLCBmYWxzZSwgcHJpbnRSZXN1bHQpOwogICAgIH0sCiAKICAgICBf
Zm9ybWF0bm9kZTogZnVuY3Rpb24ob2JqZWN0LCBlbGVtKQpAQCAtNDgwLDcgKzQ4MCw3IEBAIFdl
Ykluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgdHJl
ZU91dGxpbmUuZWxlbWVudC5hZGRTdHlsZUNsYXNzKCJzaW5nbGUtbm9kZSIpOwogICAgICAgICAg
ICAgZWxlbS5hcHBlbmRDaGlsZCh0cmVlT3V0bGluZS5lbGVtZW50KTsKICAgICAgICAgfQotICAg
ICAgICBJbnNwZWN0b3JDb250cm9sbGVyLnB1c2hOb2RlVG9Gcm9udGVuZChvYmplY3QsIHByaW50
Tm9kZSk7CisgICAgICAgIEluamVjdGVkU2NyaXB0QWNjZXNzLnB1c2hOb2RlVG9Gcm9udGVuZChv
YmplY3QsIHByaW50Tm9kZSk7CiAgICAgfSwKIAogICAgIF9mb3JtYXRvYmplY3Q6IGZ1bmN0aW9u
KG9iaiwgZWxlbSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01B
Z2VudC5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qcwppbmRleCA4
YTBmZmM2Li40N2M4MDQxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RE9NQWdlbnQuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50Lmpz
CkBAIC02NDgsMTM4ICs2NDgsMyBAQCBXZWJJbnNwZWN0b3IuZGlkUGVyZm9ybVNlYXJjaCA9IFdl
Ykluc3BlY3Rvci5DYWxsYmFjay5wcm9jZXNzQ2FsbGJhY2s7CiBXZWJJbnNwZWN0b3IuZGlkQXBw
bHlEb21DaGFuZ2UgPSBXZWJJbnNwZWN0b3IuQ2FsbGJhY2sucHJvY2Vzc0NhbGxiYWNrOwogV2Vi
SW5zcGVjdG9yLmRpZFJlbW92ZUF0dHJpYnV0ZSA9IFdlYkluc3BlY3Rvci5DYWxsYmFjay5wcm9j
ZXNzQ2FsbGJhY2s7CiBXZWJJbnNwZWN0b3IuZGlkU2V0VGV4dE5vZGVWYWx1ZSA9IFdlYkluc3Bl
Y3Rvci5DYWxsYmFjay5wcm9jZXNzQ2FsbGJhY2s7Ci0KLS8vIFRlbXBvcmFyeSBtZXRob2RzIHRo
YXQgd2lsbCBiZSBkaXNwYXRjaGVkIHZpYSBJbnNwZWN0b3JDb250cm9sbGVyIGludG8gdGhlIGlu
amVjdGVkIGNvbnRleHQuCi1JbnNwZWN0b3JDb250cm9sbGVyLmdldFN0eWxlcyA9IGZ1bmN0aW9u
KG5vZGVJZCwgYXV0aG9yT25seSwgY2FsbGJhY2spCi17Ci0gICAgc2V0VGltZW91dChmdW5jdGlv
bigpIHsKLSAgICAgICAgY2FsbGJhY2soSW5qZWN0ZWRTY3JpcHQuZ2V0U3R5bGVzKG5vZGVJZCwg
YXV0aG9yT25seSkpOwotICAgIH0sIDApOwotfQotCi1JbnNwZWN0b3JDb250cm9sbGVyLmdldENv
bXB1dGVkU3R5bGUgPSBmdW5jdGlvbihub2RlSWQsIGNhbGxiYWNrKQotewotICAgIHNldFRpbWVv
dXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGNhbGxiYWNrKEluamVjdGVkU2NyaXB0LmdldENvbXB1
dGVkU3R5bGUobm9kZUlkKSk7Ci0gICAgfSwgMCk7Ci19Ci0KLUluc3BlY3RvckNvbnRyb2xsZXIu
Z2V0SW5saW5lU3R5bGUgPSBmdW5jdGlvbihub2RlSWQsIGNhbGxiYWNrKQotewotICAgIHNldFRp
bWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGNhbGxiYWNrKEluamVjdGVkU2NyaXB0LmdldElu
bGluZVN0eWxlKG5vZGVJZCkpOwotICAgIH0sIDApOwotfQotCi1JbnNwZWN0b3JDb250cm9sbGVy
LmFwcGx5U3R5bGVUZXh0ID0gZnVuY3Rpb24oc3R5bGVJZCwgc3R5bGVUZXh0LCBwcm9wZXJ0eU5h
bWUsIGNhbGxiYWNrKQotewotICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGNh
bGxiYWNrKEluamVjdGVkU2NyaXB0LmFwcGx5U3R5bGVUZXh0KHN0eWxlSWQsIHN0eWxlVGV4dCwg
cHJvcGVydHlOYW1lKSk7Ci0gICAgfSwgMCk7Ci19Ci0KLUluc3BlY3RvckNvbnRyb2xsZXIuc2V0
U3R5bGVUZXh0ID0gZnVuY3Rpb24oc3R5bGUsIGNzc1RleHQsIGNhbGxiYWNrKQotewotICAgIHNl
dFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGNhbGxiYWNrKEluamVjdGVkU2NyaXB0LnNl
dFN0eWxlVGV4dChzdHlsZSwgY3NzVGV4dCkpOwotICAgIH0sIDApOwotfQotCi1JbnNwZWN0b3JD
b250cm9sbGVyLnRvZ2dsZVN0eWxlRW5hYmxlZCA9IGZ1bmN0aW9uKHN0eWxlSWQsIHByb3BlcnR5
TmFtZSwgZGlzYWJsZWQsIGNhbGxiYWNrKQotewotICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7
Ci0gICAgICAgIGNhbGxiYWNrKEluamVjdGVkU2NyaXB0LnRvZ2dsZVN0eWxlRW5hYmxlZChzdHls
ZUlkLCBwcm9wZXJ0eU5hbWUsIGRpc2FibGVkKSk7Ci0gICAgfSwgMCk7Ci19Ci0KLUluc3BlY3Rv
ckNvbnRyb2xsZXIuYXBwbHlTdHlsZVJ1bGVUZXh0ID0gZnVuY3Rpb24ocnVsZUlkLCBuZXdDb250
ZW50LCBzZWxlY3RlZE5vZGVJZCwgY2FsbGJhY2spCi17Ci0gICAgc2V0VGltZW91dChmdW5jdGlv
bigpIHsKLSAgICAgICAgY2FsbGJhY2soSW5qZWN0ZWRTY3JpcHQuYXBwbHlTdHlsZVJ1bGVUZXh0
KHJ1bGVJZCwgbmV3Q29udGVudCwgc2VsZWN0ZWROb2RlSWQpKTsKLSAgICB9LCAwKTsKLX0KLQot
SW5zcGVjdG9yQ29udHJvbGxlci5hZGRTdHlsZVNlbGVjdG9yID0gZnVuY3Rpb24obmV3Q29udGVu
dCwgc2VsZWN0ZWROb2RlSWQsIGNhbGxiYWNrKQotewotICAgIHNldFRpbWVvdXQoZnVuY3Rpb24o
KSB7Ci0gICAgICAgIGNhbGxiYWNrKEluamVjdGVkU2NyaXB0LmFkZFN0eWxlU2VsZWN0b3IobmV3
Q29udGVudCwgc2VsZWN0ZWROb2RlSWQpKTsKLSAgICB9LCAwKTsKLX0KLQotSW5zcGVjdG9yQ29u
dHJvbGxlci5zZXRTdHlsZVByb3BlcnR5ID0gZnVuY3Rpb24oc3R5bGVJZCwgbmFtZSwgdmFsdWUs
IGNhbGxiYWNrKQotewotICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGNhbGxi
YWNrKEluamVjdGVkU2NyaXB0LnNldFN0eWxlUHJvcGVydHkoc3R5bGVJZCwgbmFtZSwgdmFsdWUp
KTsKLSAgICB9LCAwKTsKLX0KLQotSW5zcGVjdG9yQ29udHJvbGxlci5nZXRQcm90b3R5cGVzID0g
ZnVuY3Rpb24obm9kZUlkLCBjYWxsYmFjaykKLXsKLSAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkg
ewotICAgICAgICBjYWxsYmFjayhJbmplY3RlZFNjcmlwdC5nZXRQcm90b3R5cGVzKG5vZGVJZCkp
OwotICAgIH0sIDApOwotfQotCi1JbnNwZWN0b3JDb250cm9sbGVyLmdldFByb3BlcnRpZXMgPSBm
dW5jdGlvbihvYmplY3RQcm94eSwgaWdub3JlSGFzT3duUHJvcGVydHksIGNhbGxiYWNrKQotewot
ICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGNhbGxiYWNrKEluamVjdGVkU2Ny
aXB0LmdldFByb3BlcnRpZXMob2JqZWN0UHJveHksIGlnbm9yZUhhc093blByb3BlcnR5KSk7Ci0g
ICAgfSwgMCk7Ci19Ci0KLUluc3BlY3RvckNvbnRyb2xsZXIuc2V0UHJvcGVydHlWYWx1ZSA9IGZ1
bmN0aW9uKG9iamVjdFByb3h5LCBwcm9wZXJ0eU5hbWUsIGV4cHJlc3Npb24sIGNhbGxiYWNrKQot
ewotICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGNhbGxiYWNrKEluamVjdGVk
U2NyaXB0LnNldFByb3BlcnR5VmFsdWUob2JqZWN0UHJveHksIHByb3BlcnR5TmFtZSwgZXhwcmVz
c2lvbikpOwotICAgIH0sIDApOwotfQotCi1JbnNwZWN0b3JDb250cm9sbGVyLmV2YWx1YXRlID0g
ZnVuY3Rpb24oZXhwcmVzc2lvbiwgY2FsbGJhY2spCi17Ci0gICAgc2V0VGltZW91dChmdW5jdGlv
bigpIHsKLSAgICAgICAgY2FsbGJhY2soSW5qZWN0ZWRTY3JpcHQuZXZhbHVhdGUoZXhwcmVzc2lv
bikpOwotICAgIH0sIDApOwotfQotCi1JbnNwZWN0b3JDb250cm9sbGVyLmFkZEluc3BlY3RlZE5v
ZGUgPSBmdW5jdGlvbihub2RlSWQsIGNhbGxiYWNrKQotewotICAgIHNldFRpbWVvdXQoZnVuY3Rp
b24oKSB7Ci0gICAgICAgIGNhbGxiYWNrKEluamVjdGVkU2NyaXB0LmFkZEluc3BlY3RlZE5vZGUo
bm9kZUlkKSk7Ci0gICAgfSwgMCk7Ci19Ci0KLUluc3BlY3RvckNvbnRyb2xsZXIucHVzaE5vZGVU
b0Zyb250ZW5kID0gZnVuY3Rpb24obm9kZUlkLCBjYWxsYmFjaykKLXsKLSAgICBzZXRUaW1lb3V0
KGZ1bmN0aW9uKCkgewotICAgICAgICBjYWxsYmFjayhJbmplY3RlZFNjcmlwdC5wdXNoTm9kZVRv
RnJvbnRlbmQobm9kZUlkKSk7Ci0gICAgfSwgMCk7Ci19Ci0KLUluc3BlY3RvckNvbnRyb2xsZXIu
cGVyZm9ybVNlYXJjaCA9IGZ1bmN0aW9uKHdoaXRlc3BhY2VUcmltbWVkUXVlcnksIGNhbGxiYWNr
KQotewotICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGNhbGxiYWNrKEluamVj
dGVkU2NyaXB0LnBlcmZvcm1TZWFyY2god2hpdGVzcGFjZVRyaW1tZWRRdWVyeSkpOwotICAgIH0s
IDApOwotfQotCi1JbnNwZWN0b3JDb250cm9sbGVyLnNlYXJjaENhbmNlbGVkID0gZnVuY3Rpb24o
Y2FsbGJhY2spCi17Ci0gICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgY2FsbGJh
Y2soSW5qZWN0ZWRTY3JpcHQuc2VhcmNoQ2FuY2VsZWQoKSk7Ci0gICAgfSwgMCk7Ci19Ci0KLUlu
c3BlY3RvckNvbnRyb2xsZXIub3BlbkluSW5zcGVjdGVkV2luZG93ID0gZnVuY3Rpb24odXJsLCBj
YWxsYmFjaykKLXsKLSAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICBjYWxsYmFj
ayhJbmplY3RlZFNjcmlwdC5vcGVuSW5JbnNwZWN0ZWRXaW5kb3codXJsKSk7Ci0gICAgfSwgMCk7
Ci19Ci0KLUluc3BlY3RvckNvbnRyb2xsZXIuZXZhbHVhdGVJbkNhbGxGcmFtZSA9IGZ1bmN0aW9u
KGNhbGxGcmFtZUlkLCBjb2RlLCBjYWxsYmFjaykKLXsKLSAgICBzZXRUaW1lb3V0KGZ1bmN0aW9u
KCkgewotICAgICAgICBjYWxsYmFjayhJbmplY3RlZFNjcmlwdC5ldmFsdWF0ZUluQ2FsbEZyYW1l
KGNhbGxGcmFtZUlkLCBjb2RlKSk7Ci0gICAgfSwgMCk7Ci19Ci0KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzIGIvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanMKaW5kZXggZDQzYmNiOC4uNDlhMTE4OCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanMKKysr
IGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanMKQEAgLTYyLDcg
KzYyLDcgQEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwgPSBmdW5jdGlvbigpCiAgICAgICAg
ICAgICB0aGlzLnBhbmVsLm5vZGVTZWFyY2hCdXR0b24ucmVtb3ZlU3R5bGVDbGFzcygidG9nZ2xl
ZC1vbiIpOwogICAgICAgICB9CiAgICAgICAgIGlmICh0aGlzLl9mb2N1c2VkRE9NTm9kZSkKLSAg
ICAgICAgICAgIEluc3BlY3RvckNvbnRyb2xsZXIuYWRkSW5zcGVjdGVkTm9kZSh0aGlzLl9mb2N1
c2VkRE9NTm9kZS5pZCwgZnVuY3Rpb24oKSB7fSk7CisgICAgICAgICAgICBJbmplY3RlZFNjcmlw
dEFjY2Vzcy5hZGRJbnNwZWN0ZWROb2RlKHRoaXMuX2ZvY3VzZWRET01Ob2RlLmlkLCBmdW5jdGlv
bigpIHt9KTsKICAgICB9OwogCiAgICAgdGhpcy5jb250ZW50RWxlbWVudC5hcHBlbmRDaGlsZCh0
aGlzLnRyZWVPdXRsaW5lLmVsZW1lbnQpOwpAQCAtMjE1LDcgKzIxNSw3IEBAIFdlYkluc3BlY3Rv
ci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZSA9IHsKIAogICAgICAgICB0aGlzLl9jdXJyZW50U2Vh
cmNoUmVzdWx0SW5kZXggPSAwOwogICAgICAgICB0aGlzLl9zZWFyY2hSZXN1bHRzID0gW107Ci0g
ICAgICAgIEluc3BlY3RvckNvbnRyb2xsZXIuc2VhcmNoQ2FuY2VsZWQoZnVuY3Rpb24oKSB7fSk7
CisgICAgICAgIEluamVjdGVkU2NyaXB0QWNjZXNzLnNlYXJjaENhbmNlbGVkKGZ1bmN0aW9uKCkg
e30pOwogICAgIH0sCiAKICAgICBwZXJmb3JtU2VhcmNoOiBmdW5jdGlvbihxdWVyeSkKQEAgLTIz
MCw3ICsyMzAsNyBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIHRoaXMuX3VwZGF0ZWRNYXRjaENvdW50T25jZSA9IGZhbHNlOwogICAgICAgICB0aGlz
Ll9tYXRjaGVzQ291bnRVcGRhdGVUaW1lb3V0ID0gbnVsbDsKIAotICAgICAgICBJbnNwZWN0b3JD
b250cm9sbGVyLnBlcmZvcm1TZWFyY2god2hpdGVzcGFjZVRyaW1tZWRRdWVyeSwgZnVuY3Rpb24o
KSB7fSk7CisgICAgICAgIEluamVjdGVkU2NyaXB0QWNjZXNzLnBlcmZvcm1TZWFyY2god2hpdGVz
cGFjZVRyaW1tZWRRdWVyeSwgZnVuY3Rpb24oKSB7fSk7CiAgICAgfSwKIAogICAgIF91cGRhdGVN
YXRjaGVzQ291bnQ6IGZ1bmN0aW9uKCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9JbmplY3RlZFNjcmlwdC5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9J
bmplY3RlZFNjcmlwdC5qcwppbmRleCBjODE1ZGZkLi5lOGY0MjI3IDEwMDY0NAotLS0gYS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5qZWN0ZWRTY3JpcHQuanMKKysrIGIvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkU2NyaXB0LmpzCkBAIC00MSw2ICs0MSwxMiBAQCBJ
bmplY3RlZFNjcmlwdC5yZXNldCA9IGZ1bmN0aW9uKCkKIAogSW5qZWN0ZWRTY3JpcHQucmVzZXQo
KTsKIAorSW5qZWN0ZWRTY3JpcHQuZGlzcGF0Y2ggPSBmdW5jdGlvbihtZXRob2ROYW1lLCBhcmdz
KQoreworICAgIHZhciByZXN1bHQgPSBJbmplY3RlZFNjcmlwdFttZXRob2ROYW1lXS5hcHBseShJ
bmplY3RlZFNjcmlwdCwgSlNPTi5wYXJzZShhcmdzKSk7CisgICAgcmV0dXJuIEpTT04uc3RyaW5n
aWZ5KHJlc3VsdCk7Cit9CisKIEluamVjdGVkU2NyaXB0LmdldFN0eWxlcyA9IGZ1bmN0aW9uKG5v
ZGVJZCwgYXV0aG9yT25seSkKIHsKICAgICB2YXIgbm9kZSA9IEluamVjdGVkU2NyaXB0Ll9ub2Rl
Rm9ySWQobm9kZUlkKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9N
ZXRyaWNzU2lkZWJhclBhbmUuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTWV0cmlj
c1NpZGViYXJQYW5lLmpzCmluZGV4IGMxM2I1NzguLmEzMzY1M2IgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9NZXRyaWNzU2lkZWJhclBhbmUuanMKKysrIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL01ldHJpY3NTaWRlYmFyUGFuZS5qcwpAQCAtNTcsMTQgKzU3
LDE0IEBAIFdlYkluc3BlY3Rvci5NZXRyaWNzU2lkZWJhclBhbmUucHJvdG90eXBlID0gewogICAg
ICAgICAgICAgdmFyIHN0eWxlID0gV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb24ucGFy
c2VTdHlsZShzdHlsZVBheWxvYWQpOwogICAgICAgICAgICAgc2VsZi5fdXBkYXRlKG5vZGUsIGJv
ZHksIHN0eWxlKTsKICAgICAgICAgfTsKLSAgICAgICAgSW5zcGVjdG9yQ29udHJvbGxlci5nZXRD
b21wdXRlZFN0eWxlKG5vZGUuaWQsIGNhbGxiYWNrKTsKKyAgICAgICAgSW5qZWN0ZWRTY3JpcHRB
Y2Nlc3MuZ2V0Q29tcHV0ZWRTdHlsZShub2RlLmlkLCBjYWxsYmFjayk7CiAKICAgICAgICAgdmFy
IGlubGluZVN0eWxlQ2FsbGJhY2sgPSBmdW5jdGlvbihzdHlsZVBheWxvYWQpIHsKICAgICAgICAg
ICAgIGlmICghc3R5bGVQYXlsb2FkKQogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
ICAgIHNlbGYuX2lubGluZVN0eWxlSWQgPSBzdHlsZVBheWxvYWQuaWQ7CiAgICAgICAgIH07Ci0g
ICAgICAgIEluc3BlY3RvckNvbnRyb2xsZXIuZ2V0SW5saW5lU3R5bGUobm9kZS5pZCwgaW5saW5l
U3R5bGVDYWxsYmFjayk7CisgICAgICAgIEluamVjdGVkU2NyaXB0QWNjZXNzLmdldElubGluZVN0
eWxlKG5vZGUuaWQsIGlubGluZVN0eWxlQ2FsbGJhY2spOwogICAgIH0sCiAKICAgICBfdXBkYXRl
OiBmdW5jdGlvbihub2RlLCBib2R5LCBzdHlsZSkKQEAgLTIwOCw3ICsyMDgsNyBAQCBXZWJJbnNw
ZWN0b3IuTWV0cmljc1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHNlbGYu
ZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKCJtZXRyaWNzIGVkaXRlZCIpOwogICAgICAgICAgICAg
c2VsZi51cGRhdGUoKTsKICAgICAgICAgfTsKLSAgICAgICAgSW5zcGVjdG9yQ29udHJvbGxlci5z
ZXRTdHlsZVByb3BlcnR5KHRoaXMuX2lubGluZVN0eWxlSWQsIGNvbnRleHQuc3R5bGVQcm9wZXJ0
eSwgdXNlcklucHV0LCBjYWxsYmFjayk7CisgICAgICAgIEluamVjdGVkU2NyaXB0QWNjZXNzLnNl
dFN0eWxlUHJvcGVydHkodGhpcy5faW5saW5lU3R5bGVJZCwgY29udGV4dC5zdHlsZVByb3BlcnR5
LCB1c2VySW5wdXQsIGNhbGxiYWNrKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5qcyBiL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5qcwppbmRleCA2MzA3
M2JkLi43MWQ2MzFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvT2Jq
ZWN0UHJvcGVydGllc1NlY3Rpb24uanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L09iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzCkBAIC01MCw3ICs1MCw3IEBAIFdlYkluc3BlY3Rv
ci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICAgICAgc2VsZi5fdXBkYXRlKHByb3BlcnRpZXMpOwogICAgICAgICB9
OwotICAgICAgICBJbnNwZWN0b3JDb250cm9sbGVyLmdldFByb3BlcnRpZXModGhpcy5vYmplY3Qs
IHRoaXMuaWdub3JlSGFzT3duUHJvcGVydHksIGNhbGxiYWNrKTsKKyAgICAgICAgSW5qZWN0ZWRT
Y3JpcHRBY2Nlc3MuZ2V0UHJvcGVydGllcyh0aGlzLm9iamVjdCwgdGhpcy5pZ25vcmVIYXNPd25Q
cm9wZXJ0eSwgY2FsbGJhY2spOwogICAgIH0sCiAKICAgICBfdXBkYXRlOiBmdW5jdGlvbihwcm9w
ZXJ0aWVzKQpAQCAtMTQwLDcgKzE0MCw3IEBAIFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0eVRy
ZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICBzZWxmLmFwcGVuZENoaWxk
KG5ldyBzZWxmLnRyZWVPdXRsaW5lLnNlY3Rpb24udHJlZUVsZW1lbnRDb25zdHJ1Y3Rvcihwcm9w
ZXJ0aWVzW2ldKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH07Ci0gICAgICAgIEluc3BlY3Rv
ckNvbnRyb2xsZXIuZ2V0UHJvcGVydGllcyh0aGlzLnByb3BlcnR5LnZhbHVlLCBmYWxzZSwgY2Fs
bGJhY2spOworICAgICAgICBJbmplY3RlZFNjcmlwdEFjY2Vzcy5nZXRQcm9wZXJ0aWVzKHRoaXMu
cHJvcGVydHkudmFsdWUsIGZhbHNlLCBjYWxsYmFjayk7CiAgICAgfSwKIAogICAgIG9uZGJsY2xp
Y2s6IGZ1bmN0aW9uKGVsZW1lbnQsIGV2ZW50KQpAQCAtMjQwLDcgKzI0MCw3IEBAIFdlYkluc3Bl
Y3Rvci5PYmplY3RQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAg
ICAgICBzZWxmLnVwZGF0ZVNpYmxpbmdzKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH07Ci0g
ICAgICAgIEluc3BlY3RvckNvbnRyb2xsZXIuc2V0UHJvcGVydHlWYWx1ZSh0aGlzLnByb3BlcnR5
LnBhcmVudE9iamVjdFByb3h5LCB0aGlzLnByb3BlcnR5Lm5hbWUsIGV4cHJlc3Npb24udHJpbVdo
aXRlc3BhY2UoKSwgY2FsbGJhY2spOworICAgICAgICBJbmplY3RlZFNjcmlwdEFjY2Vzcy5zZXRQ
cm9wZXJ0eVZhbHVlKHRoaXMucHJvcGVydHkucGFyZW50T2JqZWN0UHJveHksIHRoaXMucHJvcGVy
dHkubmFtZSwgZXhwcmVzc2lvbi50cmltV2hpdGVzcGFjZSgpLCBjYWxsYmFjayk7CiAgICAgfQog
fQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUHJvcGVydGllc1Np
ZGViYXJQYW5lLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb3BlcnRpZXNTaWRl
YmFyUGFuZS5qcwppbmRleCA0ZTU1NzYxLi5lYzA4MjEwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvUHJvcGVydGllc1NpZGViYXJQYW5lLmpzCisrKyBiL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9wZXJ0aWVzU2lkZWJhclBhbmUuanMKQEAgLTU3LDcgKzU3
LDcgQEAgV2ViSW5zcGVjdG9yLlByb3BlcnRpZXNTaWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CiAg
ICAgICAgICAgICAgICAgYm9keS5hcHBlbmRDaGlsZChzZWN0aW9uLmVsZW1lbnQpOwogICAgICAg
ICAgICAgfQogICAgICAgICB9OwotICAgICAgICBJbnNwZWN0b3JDb250cm9sbGVyLmdldFByb3Rv
dHlwZXMobm9kZS5pZCwgY2FsbGJhY2spOworICAgICAgICBJbmplY3RlZFNjcmlwdEFjY2Vzcy5n
ZXRQcm90b3R5cGVzKG5vZGUuaWQsIGNhbGxiYWNrKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcyBiL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcwppbmRleCA2ZTRlNmQyLi42ODBm
NjZjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFu
ZWwuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpz
CkBAIC0xMjA5LDcgKzEyMDksNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VTaWRlYmFyVHJlZUVs
ZW1lbnQucHJvdG90eXBlID0gewogICAgIAogICAgIG9uZGJsY2xpY2s6IGZ1bmN0aW9uKHRyZWVF
bGVtZW50LCBldmVudCkKICAgICB7Ci0gICAgICAgIEluc3BlY3RvckNvbnRyb2xsZXIub3Blbklu
SW5zcGVjdGVkV2luZG93KHRoaXMucmVzb3VyY2UudXJsKTsKKyAgICAgICAgSW5qZWN0ZWRTY3Jp
cHRBY2Nlc3Mub3BlbkluSW5zcGVjdGVkV2luZG93KHRoaXMucmVzb3VyY2UudXJsKTsKICAgICB9
LAogCiAgICAgZ2V0IG1haW5UaXRsZSgpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Nj
cmlwdHNQYW5lbC5qcwppbmRleCBjOTk2MzY2Li41NGFiZTNhIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKQEAgLTM3Niw3ICszNzYsNyBAQCBXZWJJbnNw
ZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGlmIChyZXN1bHQp
CiAgICAgICAgICAgICAgICAgY2FsbGJhY2socmVzdWx0LnZhbHVlLCByZXN1bHQuaXNFeGNlcHRp
b24pOwogICAgICAgICB9Ci0gICAgICAgIEluc3BlY3RvckNvbnRyb2xsZXIuZXZhbHVhdGVJbkNh
bGxGcmFtZShjYWxsRnJhbWUuaWQsIGNvZGUsIGV2YWxDYWxsYmFjayk7CisgICAgICAgIEluamVj
dGVkU2NyaXB0QWNjZXNzLmV2YWx1YXRlSW5DYWxsRnJhbWUoY2FsbEZyYW1lLmlkLCBjb2RlLCBl
dmFsQ2FsbGJhY2spOwogICAgIH0sCiAKICAgICB2YXJpYWJsZXNJblNlbGVjdGVkQ2FsbEZyYW1l
OiBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5
bGVzU2lkZWJhclBhbmUuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lk
ZWJhclBhbmUuanMKaW5kZXggYzY1MmY5YS4uYjk3NzVmMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzCisrKyBiL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qcwpAQCAtNzAsNyArNzAsNyBAQCBX
ZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUucHJvdG90eXBlID0gewogICAgICAgICAgICAg
bm9kZS5fc2V0U3R5bGVzKHN0eWxlcy5jb21wdXRlZFN0eWxlLCBzdHlsZXMuaW5saW5lU3R5bGUs
IHN0eWxlcy5zdHlsZUF0dHJpYnV0ZXMsIHN0eWxlcy5tYXRjaGVkQ1NTUnVsZXMpOwogICAgICAg
ICAgICAgc2VsZi5fdXBkYXRlKHJlZnJlc2gsIGJvZHksIG5vZGUsIGVkaXRlZFNlY3Rpb24sIGZv
cmNlVXBkYXRlKTsKICAgICAgICAgfTsKLSAgICAgICAgSW5zcGVjdG9yQ29udHJvbGxlci5nZXRT
dHlsZXMobm9kZS5pZCwgIVByZWZlcmVuY2VzLnNob3dVc2VyQWdlbnRTdHlsZXMsIGNhbGxiYWNr
KTsKKyAgICAgICAgSW5qZWN0ZWRTY3JpcHRBY2Nlc3MuZ2V0U3R5bGVzKG5vZGUuaWQsICFQcmVm
ZXJlbmNlcy5zaG93VXNlckFnZW50U3R5bGVzLCBjYWxsYmFjayk7CiAgICAgfSwKIAogICAgIF91
cGRhdGU6IGZ1bmN0aW9uKHJlZnJlc2gsIGJvZHksIG5vZGUsIGVkaXRlZFNlY3Rpb24sIGZvcmNl
VXBkYXRlKQpAQCAtNjE0LDcgKzYxNCw3IEBAIFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnRpZXNT
ZWN0aW9uLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIG1vdmVUb05leHRJZk5lZWRlZC5jYWxs
KHNlbGYpOwogICAgICAgICB9OwogCi0gICAgICAgIEluc3BlY3RvckNvbnRyb2xsZXIuYXBwbHlT
dHlsZVJ1bGVUZXh0KHRoaXMucnVsZS5pZCwgbmV3Q29udGVudCwgdGhpcy5wYW5lLm5vZGUuaWQs
IGNhbGxiYWNrKTsKKyAgICAgICAgSW5qZWN0ZWRTY3JpcHRBY2Nlc3MuYXBwbHlTdHlsZVJ1bGVU
ZXh0KHRoaXMucnVsZS5pZCwgbmV3Q29udGVudCwgdGhpcy5wYW5lLm5vZGUuaWQsIGNhbGxiYWNr
KTsKICAgICB9LAogCiAgICAgZWRpdGluZ1NlbGVjdG9yQ2FuY2VsbGVkOiBmdW5jdGlvbihlbGVt
ZW50LCBjb250ZXh0KQpAQCAtNjg1LDcgKzY4NSw3IEBAIFdlYkluc3BlY3Rvci5CbGFua1N0eWxl
UHJvcGVydGllc1NlY3Rpb24ucHJvdG90eXBlID0gewogICAgICAgICAgICAgc2VsZi5wYW5lLmFk
ZEJsYW5rU2VjdGlvbigpOwogICAgICAgICAgICAgc2VsZi5hZGROZXdCbGFua1Byb3BlcnR5KCku
c3RhcnRFZGl0aW5nKCk7CiAgICAgICAgIH07Ci0gICAgICAgIEluc3BlY3RvckNvbnRyb2xsZXIu
YWRkU3R5bGVTZWxlY3RvcihuZXdDb250ZW50LCB0aGlzLnBhbmUubm9kZS5pZCwgY2FsbGJhY2sp
OworICAgICAgICBJbmplY3RlZFNjcmlwdEFjY2Vzcy5hZGRTdHlsZVNlbGVjdG9yKG5ld0NvbnRl
bnQsIHRoaXMucGFuZS5ub2RlLmlkLCBjYWxsYmFjayk7CiAgICAgfSwKIAogICAgIG1ha2VOb3Jt
YWw6IGZ1bmN0aW9uKHN0eWxlUnVsZSkKQEAgLTk5Miw3ICs5OTIsNyBAQCBXZWJJbnNwZWN0b3Iu
U3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKIAogICAgICAgICAgICAgc2Vs
Zi51cGRhdGVBbGwodHJ1ZSk7CiAgICAgICAgIH07Ci0gICAgICAgIEluc3BlY3RvckNvbnRyb2xs
ZXIudG9nZ2xlU3R5bGVFbmFibGVkKHRoaXMuc3R5bGUuaWQsIHRoaXMubmFtZSwgZGlzYWJsZWQs
IGNhbGxiYWNrKTsKKyAgICAgICAgSW5qZWN0ZWRTY3JpcHRBY2Nlc3MudG9nZ2xlU3R5bGVFbmFi
bGVkKHRoaXMuc3R5bGUuaWQsIHRoaXMubmFtZSwgZGlzYWJsZWQsIGNhbGxiYWNrKTsKICAgICB9
LAogCiAgICAgdXBkYXRlU3RhdGU6IGZ1bmN0aW9uKCkKQEAgLTExNTUsNyArMTE1NSw3IEBAIFdl
Ykluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAg
ICB9IGVsc2UgewogICAgICAgICAgICAgLy8gUmVzdG9yZSB0aGUgb3JpZ2luYWwgQ1NTIHRleHQg
YmVmb3JlIGFwcGx5aW5nIHVzZXIgY2hhbmdlcy4gVGhpcyBpcyBuZWVkZWQgdG8gcHJldmVudAog
ICAgICAgICAgICAgLy8gbmV3IHByb3BlcnRpZXMgZnJvbSBzdGlja2luZyBhcm91bmQgaWYgdGhl
IHVzZXIgYWRkcyBvbmUsIHRoZW4gcmVtb3ZlcyBpdC4KLSAgICAgICAgICAgIEluc3BlY3RvckNv
bnRyb2xsZXIuc2V0U3R5bGVUZXh0KHRoaXMuc3R5bGUuaWQsIHRoaXMub3JpZ2luYWxDU1NUZXh0
KTsKKyAgICAgICAgICAgIEluamVjdGVkU2NyaXB0QWNjZXNzLnNldFN0eWxlVGV4dCh0aGlzLnN0
eWxlLmlkLCB0aGlzLm9yaWdpbmFsQ1NTVGV4dCk7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlz
LmFwcGx5U3R5bGVUZXh0KHRoaXMubGlzdEl0ZW1FbGVtZW50LnRleHRDb250ZW50KTsKQEAgLTEx
NzUsNyArMTE3NSw3IEBAIFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJv
dG90eXBlID0gewogICAgICAgICBpZiAodGhpcy5fbmV3UHJvcGVydHkpCiAgICAgICAgICAgICB0
aGlzLnRyZWVPdXRsaW5lLnJlbW92ZUNoaWxkKHRoaXMpOwogICAgICAgICBlbHNlIGlmICh0aGlz
Lm9yaWdpbmFsQ1NTVGV4dCkgewotICAgICAgICAgICAgSW5zcGVjdG9yQ29udHJvbGxlci5zZXRT
dHlsZVRleHQodGhpcy5zdHlsZS5pZCwgdGhpcy5vcmlnaW5hbENTU1RleHQpOworICAgICAgICAg
ICAgSW5qZWN0ZWRTY3JpcHRBY2Nlc3Muc2V0U3R5bGVUZXh0KHRoaXMuc3R5bGUuaWQsIHRoaXMu
b3JpZ2luYWxDU1NUZXh0KTsKIAogICAgICAgICAgICAgaWYgKHRoaXMudHJlZU91dGxpbmUuc2Vj
dGlvbiAmJiB0aGlzLnRyZWVPdXRsaW5lLnNlY3Rpb24ucGFuZSkKICAgICAgICAgICAgICAgICB0
aGlzLnRyZWVPdXRsaW5lLnNlY3Rpb24ucGFuZS5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoInN0
eWxlIGVkaXRlZCIpOwpAQCAtMTI5NCw3ICsxMjk0LDcgQEAgV2ViSW5zcGVjdG9yLlN0eWxlUHJv
cGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBpZiAoIXNlbGYucnVs
ZSkKICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnRyZWVPdXRs
aW5lLnVwZGF0ZSgpOwogICAgICAgICB9OwotICAgICAgICBJbnNwZWN0b3JDb250cm9sbGVyLmFw
cGx5U3R5bGVUZXh0KHRoaXMuc3R5bGUuaWQsIHN0eWxlVGV4dC50cmltV2hpdGVzcGFjZSgpLCB0
aGlzLm5hbWUsIGNhbGxiYWNrKTsKKyAgICAgICAgSW5qZWN0ZWRTY3JpcHRBY2Nlc3MuYXBwbHlT
dHlsZVRleHQodGhpcy5zdHlsZS5pZCwgc3R5bGVUZXh0LnRyaW1XaGl0ZXNwYWNlKCksIHRoaXMu
bmFtZSwgY2FsbGJhY2spOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L2luc3BlY3Rvci5odG1sCmluZGV4IDRhNTM2ZDEuLjZmNWRhNDMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAorKysgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKQEAgLTg4LDYgKzg4LDcgQEAgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
ICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJQcm9maWxlVmlldy5qcyI+
PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iRE9NQWdl
bnQuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
IkluamVjdGVkU2NyaXB0LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSJJbmplY3RlZFNjcmlwdEFjY2Vzcy5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+
CiA8Ym9keSBjbGFzcz0iZGV0YWNoZWQiPgogICAgIDxkaXYgaWQ9InRvb2xiYXIiPgo=
</data>
<flag name="review"
          id="19934"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>