<?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>100898</bug_id>
          
          <creation_ts>2012-10-31 15:32:32 -0700</creation_ts>
          <short_desc>Add LLDB-Python scripts to support WebKit data types.</short_desc>
          <delta_ts>2012-11-01 15:42:20 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>aroben</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>755679</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-10-31 15:32:32 -0700</bug_when>
    <thetext>Add LLDB-Python scripts to support WebKit data types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756267</commentid>
    <comment_count>1</comment_count>
      <attachid>171856</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-11-01 08:24:35 -0700</bug_when>
    <thetext>Created attachment 171856
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756293</commentid>
    <comment_count>2</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-11-01 08:40:38 -0700</bug_when>
    <thetext>Here&apos;s some sample output from the attached script:


Process 18741 launched: &apos;/Volumes/Users/jer/foo&apos; (x86_64)
Process 18741 stopped
* thread #1: tid = 0x1c03, 0x0000000100028257 foo`main + 55 at foo.cpp:11, stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0)
    frame #0: 0x0000000100028257 foo`main + 55 at foo.cpp:11
   8   	    String test = &quot;test&quot;;
   9   	    AtomicString atomic(&quot;atomic&quot;);
   10  	    asm (&quot;int3&quot;);
-&gt; 11  	    return 0;
   12  	}
(lldb) p atomic
(WTF::AtomicString) $0 = { length = 6, contents = &apos;atomic&apos; } {
  (WTF::String) m_string = { length = 6, contents = &apos;atomic&apos; } {
    (WTF::RefPtr&lt;WTF::StringImpl&gt;) m_impl = {
      (WTF::StringImpl *) m_ptr = 0x00000001003004b0 { length = 6, is8bit = 1, contents = &apos;atomic&apos; }
    }
  }
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756531</commentid>
    <comment_count>3</comment_count>
      <attachid>171856</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-01 12:16:29 -0700</bug_when>
    <thetext>Comment on attachment 171856
Patch

Clearing flags on attachment: 171856

Committed r133211: &lt;http://trac.webkit.org/changeset/133211&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756532</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-01 12:16:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756534</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2012-11-01 12:26:41 -0700</bug_when>
    <thetext>This is awesome!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756540</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-11-01 12:39:12 -0700</bug_when>
    <thetext>What&apos;s the syntax for importing these into an LLDB session?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756689</commentid>
    <comment_count>7</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-11-01 15:40:56 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; What&apos;s the syntax for importing these into an LLDB session?

It&apos;s:

script import {path to WebKit root}/Tools/lldb/lldb_webkit.py</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756691</commentid>
    <comment_count>8</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-11-01 15:42:20 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; What&apos;s the syntax for importing these into an LLDB session?
&gt; 
&gt; It&apos;s:
&gt; 
&gt; script import {path to WebKit root}/Tools/lldb/lldb_webkit.py

Oh, and FYI, LLDB apparently hates the tilde, so you&apos;ll have to put the entire path in.

You can have the script automatically imported into lldb (and Xcode!) by adding the following to your ~/.lldbinit file:

command script import {path to WebKit root}/Tools/lldb/lldb_webkit.py</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171856</attachid>
            <date>2012-11-01 08:24:35 -0700</date>
            <delta_ts>2012-11-01 12:16:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100898-20121101082321.patch</filename>
            <type>text/plain</type>
            <size>7645</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMDE4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTE0ZGI0ZDQ0ZTU4NDdjNzgyYzYyYThlOTc4ODU1ODI0
Nzk0Y2I4ZC4uNGFmODViZWJlMTEyYjM2NWVjNzJmOTc2OWE0MzRmZDdiZDQ1NDllZCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMz
IEBACisyMDEyLTEwLTMxICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAg
ICAgIEFkZCBMTERCLVB5dGhvbiBzY3JpcHRzIHRvIHN1cHBvcnQgV2ViS2l0IGRhdGEgdHlwZXMu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA4OTgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgU3Vt
bWFyeSBwcm92aWRlcnMgZm9yIGNvbW1vbiBXZWJLaXQgc3RyaW5nIHR5cGVzLgorCisgICAgICAg
ICogbGxkYi9sbGRiX3dlYmtpdC5weTogQWRkZWQuCisgICAgICAgIChfX2xsZGJfaW5pdF9tb2R1
bGUpOiBSZWdpc3RlciB0aGVzZSBwcm92aWRlcnMgd2l0aCB0aGUgZGVidWdnZXIuCisgICAgICAg
IChXVEZTdHJpbmdfU3VtbWFyeVByb3ZpZGVyKTogV3JhcHBlciBhcm91bmQgV1RGU3RyaW5nUHJv
dmlkZXIuCisgICAgICAgIChXVEZTdHJpbmdJbXBsX1N1bW1hcnlQcm92aWRlcik6IFdyYXBwZXIg
YXJvdW5kIFdURlN0cmluZ0ltcGxQcm92aWRlci4KKyAgICAgICAgKFdURkF0b21pY1N0cmluZ19T
dW1tYXJ5UHJvdmlkZXIpOiBEaXR0by4KKyAgICAgICAgKGd1ZXNzX3N0cmluZ19sZW5ndGgpOiBX
YWxrIHRocm91Z2ggdGhlIHN0cmluZyBsb29raW5nIGZvciBhIG51bGwtYnl0ZShzKS4KKyAgICAg
ICAgKHVzdHJpbmdfdG9fc3RyaW5nKTogV2FsayB0aHJvdWdoIHRoZSBzdHJpbmcsIGV4dHJhY3Rp
bmcgdHdvLWJ5dGUgdmFsdWVzLCBhbmQgY29uY2F0ZW5hdGUgdGhlbS4KKyAgICAgICAgKGxzdHJp
bmdfdG9fc3RyaW5nKTogV2FsayB0aHJvdWdoIHRoZSBzdHJpbmcsIGV4dHJhY3RpbmcgYnl0ZSB2
YWx1ZXMsIGFuZCBjb25jYXRlbmF0ZSB0aGVtLgorICAgICAgICAoV1RGU3RyaW5nSW1wbFByb3Zp
ZGVyKTogCisgICAgICAgIChXVEZTdHJpbmdJbXBsUHJvdmlkZXIuX19pbml0X18pOgorICAgICAg
ICAoV1RGU3RyaW5nSW1wbFByb3ZpZGVyLmdldF9sZW5ndGgpOiBFeHRyYWN0IHRoZSBtX2xlbmd0
aCB2YXJpYWJsZS4KKyAgICAgICAgKFdURlN0cmluZ0ltcGxQcm92aWRlci5nZXRfZGF0YTgpOiBF
eHRyYWN0IHRoZSBtX2RhdGE4IHZhcmlhYmxlLgorICAgICAgICAoV1RGU3RyaW5nSW1wbFByb3Zp
ZGVyLmdldF9kYXRhMTYpOiBFeHRyYWN0IHRoZSBtX2RhdGExNiB2YXJpYWJsZS4KKyAgICAgICAg
KFdURlN0cmluZ0ltcGxQcm92aWRlci50b19zdHJpbmcpOiBQYXNzIHRoZSBhcHByb3ByaWF0ZSBk
YXRhIHZhcmlhYmxlIHRvIHt1LGx9c3RyaW5nX3RvX3N0cmluZy4KKyAgICAgICAgKFdURlN0cmlu
Z0ltcGxQcm92aWRlci5pc184Yml0KTogQ2hlY2sgdGhlIG1faGFzaEFuZEZsYWdzIHZhcmlhYmxl
LgorICAgICAgICAoV1RGU3RyaW5nUHJvdmlkZXIpOgorICAgICAgICAoV1RGU3RyaW5nUHJvdmlk
ZXIuX19pbml0X18pOgorICAgICAgICAoV1RGU3RyaW5nUHJvdmlkZXIuc3RyaW5naW1wbCk6IEV4
dHJhY3QgdGhlIG1faW1wbCB2YXJpYWJsZS4KKyAgICAgICAgKFdURlN0cmluZ1Byb3ZpZGVyLmdl
dF9sZW5ndGgpOiBQYXNzIHRocm91Z2ggdG8gV1RGU3RyaW5nSW1wbFByb3ZpZGVyLgorICAgICAg
ICAoV1RGU3RyaW5nUHJvdmlkZXIudG9fc3RyaW5nKTogRGl0dG8uCisKIDIwMTItMTAtMTAgIEx1
Y2FzIEZvcnNjaGxlciAgPGxmb3JzY2hsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBB
cHBsZSBNYWMgU25vdyBMZW9wYXJkIGJvdHMuCmRpZmYgLS1naXQgYS9Ub29scy9sbGRiL2xsZGJf
d2Via2l0LnB5IGIvVG9vbHMvbGxkYi9sbGRiX3dlYmtpdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NmYzNDgz
ODI2ZDg0MjhhMmMxZDhhMzUwZTdhZmY3ZjQxNGEwOTE4Ci0tLSAvZGV2L251bGwKKysrIGIvVG9v
bHMvbGxkYi9sbGRiX3dlYmtpdC5weQpAQCAtMCwwICsxLDE0NSBAQAorIyBDb3B5cmlnaHQgKEMp
IDIwMTIgQXBwbGUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JyBBTkQgQU5ZCisjIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyMgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OworIyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyMgQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMKKyMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisKKyIiIgorICAgIExMREIgU3VwcG9ydCBmb3IgV2ViS2l0IFR5
cGVzCisKKyAgICBBZGQgdGhlIGZvbGxvd2luZyB0byB5b3VyIC5sbGRiaW5pdCBmaWxlIHRvIGFk
ZCBXZWJLaXQgVHlwZSBzdW1tYXJpZXMgaW4gTExEQiBhbmQgWGNvZGU6CisKKyAgICBjb21tYW5k
IHNjcmlwdCBpbXBvcnQge1BhdGggdG8gV2ViS2l0IFJvb3R9L1Rvb2xzL2xsZGIvbGxkYl93ZWJr
aXQucHkKKworIiIiCisKK2ltcG9ydCBsbGRiCisKKworZGVmIF9fbGxkYl9pbml0X21vZHVsZShk
ZWJ1Z2dlciwgZGljdCk6CisgICAgZGVidWdnZXIuSGFuZGxlQ29tbWFuZCgndHlwZSBzdW1tYXJ5
IGFkZCAtLWV4cGFuZCAtRiBsbGRiX3dlYmtpdC5XVEZTdHJpbmdfU3VtbWFyeVByb3ZpZGVyIFdU
Rjo6U3RyaW5nJykKKyAgICBkZWJ1Z2dlci5IYW5kbGVDb21tYW5kKCd0eXBlIHN1bW1hcnkgYWRk
IC0tZXhwYW5kIC1GIGxsZGJfd2Via2l0LldURlN0cmluZ0ltcGxfU3VtbWFyeVByb3ZpZGVyIFdU
Rjo6U3RyaW5nSW1wbCcpCisgICAgZGVidWdnZXIuSGFuZGxlQ29tbWFuZCgndHlwZSBzdW1tYXJ5
IGFkZCAtLWV4cGFuZCAtRiBsbGRiX3dlYmtpdC5XVEZBdG9taWNTdHJpbmdfU3VtbWFyeVByb3Zp
ZGVyIFdURjo6QXRvbWljU3RyaW5nJykKKworCitkZWYgV1RGU3RyaW5nX1N1bW1hcnlQcm92aWRl
cih2YWxvYmosIGRpY3QpOgorICAgIHByb3ZpZGVyID0gV1RGU3RyaW5nUHJvdmlkZXIodmFsb2Jq
LCBkaWN0KQorICAgIHJldHVybiAieyBsZW5ndGggPSAlZCwgY29udGVudHMgPSAnJXMnIH0iICUg
KHByb3ZpZGVyLmdldF9sZW5ndGgoKSwgcHJvdmlkZXIudG9fc3RyaW5nKCkpCisKKworZGVmIFdU
RlN0cmluZ0ltcGxfU3VtbWFyeVByb3ZpZGVyKHZhbG9iaiwgZGljdCk6CisgICAgcHJvdmlkZXIg
PSBXVEZTdHJpbmdJbXBsUHJvdmlkZXIodmFsb2JqLCBkaWN0KQorICAgIHJldHVybiAieyBsZW5n
dGggPSAlZCwgaXM4Yml0ID0gJWQsIGNvbnRlbnRzID0gJyVzJyB9IiAlIChwcm92aWRlci5nZXRf
bGVuZ3RoKCksIHByb3ZpZGVyLmlzXzhiaXQoKSwgcHJvdmlkZXIudG9fc3RyaW5nKCkpCisKKwor
ZGVmIFdURkF0b21pY1N0cmluZ19TdW1tYXJ5UHJvdmlkZXIodmFsb2JqLCBkaWN0KToKKyAgICBy
ZXR1cm4gV1RGU3RyaW5nX1N1bW1hcnlQcm92aWRlcih2YWxvYmouR2V0Q2hpbGRNZW1iZXJXaXRo
TmFtZSgnbV9zdHJpbmcnKSwgZGljdCkKKworIyBGSVhNRTogUHJvdmlkZSBzdXBwb3J0IGZvciB0
aGUgZm9sbG93aW5nIHR5cGVzOgorIyBkZWYgV1RGVmVjdG9yX1N1bW1hcnlQcm92aWRlcih2YWxv
YmosIGRpY3QpOgorIyBkZWYgV1RGQ1N0cmluZ19TdW1tYXJ5UHJvdmlkZXIodmFsb2JqLCBkaWN0
KToKKyMgZGVmIFdlYkNvcmVLVVJMR29vZ2xlUHJpdmF0ZV9TdW1tYXJ5UHJvdmlkZXIodmFsb2Jq
LCBkaWN0KToKKyMgZGVmIFdlYkNvcmVRdWFsaWZpZWROYW1lX1N1bW1hcnlQcm92aWRlcih2YWxv
YmosIGRpY3QpOgorIyBkZWYgSlNDSWRlbnRpZmllcl9TdW1tYXJ5UHJvdmlkZXIodmFsb2JqLCBk
aWN0KToKKyMgZGVmIEpTQ0pTU3RyaW5nX1N1bW1hcnlQcm92aWRlcih2YWxvYmosIGRpY3QpOgor
CisKK2RlZiBndWVzc19zdHJpbmdfbGVuZ3RoKHZhbG9iaiwgZXJyb3IpOgorICAgIGlmIG5vdCB2
YWxvYmouR2V0VmFsdWUoKToKKyAgICAgICAgcmV0dXJuIDAKKworICAgIGZvciBpIGluIHhyYW5n
ZSgwLCAyMDQ4KToKKyAgICAgICAgaWYgdmFsb2JqLkdldFBvaW50ZWVEYXRhKGksIDEpLkdldFVu
c2lnbmVkSW50MTYoZXJyb3IsIDApID09IDA6CisgICAgICAgICAgICByZXR1cm4gaQorCisgICAg
cmV0dXJuIDI1NgorCisKK2RlZiB1c3RyaW5nX3RvX3N0cmluZyh2YWxvYmosIGVycm9yLCBsZW5n
dGg9Tm9uZSk6CisgICAgaWYgbGVuZ3RoIGlzIE5vbmU6CisgICAgICAgIGxlbmd0aCA9IGd1ZXNz
X3N0cmluZ19sZW5ndGgodmFsb2JqLCBlcnJvcikKKyAgICBlbHNlOgorICAgICAgICBsZW5ndGgg
PSBpbnQobGVuZ3RoKQorCisgICAgb3V0X3N0cmluZyA9IHUiIgorICAgIGZvciBpIGluIHhyYW5n
ZSgwLCBsZW5ndGgpOgorICAgICAgICBjaGFyX3ZhbHVlID0gdmFsb2JqLkdldFBvaW50ZWVEYXRh
KGksIDEpLkdldFVuc2lnbmVkSW50MTYoZXJyb3IsIDApCisgICAgICAgIG91dF9zdHJpbmcgPSBv
dXRfc3RyaW5nICsgdW5pY2hyKGNoYXJfdmFsdWUpCisKKyAgICByZXR1cm4gb3V0X3N0cmluZy5l
bmNvZGUoJ3V0Zi04JykKKworCitkZWYgbHN0cmluZ190b19zdHJpbmcodmFsb2JqLCBlcnJvciwg
bGVuZ3RoPU5vbmUpOgorICAgIGlmIGxlbmd0aCBpcyBOb25lOgorICAgICAgICBsZW5ndGggPSBn
dWVzc19zdHJpbmdfbGVuZ3RoKHZhbG9iaiwgZXJyb3IpCisgICAgZWxzZToKKyAgICAgICAgbGVu
Z3RoID0gaW50KGxlbmd0aCkKKworICAgIG91dF9zdHJpbmcgPSB1IiIKKyAgICBmb3IgaSBpbiB4
cmFuZ2UoMCwgbGVuZ3RoKToKKyAgICAgICAgY2hhcl92YWx1ZSA9IHZhbG9iai5HZXRQb2ludGVl
RGF0YShpLCAxKS5HZXRVbnNpZ25lZEludDgoZXJyb3IsIDApCisgICAgICAgIG91dF9zdHJpbmcg
PSBvdXRfc3RyaW5nICsgdW5pY2hyKGNoYXJfdmFsdWUpCisKKyAgICByZXR1cm4gb3V0X3N0cmlu
Zy5lbmNvZGUoJ3V0Zi04JykKKworCitjbGFzcyBXVEZTdHJpbmdJbXBsUHJvdmlkZXI6CisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIHZhbG9iaiwgZGljdCk6CisgICAgICAgIHNlbGYudmFsb2JqID0g
dmFsb2JqCisKKyAgICBkZWYgZ2V0X2xlbmd0aChzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYu
dmFsb2JqLkdldENoaWxkTWVtYmVyV2l0aE5hbWUoJ21fbGVuZ3RoJykuR2V0VmFsdWVBc1Vuc2ln
bmVkKDApCisKKyAgICBkZWYgZ2V0X2RhdGE4KHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi52
YWxvYmouR2V0Q2hpbGRBdEluZGV4KDIpLkdldENoaWxkTWVtYmVyV2l0aE5hbWUoJ21fZGF0YTgn
KQorCisgICAgZGVmIGdldF9kYXRhMTYoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLnZhbG9i
ai5HZXRDaGlsZEF0SW5kZXgoMikuR2V0Q2hpbGRNZW1iZXJXaXRoTmFtZSgnbV9kYXRhMTYnKQor
CisgICAgZGVmIHRvX3N0cmluZyhzZWxmKToKKyAgICAgICAgZXJyb3IgPSBsbGRiLlNCRXJyb3Io
KQorICAgICAgICBpZiBzZWxmLmlzXzhiaXQoKToKKyAgICAgICAgICAgIHJldHVybiBsc3RyaW5n
X3RvX3N0cmluZyhzZWxmLmdldF9kYXRhOCgpLCBlcnJvciwgc2VsZi5nZXRfbGVuZ3RoKCkpCisg
ICAgICAgIHJldHVybiB1c3RyaW5nX3RvX3N0cmluZyhzZWxmLmdldF9kYXRhMTYoKSwgZXJyb3Is
IHNlbGYuZ2V0X2xlbmd0aCgpKQorCisgICAgZGVmIGlzXzhiaXQoc2VsZik6CisgICAgICAgICMg
RklYTUU6IGZpbmQgYSB3YXkgdG8gYWNjZXNzIFdURjo6U3RyaW5nSW1wbDo6c19oYXNoRmxhZzhC
aXRCdWZmZXIKKyAgICAgICAgcmV0dXJuIGJvb2woc2VsZi52YWxvYmouR2V0Q2hpbGRNZW1iZXJX
aXRoTmFtZSgnbV9oYXNoQW5kRmxhZ3MnKS5HZXRWYWx1ZUFzVW5zaWduZWQoMCkgXAorICAgICAg
ICAgICAgJiAxIDw8IDYpCisKKworY2xhc3MgV1RGU3RyaW5nUHJvdmlkZXI6CisgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIHZhbG9iaiwgZGljdCk6CisgICAgICAgIHNlbGYudmFsb2JqID0gdmFsb2Jq
CisKKyAgICBkZWYgc3RyaW5naW1wbChzZWxmKToKKyAgICAgICAgaW1wbF9wdHIgPSBzZWxmLnZh
bG9iai5HZXRDaGlsZE1lbWJlcldpdGhOYW1lKCdtX2ltcGwnKS5HZXRDaGlsZE1lbWJlcldpdGhO
YW1lKCdtX3B0cicpCisgICAgICAgIHJldHVybiBXVEZTdHJpbmdJbXBsUHJvdmlkZXIoaW1wbF9w
dHIsIGRpY3QpCisKKyAgICBkZWYgZ2V0X2xlbmd0aChzZWxmKToKKyAgICAgICAgaW1wbCA9IHNl
bGYuc3RyaW5naW1wbCgpCisgICAgICAgIGlmIG5vdCBpbXBsOgorICAgICAgICAgICAgcmV0dXJu
IDAKKyAgICAgICAgcmV0dXJuIGltcGwuZ2V0X2xlbmd0aCgpCisKKyAgICBkZWYgdG9fc3RyaW5n
KHNlbGYpOgorICAgICAgICBpbXBsID0gc2VsZi5zdHJpbmdpbXBsKCkKKyAgICAgICAgaWYgbm90
IGltcGw6CisgICAgICAgICAgICByZXR1cm4gdSIiCisgICAgICAgIHJldHVybiBpbXBsLnRvX3N0
cmluZygpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>