<?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>96515</bug_id>
          
          <creation_ts>2012-09-12 07:53:22 -0700</creation_ts>
          <short_desc>Web Inspector: [WebGL] Refactoring: move the proxy wrapping method up to the base class</short_desc>
          <delta_ts>2012-09-14 02:01:48 -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="Andrey Adaikin">aandrey</reporter>
          <assigned_to name="Andrey Adaikin">aandrey</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>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>718353</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-09-12 07:53:22 -0700</bug_when>
    <thetext>Move the proxyObject() method up from WebGLRenderingContextResource to the Resource class, so that it could be reused later for wrapping a 2D context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718357</commentid>
    <comment_count>1</comment_count>
      <attachid>163628</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-09-12 07:54:42 -0700</bug_when>
    <thetext>Created attachment 163628
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720452</commentid>
    <comment_count>2</comment_count>
      <attachid>163628</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-14 02:01:45 -0700</bug_when>
    <thetext>Comment on attachment 163628
Patch

Clearing flags on attachment: 163628

Committed r128571: &lt;http://trac.webkit.org/changeset/128571&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720453</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-14 02:01:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163628</attachid>
            <date>2012-09-12 07:54:42 -0700</date>
            <delta_ts>2012-09-14 02:01:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96515-20120912185415.patch</filename>
            <type>text/plain</type>
            <size>21380</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MzA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzkzYWI0ZjJiZjJlZDJi
NGMxZjlhZWZlNThiYjEwNDY5ZDc5ZTcwNy4uNWRjYTMzYzUzZGNlNzE5NGIzNzliYzcyYzE3MzU3
NDZjZTdjY2ZhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA5LTEyICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gUmVmYWN0b3Jpbmc6IG1vdmUgdGhlIHByb3h5IHdyYXBwaW5nIG1ldGhvZCB1
cCB0byB0aGUgYmFzZSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTY1MTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBNb3ZlIHRoZSBwcm94eU9iamVjdCgpIG1ldGhvZCB1cCBmcm9tIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dFJlc291cmNlIHRvIHRoZSBSZXNvdXJjZSBjbGFzcywgc28gdGhhdCBpdCBj
b3VsZCBiZSByZXVzZWQgbGF0ZXIgZm9yIHdyYXBwaW5nIGEgMkQgY29udGV4dC4KKworICAgICAg
ICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdFdlYkdMTW9kdWxlU291cmNlLmpzOgorICAgICAg
ICAoLik6CisKIDIwMTItMDktMTIgIEZsb3JpbiBNYWxpdGEgIDxmbWFsaXRhQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBnZXRTY3JlZW5DVE0gcmV0dXJucyBkaWZmZXJlbnQgdmFsdWVzIGRlcGVu
ZGluZyBvbiB6b29tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0
ZWRTY3JpcHRXZWJHTE1vZHVsZVNvdXJjZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bmplY3RlZFNjcmlwdFdlYkdMTW9kdWxlU291cmNlLmpzCmluZGV4IGRkM2I1Yjc3MjAzNWI3ZDJj
MTQ3ZTUyMmViM2E0M2MyODIyZGU4ZGYuLjY3ODBhZjNjNDE1MjVjOThlNzZiZGI4MDM1NzBlZWMz
YjhjYjc3YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNj
cmlwdFdlYkdMTW9kdWxlU291cmNlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bmplY3RlZFNjcmlwdFdlYkdMTW9kdWxlU291cmNlLmpzCkBAIC01NTksOCArNTU5LDkgQEAgUmVz
b3VyY2UucHJvdG90eXBlID0gewogICAgICAqLwogICAgIHByb3h5T2JqZWN0OiBmdW5jdGlvbigp
CiAgICAgewotICAgICAgICAvLyBObyBwcm94eSB3cmFwcGluZyBieSBkZWZhdWx0LgotICAgICAg
ICByZXR1cm4gdGhpcy53cmFwcGVkT2JqZWN0KCk7CisgICAgICAgIGlmICghdGhpcy5fcHJveHlP
YmplY3QpCisgICAgICAgICAgICB0aGlzLl9wcm94eU9iamVjdCA9IHRoaXMuX3dyYXBPYmplY3Qo
KTsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3Byb3h5T2JqZWN0OwogICAgIH0sCiAKICAgICAvKioK
QEAgLTY2Nyw2ICs2NjgsMTY3IEBAIFJlc291cmNlLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAg
IGVudW1lcmFibGU6IGZhbHNlLAogICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAg
ICAgIH0pOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtPYmplY3R9CisgICAg
ICovCisgICAgX3dyYXBPYmplY3Q6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHZhciB3cmFw
cGVkT2JqZWN0ID0gdGhpcy53cmFwcGVkT2JqZWN0KCk7CisgICAgICAgIGlmICghd3JhcHBlZE9i
amVjdCkKKyAgICAgICAgICAgIHJldHVybiBudWxsOworICAgICAgICB2YXIgcHJveHkgPSBPYmpl
Y3QuY3JlYXRlKHdyYXBwZWRPYmplY3QuX19wcm90b19fKTsgLy8gSW4gb3JkZXIgdG8gZW11bGF0
ZSAiaW5zdGFuY2VvZiIuCisKKyAgICAgICAgdmFyIHNlbGYgPSB0aGlzOworICAgICAgICB2YXIg
Y3VzdG9tV3JhcEZ1bmN0aW9ucyA9IHRoaXMuX2N1c3RvbVdyYXBGdW5jdGlvbnMoKTsKKyAgICAg
ICAgZnVuY3Rpb24gcHJvY2Vzc1Byb3BlcnR5KHByb3BlcnR5KQorICAgICAgICB7CisgICAgICAg
ICAgICBpZiAodHlwZW9mIHdyYXBwZWRPYmplY3RbcHJvcGVydHldID09PSAiZnVuY3Rpb24iKSB7
CisgICAgICAgICAgICAgICAgdmFyIGN1c3RvbVdyYXBGdW5jdGlvbiA9IGN1c3RvbVdyYXBGdW5j
dGlvbnNbcHJvcGVydHldOworICAgICAgICAgICAgICAgIGlmIChjdXN0b21XcmFwRnVuY3Rpb24p
CisgICAgICAgICAgICAgICAgICAgIHByb3h5W3Byb3BlcnR5XSA9IHNlbGYuX3dyYXBDdXN0b21G
dW5jdGlvbihzZWxmLCB3cmFwcGVkT2JqZWN0LCB3cmFwcGVkT2JqZWN0W3Byb3BlcnR5XSwgcHJv
cGVydHksIGN1c3RvbVdyYXBGdW5jdGlvbik7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgICAgICBwcm94eVtwcm9wZXJ0eV0gPSBzZWxmLl93cmFwRnVuY3Rpb24oc2VsZiwg
d3JhcHBlZE9iamVjdCwgd3JhcHBlZE9iamVjdFtwcm9wZXJ0eV0sIHByb3BlcnR5KTsKKyAgICAg
ICAgICAgIH0gZWxzZSBpZiAoL15bQS1aMC05X10rJC8udGVzdChwcm9wZXJ0eSkgJiYgdHlwZW9m
IHdyYXBwZWRPYmplY3RbcHJvcGVydHldID09PSAibnVtYmVyIikgeworICAgICAgICAgICAgICAg
IC8vIEZhc3QgYWNjZXNzIHRvIGVudW1zIGFuZCBjb25zdGFudHMuCisgICAgICAgICAgICAgICAg
cHJveHlbcHJvcGVydHldID0gd3JhcHBlZE9iamVjdFtwcm9wZXJ0eV07CisgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm94eSwgcHJv
cGVydHksIHsKKyAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpCisgICAgICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkT2JqZWN0
W3Byb3BlcnR5XTsKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAg
c2V0OiBmdW5jdGlvbih2YWx1ZSkKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gRklYTUU6IExvZyB0aGUgc2V0dGVyIGNhbGxzLgorICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc29sZS5lcnJvcigiRklYTUU6IFNldHRpbmcgYW4gYXR0cmlidXRlICVz
IHdhcyBub3QgbG9nZ2VkLiIsIHByb3BlcnR5KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHdy
YXBwZWRPYmplY3RbcHJvcGVydHldID0gdmFsdWU7CisgICAgICAgICAgICAgICAgICAgIH0sCisg
ICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIHZhciBpc0VtcHR5ID0gdHJ1ZTsK
KyAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gd3JhcHBlZE9iamVjdCkgeworICAgICAgICAg
ICAgaXNFbXB0eSA9IGZhbHNlOworICAgICAgICAgICAgcHJvY2Vzc1Byb3BlcnR5KHByb3BlcnR5
KTsKKyAgICAgICAgfQorICAgICAgICBpZiAoaXNFbXB0eSkKKyAgICAgICAgICAgIHJldHVybiB3
cmFwcGVkT2JqZWN0OyAvLyBOb3RoaW5nIHRvIHByb3h5LgorCisgICAgICAgIHRoaXMuX2JpbmRP
YmplY3RUb1Jlc291cmNlKHByb3h5KTsKKyAgICAgICAgcmV0dXJuIHByb3h5OworICAgIH0sCisK
KyAgICAvKioKKyAgICAgKiBAcGFyYW0ge1Jlc291cmNlfSByZXNvdXJjZQorICAgICAqIEBwYXJh
bSB7T2JqZWN0fSBvcmlnaW5hbE9iamVjdAorICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IG9yaWdp
bmFsRnVuY3Rpb24KKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gZnVuY3Rpb25OYW1lCisgICAgICog
QHBhcmFtIHtGdW5jdGlvbn0gY3VzdG9tV3JhcEZ1bmN0aW9uCisgICAgICogQHJldHVybiB7RnVu
Y3Rpb259CisgICAgICovCisgICAgX3dyYXBDdXN0b21GdW5jdGlvbjogZnVuY3Rpb24ocmVzb3Vy
Y2UsIG9yaWdpbmFsT2JqZWN0LCBvcmlnaW5hbEZ1bmN0aW9uLCBmdW5jdGlvbk5hbWUsIGN1c3Rv
bVdyYXBGdW5jdGlvbikKKyAgICB7CisgICAgICAgIHJldHVybiBmdW5jdGlvbigpCisgICAgICAg
IHsKKyAgICAgICAgICAgIHZhciBtYW5hZ2VyID0gcmVzb3VyY2UubWFuYWdlcigpOworICAgICAg
ICAgICAgdmFyIGlzQ2FwdHVyaW5nID0gbWFuYWdlciAmJiBtYW5hZ2VyLmNhcHR1cmluZygpOwor
ICAgICAgICAgICAgaWYgKGlzQ2FwdHVyaW5nKQorICAgICAgICAgICAgICAgIG1hbmFnZXIuY2Fw
dHVyZUFyZ3VtZW50cyhyZXNvdXJjZSwgYXJndW1lbnRzKTsKKyAgICAgICAgICAgIHZhciB3cmFw
RnVuY3Rpb24gPSBuZXcgUmVzb3VyY2UuV3JhcEZ1bmN0aW9uKG9yaWdpbmFsT2JqZWN0LCBvcmln
aW5hbEZ1bmN0aW9uLCBmdW5jdGlvbk5hbWUsIGFyZ3VtZW50cyk7CisgICAgICAgICAgICBjdXN0
b21XcmFwRnVuY3Rpb24uYXBwbHkod3JhcEZ1bmN0aW9uLCBhcmd1bWVudHMpOworICAgICAgICAg
ICAgaWYgKGlzQ2FwdHVyaW5nKSB7CisgICAgICAgICAgICAgICAgdmFyIGNhbGwgPSB3cmFwRnVu
Y3Rpb24uY2FsbCgpOworICAgICAgICAgICAgICAgIGNhbGwuc2V0U3RhY2tUcmFjZShTdGFja1Ry
YWNlLmNyZWF0ZSgxLCBhcmd1bWVudHMuY2FsbGVlKSk7CisgICAgICAgICAgICAgICAgbWFuYWdl
ci5yZXBvcnRDYWxsKGNhbGwpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIHdy
YXBGdW5jdGlvbi5yZXN1bHQoKTsKKyAgICAgICAgfTsKKyAgICB9LAorCisgICAgLyoqCisgICAg
ICogQHBhcmFtIHtSZXNvdXJjZX0gcmVzb3VyY2UKKyAgICAgKiBAcGFyYW0ge09iamVjdH0gb3Jp
Z2luYWxPYmplY3QKKyAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcmlnaW5hbEZ1bmN0aW9uCisg
ICAgICogQHBhcmFtIHtzdHJpbmd9IGZ1bmN0aW9uTmFtZQorICAgICAqIEByZXR1cm4ge0Z1bmN0
aW9ufQorICAgICAqLworICAgIF93cmFwRnVuY3Rpb246IGZ1bmN0aW9uKHJlc291cmNlLCBvcmln
aW5hbE9iamVjdCwgb3JpZ2luYWxGdW5jdGlvbiwgZnVuY3Rpb25OYW1lKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGZ1bmN0aW9uKCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIG1hbmFnZXIg
PSByZXNvdXJjZS5tYW5hZ2VyKCk7CisgICAgICAgICAgICBpZiAoIW1hbmFnZXIgfHwgIW1hbmFn
ZXIuY2FwdHVyaW5nKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsRnVuY3Rpb24u
YXBwbHkob3JpZ2luYWxPYmplY3QsIGFyZ3VtZW50cyk7CisgICAgICAgICAgICBtYW5hZ2VyLmNh
cHR1cmVBcmd1bWVudHMocmVzb3VyY2UsIGFyZ3VtZW50cyk7CisgICAgICAgICAgICB2YXIgcmVz
dWx0ID0gb3JpZ2luYWxGdW5jdGlvbi5hcHBseShvcmlnaW5hbE9iamVjdCwgYXJndW1lbnRzKTsK
KyAgICAgICAgICAgIHZhciBzdGFja1RyYWNlID0gU3RhY2tUcmFjZS5jcmVhdGUoMSwgYXJndW1l
bnRzLmNhbGxlZSk7CisgICAgICAgICAgICB2YXIgY2FsbCA9IG5ldyBDYWxsKHJlc291cmNlLCBm
dW5jdGlvbk5hbWUsIGFyZ3VtZW50cywgcmVzdWx0LCBzdGFja1RyYWNlKTsKKyAgICAgICAgICAg
IG1hbmFnZXIucmVwb3J0Q2FsbChjYWxsKTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7Cisg
ICAgICAgIH07CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEByZXR1cm4ge09iamVjdC48c3Ry
aW5nLCBGdW5jdGlvbj59CisgICAgICovCisgICAgX2N1c3RvbVdyYXBGdW5jdGlvbnM6IGZ1bmN0
aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiB7fTsgLy8gTWF5IGJlIG92ZXJyaWRkZW4gYnkg
c3ViY2xhc3Nlcy4KKyAgICB9Cit9CisKKy8qKgorICogQGNvbnN0cnVjdG9yCisgKiBAcGFyYW0g
e09iamVjdH0gb3JpZ2luYWxPYmplY3QKKyAqIEBwYXJhbSB7RnVuY3Rpb259IG9yaWdpbmFsRnVu
Y3Rpb24KKyAqIEBwYXJhbSB7c3RyaW5nfSBmdW5jdGlvbk5hbWUKKyAqIEBwYXJhbSB7QXJyYXl8
QXJndW1lbnRzfSBhcmdzCisgKi8KK1Jlc291cmNlLldyYXBGdW5jdGlvbiA9IGZ1bmN0aW9uKG9y
aWdpbmFsT2JqZWN0LCBvcmlnaW5hbEZ1bmN0aW9uLCBmdW5jdGlvbk5hbWUsIGFyZ3MpCit7Cisg
ICAgdGhpcy5fb3JpZ2luYWxPYmplY3QgPSBvcmlnaW5hbE9iamVjdDsKKyAgICB0aGlzLl9vcmln
aW5hbEZ1bmN0aW9uID0gb3JpZ2luYWxGdW5jdGlvbjsKKyAgICB0aGlzLl9mdW5jdGlvbk5hbWUg
PSBmdW5jdGlvbk5hbWU7CisgICAgdGhpcy5fYXJncyA9IGFyZ3M7CisgICAgdGhpcy5fcmVzb3Vy
Y2UgPSBSZXNvdXJjZS5mb3JPYmplY3Qob3JpZ2luYWxPYmplY3QpOworICAgIGNvbnNvbGUuYXNz
ZXJ0KHRoaXMuX3Jlc291cmNlLCAiRXhwZWN0ZWQgYSB3cmFwcGVkIGNhbGwgb24gYSBSZXNvdXJj
ZSBvYmplY3QuIik7Cit9CisKK1Jlc291cmNlLldyYXBGdW5jdGlvbi5wcm90b3R5cGUgPSB7Cisg
ICAgLyoqCisgICAgICogQHJldHVybiB7Kn0KKyAgICAgKi8KKyAgICByZXN1bHQ6IGZ1bmN0aW9u
KCkKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5fZXhlY3V0ZWQpIHsKKyAgICAgICAgICAgIHRo
aXMuX2V4ZWN1dGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIHRoaXMuX3Jlc3VsdCA9IHRoaXMuX29y
aWdpbmFsRnVuY3Rpb24uYXBwbHkodGhpcy5fb3JpZ2luYWxPYmplY3QsIHRoaXMuX2FyZ3MpOwor
ICAgICAgICB9CisgICAgICAgIHJldHVybiB0aGlzLl9yZXN1bHQ7CisgICAgfSwKKworICAgIC8q
KgorICAgICAqIEByZXR1cm4ge0NhbGx9CisgICAgICovCisgICAgY2FsbDogZnVuY3Rpb24oKQor
ICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLl9jYWxsKQorICAgICAgICAgICAgdGhpcy5fY2FsbCA9
IG5ldyBDYWxsKHRoaXMuX3Jlc291cmNlLCB0aGlzLl9mdW5jdGlvbk5hbWUsIHRoaXMuX2FyZ3Ms
IHRoaXMucmVzdWx0KCkpOworICAgICAgICByZXR1cm4gdGhpcy5fY2FsbDsKKyAgICB9LAorCisg
ICAgLyoqCisgICAgICogQHBhcmFtIHsqfSByZXN1bHQKKyAgICAgKi8KKyAgICBvdmVycmlkZVJl
c3VsdDogZnVuY3Rpb24ocmVzdWx0KQorICAgIHsKKyAgICAgICAgdmFyIGNhbGwgPSB0aGlzLmNh
bGwoKTsKKyAgICAgICAgY2FsbC5zZXRSZXN1bHQocmVzdWx0KTsKKyAgICAgICAgdGhpcy5fcmVz
dWx0ID0gcmVzdWx0OwogICAgIH0KIH0KIApAQCAtMTExMCw3ICsxMjcyLDYgQEAgZnVuY3Rpb24g
V2ViR0xSZW5kZXJpbmdDb250ZXh0UmVzb3VyY2UoZ2xDb250ZXh0LCByZXBsYXlDb250ZXh0Q2Fs
bGJhY2spCiB7CiAgICAgUmVzb3VyY2UuY2FsbCh0aGlzLCBnbENvbnRleHQpOwogICAgIHRoaXMu
X3JlcGxheUNvbnRleHRDYWxsYmFjayA9IHJlcGxheUNvbnRleHRDYWxsYmFjazsKLSAgICB0aGlz
Ll9wcm94eU9iamVjdCA9IG51bGw7CiAgICAgLyoqIEB0eXBlIHtPYmplY3QuPG51bWJlciwgYm9v
bGVhbj59ICovCiAgICAgdGhpcy5fY3VzdG9tRXJyb3JzID0gbnVsbDsKIH0KQEAgLTEyMTcsMTYg
KzEzNzgsNiBAQCBXZWJHTFJlbmRlcmluZ0NvbnRleHRSZXNvdXJjZS5mb3JPYmplY3QgPSBmdW5j
dGlvbihvYmopCiAKIFdlYkdMUmVuZGVyaW5nQ29udGV4dFJlc291cmNlLnByb3RvdHlwZSA9IHsK
ICAgICAvKioKLSAgICAgKiBAcmV0dXJuIHtPYmplY3R9Ci0gICAgICovCi0gICAgcHJveHlPYmpl
Y3Q6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIGlmICghdGhpcy5fcHJveHlPYmplY3QpCi0g
ICAgICAgICAgICB0aGlzLl9wcm94eU9iamVjdCA9IHRoaXMuX3dyYXBPYmplY3QoKTsKLSAgICAg
ICAgcmV0dXJuIHRoaXMuX3Byb3h5T2JqZWN0OwotICAgIH0sCi0KLSAgICAvKioKICAgICAgKiBA
cmV0dXJuIHtBcnJheS48bnVtYmVyPn0KICAgICAgKi8KICAgICBnZXRBbGxFcnJvcnM6IGZ1bmN0
aW9uKCkKQEAgLTEzNjIsNyArMTUxMyw2IEBAIFdlYkdMUmVuZGVyaW5nQ29udGV4dFJlc291cmNl
LnByb3RvdHlwZSA9IHsKICAgICBfZG9SZXBsYXlDYWxsczogZnVuY3Rpb24oZGF0YSwgY2FjaGUp
CiAgICAgewogICAgICAgICB0aGlzLl9yZXBsYXlDb250ZXh0Q2FsbGJhY2sgPSBkYXRhLnJlcGxh
eUNvbnRleHRDYWxsYmFjazsKLSAgICAgICAgdGhpcy5fcHJveHlPYmplY3QgPSBudWxsOwogICAg
ICAgICB0aGlzLl9jdXN0b21FcnJvcnMgPSBudWxsOwogCiAgICAgICAgIHZhciBnbCA9IFJlc291
cmNlLndyYXBwZWRPYmplY3QodGhpcy5fcmVwbGF5Q29udGV4dENhbGxiYWNrKCkpOwpAQCAtMTUw
MiwyNDggKzE2NTIsMTA3IEBAIFdlYkdMUmVuZGVyaW5nQ29udGV4dFJlc291cmNlLnByb3RvdHlw
ZSA9IHsKICAgICB9LAogCiAgICAgLyoqCi0gICAgICogQHJldHVybiB7T2JqZWN0fQotICAgICAq
LwotICAgIF93cmFwT2JqZWN0OiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICB2YXIgZ2wgPSB0
aGlzLndyYXBwZWRPYmplY3QoKTsKLSAgICAgICAgdmFyIHByb3h5ID0gT2JqZWN0LmNyZWF0ZShn
bC5fX3Byb3RvX18pOyAvLyBJbiBvcmRlciB0byBlbXVsYXRlICJpbnN0YW5jZW9mIi4KLQotICAg
ICAgICB2YXIgc2VsZiA9IHRoaXM7Ci0gICAgICAgIHZhciBjdXN0b21XcmFwRnVuY3Rpb25zID0g
V2ViR0xSZW5kZXJpbmdDb250ZXh0UmVzb3VyY2Uud3JhcEZ1bmN0aW9ucygpOwotICAgICAgICBm
dW5jdGlvbiBwcm9jZXNzUHJvcGVydHkocHJvcGVydHkpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IGlmICh0eXBlb2YgZ2xbcHJvcGVydHldID09PSAiZnVuY3Rpb24iKSB7Ci0gICAgICAgICAgICAg
ICAgdmFyIGN1c3RvbVdyYXBGdW5jdGlvbiA9IGN1c3RvbVdyYXBGdW5jdGlvbnNbcHJvcGVydHld
OwotICAgICAgICAgICAgICAgIGlmIChjdXN0b21XcmFwRnVuY3Rpb24pCi0gICAgICAgICAgICAg
ICAgICAgIHByb3h5W3Byb3BlcnR5XSA9IHNlbGYuX3dyYXBDdXN0b21GdW5jdGlvbihzZWxmLCBn
bCwgZ2xbcHJvcGVydHldLCBwcm9wZXJ0eSwgY3VzdG9tV3JhcEZ1bmN0aW9uKTsKLSAgICAgICAg
ICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHByb3h5W3Byb3BlcnR5XSA9IHNlbGYu
X3dyYXBGdW5jdGlvbihzZWxmLCBnbCwgZ2xbcHJvcGVydHldLCBwcm9wZXJ0eSk7Ci0gICAgICAg
ICAgICB9IGVsc2UgaWYgKC9eW0EtWjAtOV9dKyQvLnRlc3QocHJvcGVydHkpKSB7Ci0gICAgICAg
ICAgICAgICAgLy8gRmFzdCBhY2Nlc3MgdG8gZW51bXMgYW5kIGNvbnN0YW50cy4KLSAgICAgICAg
ICAgICAgICBjb25zb2xlLmFzc2VydCh0eXBlb2YgZ2xbcHJvcGVydHldID09PSAibnVtYmVyIiwg
IkV4cGVjdGVkIGEgbnVtYmVyIGZvciBwcm9wZXJ0eSAiICsgcHJvcGVydHkpOwotICAgICAgICAg
ICAgICAgIHByb3h5W3Byb3BlcnR5XSA9IGdsW3Byb3BlcnR5XTsKLSAgICAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3h5LCBwcm9wZXJ0
eSwgewotICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkKLSAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdsW3Byb3BlcnR5XTsKLSAg
ICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbih2
YWx1ZSkKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgY29u
c29sZS5lcnJvcigiQVNTRVJUX05PVF9SRUFDSEVEOiBXZSBhc3N1bWUgYWxsIFdlYkdMUmVuZGVy
aW5nQ29udGV4dCBhdHRyaWJ1dGVzIGFyZSByZWFkb25seS4gVHJ5aW5nIHRvIG11dGF0ZSAiICsg
cHJvcGVydHkpOwotICAgICAgICAgICAgICAgICAgICAgICAgZ2xbcHJvcGVydHldID0gdmFsdWU7
Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfQotCi0gICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIGdsKQotICAgICAg
ICAgICAgcHJvY2Vzc1Byb3BlcnR5KHByb3BlcnR5KTsKLQotICAgICAgICB0aGlzLl9iaW5kT2Jq
ZWN0VG9SZXNvdXJjZShwcm94eSk7Ci0gICAgICAgIHJldHVybiBwcm94eTsKLSAgICB9LAotCi0g
ICAgLyoqCi0gICAgICogQHBhcmFtIHtSZXNvdXJjZX0gcmVzb3VyY2UKLSAgICAgKiBAcGFyYW0g
e1dlYkdMUmVuZGVyaW5nQ29udGV4dH0gb3JpZ2luYWxPYmplY3QKLSAgICAgKiBAcGFyYW0ge0Z1
bmN0aW9ufSBvcmlnaW5hbEZ1bmN0aW9uCi0gICAgICogQHBhcmFtIHtzdHJpbmd9IGZ1bmN0aW9u
TmFtZQotICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGN1c3RvbVdyYXBGdW5jdGlvbgotICAgICAq
IEByZXR1cm4ge0Z1bmN0aW9ufQotICAgICAqLwotICAgIF93cmFwQ3VzdG9tRnVuY3Rpb246IGZ1
bmN0aW9uKHJlc291cmNlLCBvcmlnaW5hbE9iamVjdCwgb3JpZ2luYWxGdW5jdGlvbiwgZnVuY3Rp
b25OYW1lLCBjdXN0b21XcmFwRnVuY3Rpb24pCi0gICAgewotICAgICAgICByZXR1cm4gZnVuY3Rp
b24oKQotICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgbWFuYWdlciA9IHJlc291cmNlLm1hbmFn
ZXIoKTsKLSAgICAgICAgICAgIGlmIChtYW5hZ2VyKQotICAgICAgICAgICAgICAgIG1hbmFnZXIu
Y2FwdHVyZUFyZ3VtZW50cyhyZXNvdXJjZSwgYXJndW1lbnRzKTsKLSAgICAgICAgICAgIHZhciB3
cmFwRnVuY3Rpb24gPSBuZXcgV2ViR0xSZW5kZXJpbmdDb250ZXh0UmVzb3VyY2UuV3JhcEZ1bmN0
aW9uKG9yaWdpbmFsT2JqZWN0LCBvcmlnaW5hbEZ1bmN0aW9uLCBmdW5jdGlvbk5hbWUsIGFyZ3Vt
ZW50cyk7Ci0gICAgICAgICAgICBjdXN0b21XcmFwRnVuY3Rpb24uYXBwbHkod3JhcEZ1bmN0aW9u
LCBhcmd1bWVudHMpOwotICAgICAgICAgICAgaWYgKG1hbmFnZXIgJiYgbWFuYWdlci5jYXB0dXJp
bmcoKSkgewotICAgICAgICAgICAgICAgIHZhciBjYWxsID0gd3JhcEZ1bmN0aW9uLmNhbGwoKTsK
LSAgICAgICAgICAgICAgICBjYWxsLnNldFN0YWNrVHJhY2UoU3RhY2tUcmFjZS5jcmVhdGUoMSwg
YXJndW1lbnRzLmNhbGxlZSkpOwotICAgICAgICAgICAgICAgIG1hbmFnZXIucmVwb3J0Q2FsbChj
YWxsKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiB3cmFwRnVuY3Rpb24ucmVz
dWx0KCk7Ci0gICAgICAgIH07Ci0gICAgfSwKLQotICAgIC8qKgotICAgICAqIEBwYXJhbSB7UmVz
b3VyY2V9IHJlc291cmNlCi0gICAgICogQHBhcmFtIHtXZWJHTFJlbmRlcmluZ0NvbnRleHR9IG9y
aWdpbmFsT2JqZWN0Ci0gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3JpZ2luYWxGdW5jdGlvbgot
ICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmdW5jdGlvbk5hbWUKLSAgICAgKiBAcmV0dXJuIHtGdW5j
dGlvbn0KLSAgICAgKi8KLSAgICBfd3JhcEZ1bmN0aW9uOiBmdW5jdGlvbihyZXNvdXJjZSwgb3Jp
Z2luYWxPYmplY3QsIG9yaWdpbmFsRnVuY3Rpb24sIGZ1bmN0aW9uTmFtZSkKLSAgICB7Ci0gICAg
ICAgIHJldHVybiBmdW5jdGlvbigpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciBtYW5hZ2Vy
ID0gcmVzb3VyY2UubWFuYWdlcigpOwotICAgICAgICAgICAgaWYgKCFtYW5hZ2VyIHx8ICFtYW5h
Z2VyLmNhcHR1cmluZygpKQotICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbEZ1bmN0aW9u
LmFwcGx5KG9yaWdpbmFsT2JqZWN0LCBhcmd1bWVudHMpOwotICAgICAgICAgICAgbWFuYWdlci5j
YXB0dXJlQXJndW1lbnRzKHJlc291cmNlLCBhcmd1bWVudHMpOwotICAgICAgICAgICAgdmFyIHJl
c3VsdCA9IG9yaWdpbmFsRnVuY3Rpb24uYXBwbHkob3JpZ2luYWxPYmplY3QsIGFyZ3VtZW50cyk7
Ci0gICAgICAgICAgICB2YXIgc3RhY2tUcmFjZSA9IFN0YWNrVHJhY2UuY3JlYXRlKDEsIGFyZ3Vt
ZW50cy5jYWxsZWUpOwotICAgICAgICAgICAgdmFyIGNhbGwgPSBuZXcgQ2FsbChyZXNvdXJjZSwg
ZnVuY3Rpb25OYW1lLCBhcmd1bWVudHMsIHJlc3VsdCwgc3RhY2tUcmFjZSk7Ci0gICAgICAgICAg
ICBtYW5hZ2VyLnJlcG9ydENhbGwoY2FsbCk7Ci0gICAgICAgICAgICByZXR1cm4gcmVzdWx0Owot
ICAgICAgICB9OwotICAgIH0KLX0KLQotV2ViR0xSZW5kZXJpbmdDb250ZXh0UmVzb3VyY2UucHJv
dG90eXBlLl9fcHJvdG9fXyA9IFJlc291cmNlLnByb3RvdHlwZTsKLQotLyoqCi0gKiBAY29uc3Ry
dWN0b3IKLSAqIEBwYXJhbSB7V2ViR0xSZW5kZXJpbmdDb250ZXh0fSBvcmlnaW5hbE9iamVjdAot
ICogQHBhcmFtIHtGdW5jdGlvbn0gb3JpZ2luYWxGdW5jdGlvbgotICogQHBhcmFtIHtzdHJpbmd9
IGZ1bmN0aW9uTmFtZQotICogQHBhcmFtIHtBcnJheXxBcmd1bWVudHN9IGFyZ3MKLSAqLwotV2Vi
R0xSZW5kZXJpbmdDb250ZXh0UmVzb3VyY2UuV3JhcEZ1bmN0aW9uID0gZnVuY3Rpb24ob3JpZ2lu
YWxPYmplY3QsIG9yaWdpbmFsRnVuY3Rpb24sIGZ1bmN0aW9uTmFtZSwgYXJncykKLXsKLSAgICB0
aGlzLl9vcmlnaW5hbE9iamVjdCA9IG9yaWdpbmFsT2JqZWN0OwotICAgIHRoaXMuX29yaWdpbmFs
RnVuY3Rpb24gPSBvcmlnaW5hbEZ1bmN0aW9uOwotICAgIHRoaXMuX2Z1bmN0aW9uTmFtZSA9IGZ1
bmN0aW9uTmFtZTsKLSAgICB0aGlzLl9hcmdzID0gYXJnczsKLSAgICB0aGlzLl9nbFJlc291cmNl
ID0gUmVzb3VyY2UuZm9yT2JqZWN0KG9yaWdpbmFsT2JqZWN0KTsKLX0KLQotV2ViR0xSZW5kZXJp
bmdDb250ZXh0UmVzb3VyY2UuV3JhcEZ1bmN0aW9uLnByb3RvdHlwZSA9IHsKLSAgICAvKioKLSAg
ICAgKiBAcmV0dXJuIHsqfQotICAgICAqLwotICAgIHJlc3VsdDogZnVuY3Rpb24oKQotICAgIHsK
LSAgICAgICAgaWYgKCF0aGlzLl9leGVjdXRlZCkgewotICAgICAgICAgICAgdGhpcy5fZXhlY3V0
ZWQgPSB0cnVlOwotICAgICAgICAgICAgdGhpcy5fcmVzdWx0ID0gdGhpcy5fb3JpZ2luYWxGdW5j
dGlvbi5hcHBseSh0aGlzLl9vcmlnaW5hbE9iamVjdCwgdGhpcy5fYXJncyk7Ci0gICAgICAgIH0K
LSAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc3VsdDsKLSAgICB9LAotCi0gICAgLyoqCi0gICAgICog
QHJldHVybiB7Q2FsbH0KLSAgICAgKi8KLSAgICBjYWxsOiBmdW5jdGlvbigpCi0gICAgewotICAg
ICAgICBpZiAoIXRoaXMuX2NhbGwpCi0gICAgICAgICAgICB0aGlzLl9jYWxsID0gbmV3IENhbGwo
dGhpcy5fZ2xSZXNvdXJjZSwgdGhpcy5fZnVuY3Rpb25OYW1lLCB0aGlzLl9hcmdzLCB0aGlzLnJl
c3VsdCgpKTsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2NhbGw7Ci0gICAgfSwKLQotICAgIC8qKgot
ICAgICAqIEBwYXJhbSB7Kn0gcmVzdWx0CisgICAgICogQG92ZXJyaWRlCisgICAgICogQHJldHVy
biB7T2JqZWN0LjxzdHJpbmcsIEZ1bmN0aW9uPn0KICAgICAgKi8KLSAgICBfb3ZlcnJpZGVSZXN1
bHQ6IGZ1bmN0aW9uKHJlc3VsdCkKKyAgICBfY3VzdG9tV3JhcEZ1bmN0aW9uczogZnVuY3Rpb24o
KQogICAgIHsKLSAgICAgICAgdmFyIGNhbGwgPSB0aGlzLmNhbGwoKTsKLSAgICAgICAgY2FsbC5z
ZXRSZXN1bHQocmVzdWx0KTsKLSAgICAgICAgdGhpcy5fcmVzdWx0ID0gcmVzdWx0OwotICAgIH0K
LX0KKyAgICAgICAgdmFyIHdyYXBGdW5jdGlvbnMgPSBXZWJHTFJlbmRlcmluZ0NvbnRleHRSZXNv
dXJjZS5fd3JhcEZ1bmN0aW9uczsKKyAgICAgICAgaWYgKCF3cmFwRnVuY3Rpb25zKSB7CisgICAg
ICAgICAgICB3cmFwRnVuY3Rpb25zID0gT2JqZWN0LmNyZWF0ZShudWxsKTsKIAotLyoqCi0gKiBA
cmV0dXJuIHtPYmplY3QuPHN0cmluZywgRnVuY3Rpb24+fQotICovCi1XZWJHTFJlbmRlcmluZ0Nv
bnRleHRSZXNvdXJjZS53cmFwRnVuY3Rpb25zID0gZnVuY3Rpb24oKQotewotICAgIHZhciB3cmFw
RnVuY3Rpb25zID0gV2ViR0xSZW5kZXJpbmdDb250ZXh0UmVzb3VyY2UuX3dyYXBGdW5jdGlvbnM7
Ci0gICAgaWYgKCF3cmFwRnVuY3Rpb25zKSB7Ci0gICAgICAgIHdyYXBGdW5jdGlvbnMgPSBPYmpl
Y3QuY3JlYXRlKG51bGwpOwotCi0gICAgICAgIC8qKgotICAgICAgICAgKiBAcGFyYW0ge3N0cmlu
Z30gbWV0aG9kTmFtZQotICAgICAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSByZXNvdXJjZUNvbnN0
cnVjdG9yCi0gICAgICAgICAqLwotICAgICAgICBmdW5jdGlvbiBjcmVhdGVSZXNvdXJjZVdyYXBG
dW5jdGlvbihtZXRob2ROYW1lLCByZXNvdXJjZUNvbnN0cnVjdG9yKQotICAgICAgICB7Ci0gICAg
ICAgICAgICAvKiogQHRoaXMgV2ViR0xSZW5kZXJpbmdDb250ZXh0UmVzb3VyY2UuV3JhcEZ1bmN0
aW9uICovCi0gICAgICAgICAgICB3cmFwRnVuY3Rpb25zW21ldGhvZE5hbWVdID0gZnVuY3Rpb24o
KQorICAgICAgICAgICAgLyoqCisgICAgICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ30gbWV0aG9k
TmFtZQorICAgICAgICAgICAgICogQHBhcmFtIHtGdW5jdGlvbn0gcmVzb3VyY2VDb25zdHJ1Y3Rv
cgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBmdW5jdGlvbiBjcmVhdGVSZXNvdXJjZVdy
YXBGdW5jdGlvbihtZXRob2ROYW1lLCByZXNvdXJjZUNvbnN0cnVjdG9yKQogICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgIHZhciB3cmFwcGVkT2JqZWN0ID0gdGhpcy5yZXN1bHQoKTsKLSAg
ICAgICAgICAgICAgICBpZiAoIXdyYXBwZWRPYmplY3QpCi0gICAgICAgICAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgICAgICAgICB2YXIgcmVzb3VyY2UgPSBuZXcgcmVzb3VyY2VDb25zdHJ1
Y3Rvcih3cmFwcGVkT2JqZWN0KTsKLSAgICAgICAgICAgICAgICB2YXIgbWFuYWdlciA9IHRoaXMu
X2dsUmVzb3VyY2UubWFuYWdlcigpOwotICAgICAgICAgICAgICAgIGlmIChtYW5hZ2VyKQotICAg
ICAgICAgICAgICAgICAgICBtYW5hZ2VyLnJlZ2lzdGVyUmVzb3VyY2UocmVzb3VyY2UpOwotICAg
ICAgICAgICAgICAgIHJlc291cmNlLnB1c2hDYWxsKHRoaXMuY2FsbCgpKTsKKyAgICAgICAgICAg
ICAgICAvKiogQHRoaXMgUmVzb3VyY2UuV3JhcEZ1bmN0aW9uICovCisgICAgICAgICAgICAgICAg
d3JhcEZ1bmN0aW9uc1ttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKCkKKyAgICAgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgICAgIHZhciB3cmFwcGVkT2JqZWN0ID0gdGhpcy5yZXN1bHQoKTsK
KyAgICAgICAgICAgICAgICAgICAgaWYgKCF3cmFwcGVkT2JqZWN0KQorICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgICAgICB2YXIgcmVzb3VyY2UgPSBuZXcg
cmVzb3VyY2VDb25zdHJ1Y3Rvcih3cmFwcGVkT2JqZWN0KTsKKyAgICAgICAgICAgICAgICAgICAg
dmFyIG1hbmFnZXIgPSB0aGlzLl9yZXNvdXJjZS5tYW5hZ2VyKCk7CisgICAgICAgICAgICAgICAg
ICAgIGlmIChtYW5hZ2VyKQorICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlci5yZWdpc3Rl
clJlc291cmNlKHJlc291cmNlKTsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5vdmVycmlkZVJl
c3VsdChyZXNvdXJjZS5wcm94eU9iamVjdCgpKTsKKyAgICAgICAgICAgICAgICAgICAgcmVzb3Vy
Y2UucHVzaENhbGwodGhpcy5jYWxsKCkpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IH0KLSAgICAgICAgfQotICAgICAgICBjcmVhdGVSZXNvdXJjZVdyYXBGdW5jdGlvbigiY3JlYXRl
QnVmZmVyIiwgV2ViR0xCdWZmZXJSZXNvdXJjZSk7Ci0gICAgICAgIGNyZWF0ZVJlc291cmNlV3Jh
cEZ1bmN0aW9uKCJjcmVhdGVTaGFkZXIiLCBXZWJHTFNoYWRlclJlc291cmNlKTsKLSAgICAgICAg
Y3JlYXRlUmVzb3VyY2VXcmFwRnVuY3Rpb24oImNyZWF0ZVByb2dyYW0iLCBXZWJHTFByb2dyYW1S
ZXNvdXJjZSk7Ci0gICAgICAgIGNyZWF0ZVJlc291cmNlV3JhcEZ1bmN0aW9uKCJjcmVhdGVUZXh0
dXJlIiwgV2ViR0xUZXh0dXJlUmVzb3VyY2UpOwotICAgICAgICBjcmVhdGVSZXNvdXJjZVdyYXBG
dW5jdGlvbigiY3JlYXRlRnJhbWVidWZmZXIiLCBXZWJHTEZyYW1lYnVmZmVyUmVzb3VyY2UpOwot
ICAgICAgICBjcmVhdGVSZXNvdXJjZVdyYXBGdW5jdGlvbigiY3JlYXRlUmVuZGVyYnVmZmVyIiwg
V2ViR0xSZW5kZXJidWZmZXJSZXNvdXJjZSk7Ci0gICAgICAgIGNyZWF0ZVJlc291cmNlV3JhcEZ1
bmN0aW9uKCJnZXRVbmlmb3JtTG9jYXRpb24iLCBSZXNvdXJjZSk7CisgICAgICAgICAgICBjcmVh
dGVSZXNvdXJjZVdyYXBGdW5jdGlvbigiY3JlYXRlQnVmZmVyIiwgV2ViR0xCdWZmZXJSZXNvdXJj
ZSk7CisgICAgICAgICAgICBjcmVhdGVSZXNvdXJjZVdyYXBGdW5jdGlvbigiY3JlYXRlU2hhZGVy
IiwgV2ViR0xTaGFkZXJSZXNvdXJjZSk7CisgICAgICAgICAgICBjcmVhdGVSZXNvdXJjZVdyYXBG
dW5jdGlvbigiY3JlYXRlUHJvZ3JhbSIsIFdlYkdMUHJvZ3JhbVJlc291cmNlKTsKKyAgICAgICAg
ICAgIGNyZWF0ZVJlc291cmNlV3JhcEZ1bmN0aW9uKCJjcmVhdGVUZXh0dXJlIiwgV2ViR0xUZXh0
dXJlUmVzb3VyY2UpOworICAgICAgICAgICAgY3JlYXRlUmVzb3VyY2VXcmFwRnVuY3Rpb24oImNy
ZWF0ZUZyYW1lYnVmZmVyIiwgV2ViR0xGcmFtZWJ1ZmZlclJlc291cmNlKTsKKyAgICAgICAgICAg
IGNyZWF0ZVJlc291cmNlV3JhcEZ1bmN0aW9uKCJjcmVhdGVSZW5kZXJidWZmZXIiLCBXZWJHTFJl
bmRlcmJ1ZmZlclJlc291cmNlKTsKKyAgICAgICAgICAgIGNyZWF0ZVJlc291cmNlV3JhcEZ1bmN0
aW9uKCJnZXRVbmlmb3JtTG9jYXRpb24iLCBSZXNvdXJjZSk7CiAKLSAgICAgICAgLyoqCi0gICAg
ICAgICAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2ROYW1lCi0gICAgICAgICAqLwotICAgICAgICBm
dW5jdGlvbiBjdXN0b21XcmFwRnVuY3Rpb24obWV0aG9kTmFtZSkKLSAgICAgICAgewotICAgICAg
ICAgICAgdmFyIGN1c3RvbVB1c2hDYWxsID0gInB1c2hDYWxsXyIgKyBtZXRob2ROYW1lOwogICAg
ICAgICAgICAgLyoqCi0gICAgICAgICAgICAgKiBAcGFyYW0ge09iamVjdHxudW1iZXJ9IHRhcmdl
dAotICAgICAgICAgICAgICogQHRoaXMgV2ViR0xSZW5kZXJpbmdDb250ZXh0UmVzb3VyY2UuV3Jh
cEZ1bmN0aW9uCisgICAgICAgICAgICAgKiBAcGFyYW0ge3N0cmluZ30gbWV0aG9kTmFtZQogICAg
ICAgICAgICAgICovCi0gICAgICAgICAgICB3cmFwRnVuY3Rpb25zW21ldGhvZE5hbWVdID0gZnVu
Y3Rpb24odGFyZ2V0KQorICAgICAgICAgICAgZnVuY3Rpb24gY3VzdG9tV3JhcEZ1bmN0aW9uKG1l
dGhvZE5hbWUpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdmFyIHJlc291cmNlID0g
dGhpcy5fZ2xSZXNvdXJjZS5jdXJyZW50QmluZGluZyh0YXJnZXQpOwotICAgICAgICAgICAgICAg
IGlmICghcmVzb3VyY2UpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAg
ICAgICBpZiAocmVzb3VyY2VbY3VzdG9tUHVzaENhbGxdKQotICAgICAgICAgICAgICAgICAgICBy
ZXNvdXJjZVtjdXN0b21QdXNoQ2FsbF0uY2FsbChyZXNvdXJjZSwgdGhpcy5jYWxsKCkpOwotICAg
ICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2UucHVzaENhbGwo
dGhpcy5jYWxsKCkpOworICAgICAgICAgICAgICAgIHZhciBjdXN0b21QdXNoQ2FsbCA9ICJwdXNo
Q2FsbF8iICsgbWV0aG9kTmFtZTsKKyAgICAgICAgICAgICAgICAvKioKKyAgICAgICAgICAgICAg
ICAgKiBAcGFyYW0ge09iamVjdHxudW1iZXJ9IHRhcmdldAorICAgICAgICAgICAgICAgICAqIEB0
aGlzIFJlc291cmNlLldyYXBGdW5jdGlvbgorICAgICAgICAgICAgICAgICAqLworICAgICAgICAg
ICAgICAgIHdyYXBGdW5jdGlvbnNbbWV0aG9kTmFtZV0gPSBmdW5jdGlvbih0YXJnZXQpCisgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB2YXIgcmVzb3VyY2UgPSB0aGlzLl9y
ZXNvdXJjZS5jdXJyZW50QmluZGluZyh0YXJnZXQpOworICAgICAgICAgICAgICAgICAgICBpZiAo
IXJlc291cmNlKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAg
ICAgICAgICBpZiAocmVzb3VyY2VbY3VzdG9tUHVzaENhbGxdKQorICAgICAgICAgICAgICAgICAg
ICAgICAgcmVzb3VyY2VbY3VzdG9tUHVzaENhbGxdLmNhbGwocmVzb3VyY2UsIHRoaXMuY2FsbCgp
KTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgcmVz
b3VyY2UucHVzaENhbGwodGhpcy5jYWxsKCkpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIH0KLSAgICAgICAgfQotICAgICAgICBjdXN0b21XcmFwRnVuY3Rpb24oImF0dGFjaFNoYWRl
ciIpOwotICAgICAgICBjdXN0b21XcmFwRnVuY3Rpb24oImJpbmRBdHRyaWJMb2NhdGlvbiIpOwot
ICAgICAgICBjdXN0b21XcmFwRnVuY3Rpb24oImNvbXBpbGVTaGFkZXIiKTsKLSAgICAgICAgY3Vz
dG9tV3JhcEZ1bmN0aW9uKCJkZXRhY2hTaGFkZXIiKTsKLSAgICAgICAgY3VzdG9tV3JhcEZ1bmN0
aW9uKCJsaW5rUHJvZ3JhbSIpOwotICAgICAgICBjdXN0b21XcmFwRnVuY3Rpb24oInNoYWRlclNv
dXJjZSIpOwotICAgICAgICBjdXN0b21XcmFwRnVuY3Rpb24oImJ1ZmZlckRhdGEiKTsKLSAgICAg
ICAgY3VzdG9tV3JhcEZ1bmN0aW9uKCJidWZmZXJTdWJEYXRhIik7Ci0gICAgICAgIGN1c3RvbVdy
YXBGdW5jdGlvbigiY29tcHJlc3NlZFRleEltYWdlMkQiKTsKLSAgICAgICAgY3VzdG9tV3JhcEZ1
bmN0aW9uKCJjb21wcmVzc2VkVGV4U3ViSW1hZ2UyRCIpOwotICAgICAgICBjdXN0b21XcmFwRnVu
Y3Rpb24oImNvcHlUZXhJbWFnZTJEIik7Ci0gICAgICAgIGN1c3RvbVdyYXBGdW5jdGlvbigiY29w
eVRleFN1YkltYWdlMkQiKTsKLSAgICAgICAgY3VzdG9tV3JhcEZ1bmN0aW9uKCJnZW5lcmF0ZU1p
cG1hcCIpOwotICAgICAgICBjdXN0b21XcmFwRnVuY3Rpb24oInRleEltYWdlMkQiKTsKLSAgICAg
ICAgY3VzdG9tV3JhcEZ1bmN0aW9uKCJ0ZXhTdWJJbWFnZTJEIik7Ci0gICAgICAgIGN1c3RvbVdy
YXBGdW5jdGlvbigidGV4UGFyYW1ldGVyZiIpOwotICAgICAgICBjdXN0b21XcmFwRnVuY3Rpb24o
InRleFBhcmFtZXRlcmkiKTsKLSAgICAgICAgY3VzdG9tV3JhcEZ1bmN0aW9uKCJmcmFtZWJ1ZmZl
clJlbmRlcmJ1ZmZlciIpOwotICAgICAgICBjdXN0b21XcmFwRnVuY3Rpb24oImZyYW1lYnVmZmVy
VGV4dHVyZTJEIik7Ci0gICAgICAgIGN1c3RvbVdyYXBGdW5jdGlvbigicmVuZGVyYnVmZmVyU3Rv
cmFnZSIpOwotCi0gICAgICAgIC8qKiBAdGhpcyBXZWJHTFJlbmRlcmluZ0NvbnRleHRSZXNvdXJj
ZS5XcmFwRnVuY3Rpb24gKi8KLSAgICAgICAgd3JhcEZ1bmN0aW9uc1siZ2V0RXJyb3IiXSA9IGZ1
bmN0aW9uKCkKLSAgICAgICAgewotICAgICAgICAgICAgdmFyIGdsID0gdGhpcy5fb3JpZ2luYWxP
YmplY3Q7Ci0gICAgICAgICAgICB2YXIgZXJyb3IgPSB0aGlzLnJlc3VsdCgpOwotICAgICAgICAg
ICAgaWYgKGVycm9yICE9PSBnbC5OT19FUlJPUikKLSAgICAgICAgICAgICAgICB0aGlzLl9nbFJl
c291cmNlLmNsZWFyRXJyb3IoZXJyb3IpOwotICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAg
ICAgICAgZXJyb3IgPSB0aGlzLl9nbFJlc291cmNlLm5leHRFcnJvcigpOworICAgICAgICAgICAg
Y3VzdG9tV3JhcEZ1bmN0aW9uKCJhdHRhY2hTaGFkZXIiKTsKKyAgICAgICAgICAgIGN1c3RvbVdy
YXBGdW5jdGlvbigiYmluZEF0dHJpYkxvY2F0aW9uIik7CisgICAgICAgICAgICBjdXN0b21XcmFw
RnVuY3Rpb24oImNvbXBpbGVTaGFkZXIiKTsKKyAgICAgICAgICAgIGN1c3RvbVdyYXBGdW5jdGlv
bigiZGV0YWNoU2hhZGVyIik7CisgICAgICAgICAgICBjdXN0b21XcmFwRnVuY3Rpb24oImxpbmtQ
cm9ncmFtIik7CisgICAgICAgICAgICBjdXN0b21XcmFwRnVuY3Rpb24oInNoYWRlclNvdXJjZSIp
OworICAgICAgICAgICAgY3VzdG9tV3JhcEZ1bmN0aW9uKCJidWZmZXJEYXRhIik7CisgICAgICAg
ICAgICBjdXN0b21XcmFwRnVuY3Rpb24oImJ1ZmZlclN1YkRhdGEiKTsKKyAgICAgICAgICAgIGN1
c3RvbVdyYXBGdW5jdGlvbigiY29tcHJlc3NlZFRleEltYWdlMkQiKTsKKyAgICAgICAgICAgIGN1
c3RvbVdyYXBGdW5jdGlvbigiY29tcHJlc3NlZFRleFN1YkltYWdlMkQiKTsKKyAgICAgICAgICAg
IGN1c3RvbVdyYXBGdW5jdGlvbigiY29weVRleEltYWdlMkQiKTsKKyAgICAgICAgICAgIGN1c3Rv
bVdyYXBGdW5jdGlvbigiY29weVRleFN1YkltYWdlMkQiKTsKKyAgICAgICAgICAgIGN1c3RvbVdy
YXBGdW5jdGlvbigiZ2VuZXJhdGVNaXBtYXAiKTsKKyAgICAgICAgICAgIGN1c3RvbVdyYXBGdW5j
dGlvbigidGV4SW1hZ2UyRCIpOworICAgICAgICAgICAgY3VzdG9tV3JhcEZ1bmN0aW9uKCJ0ZXhT
dWJJbWFnZTJEIik7CisgICAgICAgICAgICBjdXN0b21XcmFwRnVuY3Rpb24oInRleFBhcmFtZXRl
cmYiKTsKKyAgICAgICAgICAgIGN1c3RvbVdyYXBGdW5jdGlvbigidGV4UGFyYW1ldGVyaSIpOwor
ICAgICAgICAgICAgY3VzdG9tV3JhcEZ1bmN0aW9uKCJmcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlciIp
OworICAgICAgICAgICAgY3VzdG9tV3JhcEZ1bmN0aW9uKCJmcmFtZWJ1ZmZlclRleHR1cmUyRCIp
OworICAgICAgICAgICAgY3VzdG9tV3JhcEZ1bmN0aW9uKCJyZW5kZXJidWZmZXJTdG9yYWdlIik7
CisKKyAgICAgICAgICAgIC8qKiBAdGhpcyBSZXNvdXJjZS5XcmFwRnVuY3Rpb24gKi8KKyAgICAg
ICAgICAgIHdyYXBGdW5jdGlvbnNbImdldEVycm9yIl0gPSBmdW5jdGlvbigpCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgdmFyIGdsID0gdGhpcy5fb3JpZ2luYWxPYmplY3Q7CisgICAg
ICAgICAgICAgICAgdmFyIGVycm9yID0gdGhpcy5yZXN1bHQoKTsKICAgICAgICAgICAgICAgICBp
ZiAoZXJyb3IgIT09IGdsLk5PX0VSUk9SKQotICAgICAgICAgICAgICAgICAgICB0aGlzLl9vdmVy
cmlkZVJlc3VsdChlcnJvcik7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuX3Jlc291cmNlLmNs
ZWFyRXJyb3IoZXJyb3IpOworICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAg
ICAgICBlcnJvciA9IHRoaXMuX3Jlc291cmNlLm5leHRFcnJvcigpOworICAgICAgICAgICAgICAg
ICAgICBpZiAoZXJyb3IgIT09IGdsLk5PX0VSUk9SKQorICAgICAgICAgICAgICAgICAgICAgICAg
dGhpcy5vdmVycmlkZVJlc3VsdChlcnJvcik7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfQotICAgICAgICB9CiAKLSAgICAgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0UmVzb3VyY2Uu
X3dyYXBGdW5jdGlvbnMgPSB3cmFwRnVuY3Rpb25zOworICAgICAgICAgICAgV2ViR0xSZW5kZXJp
bmdDb250ZXh0UmVzb3VyY2UuX3dyYXBGdW5jdGlvbnMgPSB3cmFwRnVuY3Rpb25zOworICAgICAg
ICB9CisgICAgICAgIHJldHVybiB3cmFwRnVuY3Rpb25zOwogICAgIH0KLSAgICByZXR1cm4gd3Jh
cEZ1bmN0aW9uczsKIH0KIAorV2ViR0xSZW5kZXJpbmdDb250ZXh0UmVzb3VyY2UucHJvdG90eXBl
Ll9fcHJvdG9fXyA9IFJlc291cmNlLnByb3RvdHlwZTsKKwogLyoqCiAgKiBAY29uc3RydWN0b3IK
ICAqLwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>