<?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>41431</bug_id>
          
          <creation_ts>2010-06-30 15:12:41 -0700</creation_ts>
          <short_desc>REGRESSION (r49411): Various crashes due to JavaScript execution during plug-in destruction</short_desc>
          <delta_ts>2018-01-19 16:30:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Plug-ins</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.6</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=181889</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>andersca</cc>
    
    <cc>mitz</cc>
    
    <cc>mrowe</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>244965</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-06-30 15:12:41 -0700</bug_when>
    <thetext>We didn&apos;t use to support executing arbitrary JavaScript code during plug-in destruction in out of process case. This got accidentally enabled in r49411.

Long term, we should do the same thing in in process and out of process cases, and the same as other browsers - which likely means allowing JS execution from NPP_Destroy (although there are lots of bugs and limitations there). But there is an unfortunate twist for out of process plug-ins, which makes WebKit take this code path even if plug-in didn&apos;t intend that:
1) Plug-in executes NPN_Evaluate, a sync message is sent to the browser.
2) At the same time, the browser stops the plug-in, and sends synchronous NPP_Destroy to plug-in.
3) The browser enters a loop, handling messages that come from plug-in, and waiting for a response to NPP_Destroy.
4) So, it executes the script from step 1 that could have been dropped.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>244966</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-06-30 15:13:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/8148656&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>244991</commentid>
    <comment_count>2</comment_count>
      <attachid>60164</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-06-30 16:14:01 -0700</bug_when>
    <thetext>Created attachment 60164
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245008</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-06-30 16:43:27 -0700</bug_when>
    <thetext>-    waitForReply&lt;NetscapePluginInstanceProxy::BooleanReply&gt;(requestID);
+    waitForReplyDroppingOtherMessages&lt;NetscapePluginInstanceProxy::BooleanReply&gt;(requestID);

Oops, this doesn&apos;t belong here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245413</commentid>
    <comment_count>4</comment_count>
      <attachid>60261</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-07-01 10:29:26 -0700</bug_when>
    <thetext>Created attachment 60261
an alternative WebKit part of the fix

WebCore and LayoutTests parts are unchanged, not putting them up for review again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245422</commentid>
    <comment_count>5</comment_count>
      <attachid>60261</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-07-01 10:43:49 -0700</bug_when>
    <thetext>Comment on attachment 60261
an alternative WebKit part of the fix

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245454</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-07-01 11:48:57 -0700</bug_when>
    <thetext>Committed with alternative WebKit fix in &lt;http://trac.webkit.org/changeset/62279&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60164</attachid>
            <date>2010-06-30 16:14:01 -0700</date>
            <delta_ts>2010-06-30 16:36:12 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>NPP_Destroy.txt</filename>
            <type>text/plain</type>
            <size>14846</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MjIwNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTAtMDYtMzAgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzgxNDg2NTY+IDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDE0MzE+CisgICAgICAgIFJFR1JFU1NJT04gKHI0OTQxMSk6IFZhcmlvdXMgY3Jh
c2hlcyBkdWUgdG8gSmF2YVNjcmlwdCBleGVjdXRpb24gZHVyaW5nIHBsdWctaW4gZGVzdHJ1Y3Rp
b24KKworICAgICAgICBUZXN0OiBwbHVnaW5zL3dyaXRlLXhzc2F1ZGl0b3ItZnJvbS1kZXN0cm95
Lmh0bWwKKworICAgICAgICBGaXggc3BlY2lmaWMga25vd24gY2FzZXMgdGhhdCBhbHNvIGNyYXNo
IGluIHNhbWUgcHJvY2VzcyBjYXNlLiBJIGRvbid0IGtub3cgaWYgdGhlcmUgaXMKKyAgICAgICAg
YW55IHJ1bGUgZm9yIHdoZW4gZG9jdW1lbnRMb2FkZXIgc2hvdWxkIGJlIGNoZWNrZWQgZm9yIGJl
aW5nIG51bGwsIGl0IGxvb2tzIGxpa2UgYSBtZXNzLgorCisgICAgICAgICogbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpyZWZlcnJlcik6Cisg
ICAgICAgICogcGFnZS9YU1NBdWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhTU0F1ZGl0
b3I6OmZpbmRJblJlcXVlc3QpOgorCiAyMDEwLTA2LTAzICBNYXJrIFJvd2UgIDxtcm93ZUBhcHBs
ZS5jb20+CiAKICAgICAgICAgTWVyZ2UgcjU5NDk4LgpJbmRleDogV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cAkocmV2aXNpb24gNjE5MzUpCisrKyBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM4NTgsNyArMzg1OCw3IEBAIEtVUkwgRnJhbWVMb2FkZXI6Om9yaWdp
bmFsUmVxdWVzdFVSTCgpIGMKIAogU3RyaW5nIEZyYW1lTG9hZGVyOjpyZWZlcnJlcigpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIGRvY3VtZW50TG9hZGVyKCktPnJlcXVlc3QoKS5odHRwUmVmZXJyZXIo
KTsKKyAgICByZXR1cm4gbV9kb2N1bWVudExvYWRlciA/IG1fZG9jdW1lbnRMb2FkZXItPnJlcXVl
c3QoKS5odHRwUmVmZXJyZXIoKSA6ICIiOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyOjpkaXNwYXRj
aERvY3VtZW50RWxlbWVudEF2YWlsYWJsZSgpCkluZGV4OiBXZWJDb3JlL3BhZ2UvWFNTQXVkaXRv
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuY3BwCShyZXZpc2lv
biA2MTkzNSkKKysrIFdlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzYyLDcgKzM2MiwxMSBAQCBib29sIFhTU0F1ZGl0b3I6OmZpbmRJblJlcXVlc3QoRnJhbWUq
IGZyCiAgICAgaWYgKHRhc2suc3RyaW5nLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCi0gICAgRm9ybURhdGEqIGZvcm1EYXRhT2JqID0gZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVu
dExvYWRlcigpLT5vcmlnaW5hbFJlcXVlc3QoKS5odHRwQm9keSgpOworICAgIERvY3VtZW50TG9h
ZGVyICpkb2N1bWVudExvYWRlciA9IGZyYW1lLT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKTsK
KyAgICBpZiAoIWRvY3VtZW50TG9hZGVyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBG
b3JtRGF0YSogZm9ybURhdGFPYmogPSBkb2N1bWVudExvYWRlci0+b3JpZ2luYWxSZXF1ZXN0KCku
aHR0cEJvZHkoKTsKICAgICBjb25zdCBib29sIGhhc0Zvcm1EYXRhID0gZm9ybURhdGFPYmogJiYg
IWZvcm1EYXRhT2JqLT5pc0VtcHR5KCk7CiAgICAgU3RyaW5nIHBhZ2VVUkwgPSBmcmFtZS0+ZG9j
dW1lbnQoKS0+dXJsKCkuc3RyaW5nKCk7CiAKSW5kZXg6IFdlYktpdC9tYWMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2MjIwNykKKysrIFdl
YktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTAt
MDYtMzAgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgxNDg2
NTY+IDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE0MzE+CisgICAg
ICAgIFJFR1JFU1NJT04gKHI0OTQxMSk6IFZhcmlvdXMgY3Jhc2hlcyBkdWUgdG8gSmF2YVNjcmlw
dCBleGVjdXRpb24gZHVyaW5nIHBsdWctaW4gZGVzdHJ1Y3Rpb24KKworICAgICAgICBSZXZlcnQg
dG8gcHJlLXI0OTQxMSBiZWhhdmlvciBmb3IgLVtXZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3IHdl
YkZyYW1lXSB1bnRpbAorICAgICAgICBhIGJldHRlciBmaXggY2FuIGJlIG1hZGUgaW4gb3V0IG9m
IHByb2Nlc3MgY29tbXVuaWNhdGlvbiBjb2RlLgorCisgICAgICAgICogUGx1Z2lucy9XZWJCYXNl
TmV0c2NhcGVQbHVnaW5WaWV3Lmg6CisgICAgICAgICogUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQ
bHVnaW5WaWV3Lm1tOgorICAgICAgICAoLVtXZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3IGRlcHJl
Y2F0ZWRXZWJGcmFtZV0pOgorICAgICAgICBUaGUgIm9sZCIgdmFyaWFudCBpcyBzZXBhcmF0ZSwg
c2luY2UgdGhlIG5ldyBiZWhhdmlvciBnZW5lcmFsbHkgbWFrZXMgbW9yZSBzZW5zZS4KKworICAg
ICAgICAqIFBsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbToKKyAg
ICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpjbGVhbnVwKToKKyAg
ICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpkZXN0cm95KToKKyAg
ICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpnZXRXaW5kb3dOUE9i
amVjdCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6Z2V0
UGx1Z2luRWxlbWVudE5QT2JqZWN0KToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW5J
bnN0YW5jZVByb3h5OjpldmFsdWF0ZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2lu
SW5zdGFuY2VQcm94eTo6aW52b2tlKToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW5J
bnN0YW5jZVByb3h5OjppbnZva2VEZWZhdWx0KToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQ
bHVnaW5JbnN0YW5jZVByb3h5Ojpjb25zdHJ1Y3QpOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2Fw
ZVBsdWdpbkluc3RhbmNlUHJveHk6OmdldFByb3BlcnR5KToKKyAgICAgICAgKFdlYktpdDo6TmV0
c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpzZXRQcm9wZXJ0eSk6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6cmVtb3ZlUHJvcGVydHkpOgorICAgICAgICAo
V2ViS2l0OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6Omhhc1Byb3BlcnR5KToKKyAgICAg
ICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpoYXNNZXRob2QpOgorICAg
ICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OmVudW1lcmF0ZSk6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6Z2V0Q29va2llcyk6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6c2V0Q29va2ll
cyk6CisKIDIwMTAtMDYtMDEgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAogICAgICAg
ICBNZXJnZSByNjA1MDQuCkluZGV4OiBXZWJLaXQvbWFjL1BsdWdpbnMvV2ViQmFzZU5ldHNjYXBl
UGx1Z2luVmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvUGx1Z2lucy9XZWJCYXNlTmV0
c2NhcGVQbHVnaW5WaWV3LmgJKHJldmlzaW9uIDYxOTM1KQorKysgV2ViS2l0L21hYy9QbHVnaW5z
L1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtMTA4LDYgKzEw
OCw3IEBAIEBpbnRlcmZhY2UgV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldyA6IE4KIC0gKHZvaWQp
Zm9jdXNDaGFuZ2VkOwogCiAtIChXZWJGcmFtZSAqKXdlYkZyYW1lOworLSAoV2ViRnJhbWUgKilk
ZXByZWNhdGVkV2ViRnJhbWU7CiAtIChXZWJEYXRhU291cmNlICopZGF0YVNvdXJjZTsKIC0gKFdl
YlZpZXcgKil3ZWJWaWV3OwogLSAoTlNXaW5kb3cgKiljdXJyZW50V2luZG93OwpJbmRleDogV2Vi
S2l0L21hYy9QbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0L21hYy9QbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW0JKHJldmlz
aW9uIDYxOTM1KQorKysgV2ViS2l0L21hYy9QbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZp
ZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTgwMyw2ICs4MDMsMjMgQEAgLSAoV2ViRnJhbWUgKil3
ZWJGcmFtZQogICAgIHJldHVybiBraXQoX2VsZW1lbnQtPmRvY3VtZW50KCktPmZyYW1lKCkpOwog
fQogCistIChXZWJGcmFtZSAqKWRlcHJlY2F0ZWRXZWJGcmFtZQoreworICAgIC8vIFNvbWUgY29k
ZSBpcyBkZXBlbmRlbnQgb24gd2ViRnJhbWUgYmVpbmcgcmVwb3J0ZWQgYXMgbmlsIGR1cmluZyBw
bHVnLWluIGRlc3RydWN0aW9uLCB3aGVuIGRhdGFTb3VyY2UgaXMgbmlsLgorICAgIC8vIE5hbWVs
eSwgdXNpbmcgZGVwcmVjYXRlZFdlYkZyYW1lIGVuc3VyZXMgdGhhdCBhcmJpdHJhcnkgSmF2YVNj
cmlwdCB3b24ndCBiZSBleGVjdXRlZCBkdXJpbmcgcGx1Zy1pbiBkZXN0cnVjdGlvbi4KKyAgICAv
LyBKUyBleGVjdXRpb24gY2FuIGJlIGF0dGVtcHRlZCBmb3IgdHdvIHJlYXNvbnM6CisgICAgLy8g
MSkgVGhlIHBsdWctaW4gYWN0dWFsbHkgY2FsbGVkIGUuZy4gZXZhbHVhdGUoKSBmcm9tIE5QUF9E
ZXN0cm95LgorICAgIC8vIDIpIFRoZSBwbHVnLWluIGNhbGxlZCBldmFsdWF0ZSgpIG1vbWVudHMg
YmVmb3JlIGRlc3RydWN0aW9uLCBzbyB3ZSBvbmx5IGdldCB0byBoYW5kbGUgaXQgd2hlbiB3YWl0
aW5nIGZvcgorICAgIC8vIGEgcmVzcG9uc2UgdG8gTlBQX0Rlc3Ryb3kuCisgICAgLy8KKyAgICAv
LyBJdCdzIHRoZSBzZWNvbmQgY2FzZSB0aGF0IGlzIG1vcmUgY29tbW9uIGluIHByYWN0aWNlLCBh
bmQgaXQncyB3aGVyZSB3ZSB3b3VsZCBkaXZlcmdlIGZyb20gc2FtZSBwcm9jZXNzIGJlaGF2aW9y
CisgICAgLy8gaWYgd2UgZXhlY3V0ZWQgdGhlIHNjcmlwdC4KKyAgICAvLworICAgIC8vIEZJWE1F
OiBJdCdzIGxpa2VseSB3cm9uZyB0aGF0IHdlIGFsc28gYmxvY2sgKDEpIGhlcmUuCisgICAgV2Vi
RnJhbWUgKnJlc3VsdCA9IFtzZWxmIHdlYkZyYW1lXTsKKyAgICByZXR1cm4gW3NlbGYgZGF0YVNv
dXJjZV0gPyByZXN1bHQgOiBuaWw7Cit9CisKIC0gKFdlYlZpZXcgKil3ZWJWaWV3CiB7CiAgICAg
cmV0dXJuIFtbc2VsZiB3ZWJGcmFtZV0gd2ViVmlld107CkluZGV4OiBXZWJLaXQvbWFjL1BsdWdp
bnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQko
cmV2aXNpb24gNjE5MzUpCisrKyBXZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1
Z2luSW5zdGFuY2VQcm94eS5tbQkod29ya2luZyBjb3B5KQpAQCAtMjg4LDcgKzI4OCw3IEBAIHZv
aWQgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpjbGVhbnUKICAgICAvLyB0byBnbyBhd2F5
IHdoZW4gdGhlIG5leHQgZ2FyYmFnZSBjb2xsZWN0aW9uIHRha2VzIHBsYWNlLgogICAgIG1fbG9j
YWxPYmplY3RzLmNsZWFyKCk7CiAgICAgCi0gICAgaWYgKEZyYW1lKiBmcmFtZSA9IGNvcmUoW21f
cGx1Z2luVmlldyB3ZWJGcmFtZV0pKQorICAgIGlmIChGcmFtZSogZnJhbWUgPSBjb3JlKFttX3Bs
dWdpblZpZXcgZGVwcmVjYXRlZFdlYkZyYW1lXSkpCiAgICAgICAgIGZyYW1lLT5zY3JpcHQoKS0+
Y2xlYW51cFNjcmlwdE9iamVjdHNGb3JQbHVnaW4obV9wbHVnaW5WaWV3KTsKICAgICAKICAgICBQ
cm94eUluc3RhbmNlU2V0IGluc3RhbmNlczsKQEAgLTMzMCw3ICszMzAsNyBAQCB2b2lkIE5ldHNj
YXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6ZGVzdHJvCiAgICAgUmVmUHRyPE5ldHNjYXBlUGx1Z2lu
SW5zdGFuY2VQcm94eT4gcHJvdGVjdCh0aGlzKTsKICAgICAKICAgICAvLyBXZSBkb24ndCBjYXJl
IGFib3V0IHRoZSByZXBseSBoZXJlIC0gd2UganVzdCB3YW50IHRvIGJsb2NrIHVudGlsIHRoZSBw
bHVnLWluIGluc3RhbmNlIGhhcyBiZWVuIHRvcm4gZG93bi4KLSAgICB3YWl0Rm9yUmVwbHk8TmV0
c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpCb29sZWFuUmVwbHk+KHJlcXVlc3RJRCk7CisgICAg
d2FpdEZvclJlcGx5RHJvcHBpbmdPdGhlck1lc3NhZ2VzPE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQ
cm94eTo6Qm9vbGVhblJlcGx5PihyZXF1ZXN0SUQpOwogCiAgICAgbV9pbkRlc3Ryb3kgPSBmYWxz
ZTsKICAgICAKQEAgLTgwNyw3ICs4MDcsNyBAQCBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6
OlJlcGx5KiBOZXRzCiAvLyBOUFJ1bnRpbWUgc3VwcG9ydAogYm9vbCBOZXRzY2FwZVBsdWdpbklu
c3RhbmNlUHJveHk6OmdldFdpbmRvd05QT2JqZWN0KHVpbnQzMl90JiBvYmplY3RJRCkKIHsKLSAg
ICBGcmFtZSogZnJhbWUgPSBjb3JlKFttX3BsdWdpblZpZXcgd2ViRnJhbWVdKTsKKyAgICBGcmFt
ZSogZnJhbWUgPSBjb3JlKFttX3BsdWdpblZpZXcgZGVwcmVjYXRlZFdlYkZyYW1lXSk7CiAgICAg
aWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIApAQCAtODIxLDcgKzgyMSw3
IEBAIGJvb2wgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpnZXRXaW4KIAogYm9vbCBOZXRz
Y2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OmdldFBsdWdpbkVsZW1lbnROUE9iamVjdCh1aW50MzJf
dCYgb2JqZWN0SUQpCiB7Ci0gICAgRnJhbWUqIGZyYW1lID0gY29yZShbbV9wbHVnaW5WaWV3IHdl
YkZyYW1lXSk7CisgICAgRnJhbWUqIGZyYW1lID0gY29yZShbbV9wbHVnaW5WaWV3IGRlcHJlY2F0
ZWRXZWJGcmFtZV0pOwogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICAKQEAgLTg0OCw3ICs4NDgsNyBAQCBib29sIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6
ZXZhbHVhCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBGcmFtZSogZnJhbWUg
PSBjb3JlKFttX3BsdWdpblZpZXcgd2ViRnJhbWVdKTsKKyAgICBGcmFtZSogZnJhbWUgPSBjb3Jl
KFttX3BsdWdpblZpZXcgZGVwcmVjYXRlZFdlYkZyYW1lXSk7CiAgICAgaWYgKCFmcmFtZSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC04OTMsNyArODkzLDcgQEAgYm9vbCBOZXRzY2FwZVBs
dWdpbkluc3RhbmNlUHJveHk6Omludm9rZQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQog
ICAgIAotICAgIEZyYW1lKiBmcmFtZSA9IGNvcmUoW21fcGx1Z2luVmlldyB3ZWJGcmFtZV0pOwor
ICAgIEZyYW1lKiBmcmFtZSA9IGNvcmUoW21fcGx1Z2luVmlldyBkZXByZWNhdGVkV2ViRnJhbWVd
KTsKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCkBAIC05Mjks
NyArOTI5LDcgQEAgYm9vbCBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6Omludm9rZQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIAotICAgIEZyYW1lKiBmcmFtZSA9IGNvcmUo
W21fcGx1Z2luVmlldyB3ZWJGcmFtZV0pOworICAgIEZyYW1lKiBmcmFtZSA9IGNvcmUoW21fcGx1
Z2luVmlldyBkZXByZWNhdGVkV2ViRnJhbWVdKTsKICAgICBpZiAoIWZyYW1lKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgCkBAIC05NjQsNyArOTY0LDcgQEAgYm9vbCBOZXRzY2FwZVBsdWdp
bkluc3RhbmNlUHJveHk6OmNvbnN0cgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAg
IAotICAgIEZyYW1lKiBmcmFtZSA9IGNvcmUoW21fcGx1Z2luVmlldyB3ZWJGcmFtZV0pOworICAg
IEZyYW1lKiBmcmFtZSA9IGNvcmUoW21fcGx1Z2luVmlldyBkZXByZWNhdGVkV2ViRnJhbWVdKTsK
ICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCkBAIC0xMDAwLDcg
KzEwMDAsNyBAQCBib29sIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6Z2V0UHJvCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAgICAgCi0gICAgRnJhbWUqIGZyYW1lID0gY29yZShb
bV9wbHVnaW5WaWV3IHdlYkZyYW1lXSk7CisgICAgRnJhbWUqIGZyYW1lID0gY29yZShbbV9wbHVn
aW5WaWV3IGRlcHJlY2F0ZWRXZWJGcmFtZV0pOwogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICAKQEAgLTEwMjEsNyArMTAyMSw3IEBAIGJvb2wgTmV0c2NhcGVQbHVn
aW5JbnN0YW5jZVByb3h5OjpnZXRQcm8KICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAg
ICAKLSAgICBGcmFtZSogZnJhbWUgPSBjb3JlKFttX3BsdWdpblZpZXcgd2ViRnJhbWVdKTsKKyAg
ICBGcmFtZSogZnJhbWUgPSBjb3JlKFttX3BsdWdpblZpZXcgZGVwcmVjYXRlZFdlYkZyYW1lXSk7
CiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIApAQCAtMTA0NSw3
ICsxMDQ1LDcgQEAgYm9vbCBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OnNldFBybwogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIAotICAgIEZyYW1lKiBmcmFtZSA9IGNvcmUo
W21fcGx1Z2luVmlldyB3ZWJGcmFtZV0pOworICAgIEZyYW1lKiBmcmFtZSA9IGNvcmUoW21fcGx1
Z2luVmlldyBkZXByZWNhdGVkV2ViRnJhbWVdKTsKICAgICBpZiAoIWZyYW1lKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgCkBAIC0xMDcxLDcgKzEwNzEsNyBAQCBib29sIE5ldHNjYXBlUGx1
Z2luSW5zdGFuY2VQcm94eTo6c2V0UHJvCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAg
ICAgCi0gICAgRnJhbWUqIGZyYW1lID0gY29yZShbbV9wbHVnaW5WaWV3IHdlYkZyYW1lXSk7Cisg
ICAgRnJhbWUqIGZyYW1lID0gY29yZShbbV9wbHVnaW5WaWV3IGRlcHJlY2F0ZWRXZWJGcmFtZV0p
OwogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAKQEAgLTEwOTYs
NyArMTA5Niw3IEBAIGJvb2wgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpyZW1vdmUKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICAKLSAgICBGcmFtZSogZnJhbWUgPSBjb3Jl
KFttX3BsdWdpblZpZXcgd2ViRnJhbWVdKTsKKyAgICBGcmFtZSogZnJhbWUgPSBjb3JlKFttX3Bs
dWdpblZpZXcgZGVwcmVjYXRlZFdlYkZyYW1lXSk7CiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCkBAIC0xMTIzLDcgKzExMjMsNyBAQCBib29sIE5ldHNjYXBlUGx1Z2lu
SW5zdGFuY2VQcm94eTo6cmVtb3ZlCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAgICAg
Ci0gICAgRnJhbWUqIGZyYW1lID0gY29yZShbbV9wbHVnaW5WaWV3IHdlYkZyYW1lXSk7CisgICAg
RnJhbWUqIGZyYW1lID0gY29yZShbbV9wbHVnaW5WaWV3IGRlcHJlY2F0ZWRXZWJGcmFtZV0pOwog
ICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAKQEAgLTExNTAsNyAr
MTE1MCw3IEBAIGJvb2wgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpoYXNQcm8KICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICAKLSAgICBGcmFtZSogZnJhbWUgPSBjb3JlKFtt
X3BsdWdpblZpZXcgd2ViRnJhbWVdKTsKKyAgICBGcmFtZSogZnJhbWUgPSBjb3JlKFttX3BsdWdp
blZpZXcgZGVwcmVjYXRlZFdlYkZyYW1lXSk7CiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIApAQCAtMTE3Miw3ICsxMTcyLDcgQEAgYm9vbCBOZXRzY2FwZVBsdWdp
bkluc3RhbmNlUHJveHk6Omhhc1BybwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAg
IAotICAgIEZyYW1lKiBmcmFtZSA9IGNvcmUoW21fcGx1Z2luVmlldyB3ZWJGcmFtZV0pOworICAg
IEZyYW1lKiBmcmFtZSA9IGNvcmUoW21fcGx1Z2luVmlldyBkZXByZWNhdGVkV2ViRnJhbWVdKTsK
ICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCkBAIC0xMTk0LDcg
KzExOTQsNyBAQCBib29sIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6aGFzTWV0CiAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBGcmFtZSogZnJhbWUgPSBjb3JlKFttX3Bs
dWdpblZpZXcgd2ViRnJhbWVdKTsKKyAgICBGcmFtZSogZnJhbWUgPSBjb3JlKFttX3BsdWdpblZp
ZXcgZGVwcmVjYXRlZFdlYkZyYW1lXSk7CiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIApAQCAtMTIxNiw3ICsxMjE2LDcgQEAgYm9vbCBOZXRzY2FwZVBsdWdpbklu
c3RhbmNlUHJveHk6OmVudW1lcgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIAot
ICAgIEZyYW1lKiBmcmFtZSA9IGNvcmUoW21fcGx1Z2luVmlldyB3ZWJGcmFtZV0pOworICAgIEZy
YW1lKiBmcmFtZSA9IGNvcmUoW21fcGx1Z2luVmlldyBkZXByZWNhdGVkV2ViRnJhbWVdKTsKICAg
ICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCkBAIC0xNTAyLDcgKzE1
MDIsNyBAQCBib29sIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6Z2V0Q29vCiAgICAgaWYg
KCF1cmwpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAKLSAgICBpZiAoRnJhbWUqIGZyYW1l
ID0gY29yZShbbV9wbHVnaW5WaWV3IHdlYkZyYW1lXSkpIHsKKyAgICBpZiAoRnJhbWUqIGZyYW1l
ID0gY29yZShbbV9wbHVnaW5WaWV3IGRlcHJlY2F0ZWRXZWJGcmFtZV0pKSB7CiAgICAgICAgIFN0
cmluZyBjb29raWVTdHJpbmcgPSBjb29raWVzKGZyYW1lLT5kb2N1bWVudCgpLCB1cmwpOyAKICAg
ICAgICAgV1RGOjpDU3RyaW5nIGNvb2tpZVN0cmluZ1VURjggPSBjb29raWVTdHJpbmcudXRmOCgp
OwogICAgICAgICBpZiAoY29va2llU3RyaW5nVVRGOC5pc051bGwoKSkKQEAgLTE1MjYsNyArMTUy
Niw3IEBAIGJvb2wgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpzZXRDb28KICAgICBpZiAo
IXVybCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKEZyYW1lKiBmcmFtZSA9IGNv
cmUoW21fcGx1Z2luVmlldyB3ZWJGcmFtZV0pKSB7CisgICAgaWYgKEZyYW1lKiBmcmFtZSA9IGNv
cmUoW21fcGx1Z2luVmlldyBkZXByZWNhdGVkV2ViRnJhbWVdKSkgewogICAgICAgICBTdHJpbmcg
Y29va2llU3RyaW5nID0gU3RyaW5nOjpmcm9tVVRGOChjb29raWVzRGF0YSwgY29va2llc0xlbmd0
aCk7CiAgICAgICAgIGlmICghY29va2llU3RyaW5nKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gNjIyMDcpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0wNi0zMCAgQWxleGV5IFByb3NrdXJ5
YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICA8cmRhcjovL3Byb2JsZW0vODE0ODY1Nj4gPGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTQzMT4KKyAgICAgICAgUkVHUkVTU0lPTiAocjQ5NDEx
KTogVmFyaW91cyBjcmFzaGVzIGR1ZSB0byBKYXZhU2NyaXB0IGV4ZWN1dGlvbiBkdXJpbmcgcGx1
Zy1pbiBkZXN0cnVjdGlvbgorCisgICAgICAgIEFkZGVkIGEgdGVzdCBmb3IgdHdvIHNwZWNpZmlj
IHJlcHJvZHVjaWJsZSBjYXNlcy4KKworICAgICAgICAqIHBsdWdpbnMvcmVzb3VyY2VzL3dyaXRl
LXhzc2F1ZGl0b3ItZnJvbS1kZXN0cm95LWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBs
dWdpbnMvd3JpdGUteHNzYXVkaXRvci1mcm9tLWRlc3Ryb3ktZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBwbHVnaW5zL3dyaXRlLXhzc2F1ZGl0b3ItZnJvbS1kZXN0cm95Lmh0bWw6IEFk
ZGVkLgorCiAyMDEwLTA1LTI3ICBNYXJrIFJvd2UgIDxtcm93ZUBhcHBsZS5jb20+CiAKICAgICAg
ICAgTWVyZ2UgcjYwMjQ3LgpJbmRleDogTGF5b3V0VGVzdHMvcGx1Z2lucy93cml0ZS14c3NhdWRp
dG9yLWZyb20tZGVzdHJveS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGx1Z2lucy93cml0ZS14c3NhdWRpdG9yLWZyb20tZGVzdHJveS1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbHVnaW5zL3dyaXRlLXhzc2F1ZGl0b3ItZnJvbS1kZXN0
cm95LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorUEFTUyBpZiBkaWRu
J3QgY3Jhc2guCkluZGV4OiBMYXlvdXRUZXN0cy9wbHVnaW5zL3dyaXRlLXhzc2F1ZGl0b3ItZnJv
bS1kZXN0cm95Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGx1Z2lucy93cml0ZS14
c3NhdWRpdG9yLWZyb20tZGVzdHJveS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
cGx1Z2lucy93cml0ZS14c3NhdWRpdG9yLWZyb20tZGVzdHJveS5odG1sCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDI1IEBACis8aHRtbD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAg
IGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5zZXRYU1NBdWRpdG9yRW5hYmxlZCh0cnVlKTsKK30KKworZnVuY3Rpb24gcnVudGVz
dCgpCit7CisgICAgZnJhbWVzWzBdLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGciKS5mb29i
YXI7IC8vIEZvcmNlIHBsdWctaW4gbG9hZC4KKworICAgIGxvY2F0aW9uID0gImRhdGE6dGV4dC9o
dG1sLFBBU1MgaWYgZGlkbid0IGNyYXNoLiIgKworICAgICAgICAiPHNjcmlwdD4iICsgCisgICAg
ICAgICJpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSIgKworICAgICAgICAiICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOyIgKworICAgICAgICAiPC9zY3IiICsgImlw
dD4iOworfQorCisKKzwvc2NyaXB0PgorPGJvZHkgb25sb2FkPSJydW50ZXN0KCkiPgorPGlmcmFt
ZSBpZD0iZnJhbWUiIHNyYz0icmVzb3VyY2VzL3dyaXRlLXhzc2F1ZGl0b3ItZnJvbS1kZXN0cm95
LWZyYW1lLmh0bWwiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvcGx1Z2lucy9yZXNvdXJjZXMvd3JpdGUteHNzYXVkaXRvci1mcm9tLWRlc3Ryb3ktZnJhbWUu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbHVnaW5zL3Jlc291cmNlcy93cml0ZS14
c3NhdWRpdG9yLWZyb20tZGVzdHJveS1mcmFtZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvcGx1Z2lucy9yZXNvdXJjZXMvd3JpdGUteHNzYXVkaXRvci1mcm9tLWRlc3Ryb3ktZnJh
bWUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorPGRpdiBpZD1wbGF5Z3JvdW5k
PjwvZGl2PgorPGVtYmVkIGlkPSJwbGciIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3Qt
bmV0c2NhcGUiIG9uZGVzdHJveT0icGx1Z2luRGVzdHJveWVkKCkiPjwvZW1iZWQ+Cis8c2NyaXB0
PgorZnVuY3Rpb24gcGx1Z2luRGVzdHJveWVkKCkKK3sKKyAgICB0cnkgeworICAgICAgICBkb2N1
bWVudC5yZWZlcnJlcjsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBsYXlncm91
bmQiKS5pbm5lckhUTUwgPSAiPGRpdiBvbmNsaWNrPSdhbGVydCgwKSc+PC9kaXY+IgorICAgIH0g
Y2F0Y2ggKGV4KSB7CisgICAgICAgIGFsZXJ0KCJVbmV4cGVjdGVkIGV4Y2VwdGlvbjogIiArIGV4
KTsKKyAgICB9Cit9CisKKzwvc2NyaXB0Pgo=
</data>
<flag name="review"
          id="47487"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60261</attachid>
            <date>2010-07-01 10:29:26 -0700</date>
            <delta_ts>2010-07-01 10:43:49 -0700</delta_ts>
            <desc>an alternative WebKit part of the fix</desc>
            <filename>m_inDestroy.txt</filename>
            <type>text/plain</type>
            <size>4240</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvQ2hh
bmdlTG9nCShyZXZpc2lvbiA2MjI3MikKKysrIFdlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTAtMDctMDEgIEFsZXhleSBQcm9za3VyeWFrb3Yg
IDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgxNDg2NTY+IDxodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDE0MzE+CisgICAgICAgIFJFR1JFU1NJT04gKHI0OTQxMSk6IFZh
cmlvdXMgY3Jhc2hlcyBkdWUgdG8gSmF2YVNjcmlwdCBleGVjdXRpb24gZHVyaW5nIHBsdWctaW4g
ZGVzdHJ1Y3Rpb24KKworICAgICAgICBTdHJlbmd0aGVuIG1faW5EZXN0cm95ICJzd2lwZSB1bmRl
ciB0aGUgY2FycGV0IiBmaXguCisKKyAgICAgICAgKiBQbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBs
dWdpbkluc3RhbmNlUHJveHkuaDogQWRkZWQgYSBsb25nIGNvbW1lbnQgYWJvdXQgbV9pbkRlc3Ry
b3ksIGFuZAorICAgICAgICBjaGFuZ2VkIGl0IHRvIHN0YXRpYy4KKworICAgICAgICAqIFBsdWdp
bnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbToKKyAgICAgICAgKFdlYktp
dDo6TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJv
eHkpOiBtX2luRGVzdHJveSBpcyBub3cKKyAgICAgICAgc3RhdGljLCBzbyB3ZSBkb24ndCBpbml0
aWFsaXplIGl0IGZyb20gY29uc3RydWN0b3IuCisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1
Z2luSW5zdGFuY2VQcm94eTo6ZGVzdHJveSk6IEFzc2VydCB0aGF0IHdlIGFyZW4ndCBhbHJlYWR5
IGRlc3Ryb3lpbmcKKyAgICAgICAgc29tZSBwbHVnLWluLgorICAgICAgICAoV2ViS2l0OjpOZXRz
Y2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OmV2YWx1YXRlKTogVGhpcyBmdW5jdGlvbiBhY2NpZGVu
dGFsbHkgbGFja2VkIGFuCisgICAgICAgIG1faW5EZXN0cm95IGNoZWNrIGluIHI0Mjc4OS4KKwog
MjAxMC0wNi0yOCAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAgIE1lcmdl
IHI1OTEzOC4KSW5kZXg6IFdlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5J
bnN0YW5jZVByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9O
ZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaAkocmV2aXNpb24gNjIyNzEpCisrKyBXZWJLaXQv
bWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zNDQsNyArMzQ0LDE5IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9wbHVn
aW5GdW5jdGlvbkNhbGxEZXB0aDsKICAgICBib29sIG1fc2hvdWxkU3RvcFNvb247CiAgICAgdWlu
dDMyX3QgbV9jdXJyZW50UmVxdWVzdElEOwotICAgIGJvb2wgbV9pbkRlc3Ryb3k7CisKKyAgICAv
LyBBbGwgTlBSdW50aW1lIGZ1bmN0aW9ucyB3aWxsIHJldHVybiBmYWxzZSB3aGVuIGRlc3Ryb3lp
bmcgYSBwbHVnLWluLiBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZXJlIG1heSBiZSB1bmhh
bmRsZWQgbWVzc2FnZXMgd2FpdGluZywKKyAgICAvLyBhbmQgc3Bpbm5pbmcgaW4gcHJvY2Vzc1Jl
cXVlc3RzKCkgd2lsbCB1bmV4cGVjdGVkbHkgZXhlY3V0ZSB0aGVtIGZyb20gaW5zaWRlIGRlc3Ry
b3koKS4gVGhhdCdzIG5vdCBhIGdvb2QgdGltZSB0byBleGVjdXRlIGFyYml0cmFyeSBKYXZhU2Ny
aXB0LAorICAgIC8vIHNpbmNlIGJvdGggbG9hZGluZyBhbmQgcmVuZGVyaW5nIGRhdGEgc3RydWN0
dXJlcyBtYXkgYmUgaW4gaW5jb25zaXN0ZW50IHN0YXRlLgorICAgIC8vIFRoaXMgc3VwcHJlc3Nl
cyBjYWxscyBmcm9tIGFsbCBwbHVnLWlucywgZXZlbiB0aG9zZSBpbiBkaWZmZXJlbnQgcGFnZXMs
IHNpbmNlIEpTIG1pZ2h0IGFmZmVjdCB0aGUgZnJhbWUgd2l0aCBwbHVnLWluIHRoYXQncyBiZWlu
ZyBzdG9wcGVkLgorICAgIC8vCisgICAgLy8gRklYTUU6IFBsdWctaW5zIGNhbiBleGVjdXRlIGFy
Yml0cmFyeSBKUyBmcm9tIGRlc3Ryb3koKSBpbiBzYW1lIHByb2Nlc3MgY2FzZSwgYW5kIG90aGVy
IGJyb3dzZXJzIGFsc28gc3VwcG9ydCB0aGF0LgorICAgIC8vIEEgYmV0dGVyIGZpeCBtYXkgYmUg
dG8gbWFrZSBzdXJlIHRoYXQgdW5yZWxhdGVkIG1lc3NhZ2VzIGFyZSBwb3N0cG9uZWQgdW50aWwg
YWZ0ZXIgZGVzdHJveSgpIHJldHVybnMuCisgICAgLy8gQW5vdGhlciBwb3NzaWJsZSBmaXggbWF5
IGJlIHRvIHNlbmQgZGVzdHJveSBtZXNzYWdlIGF0IGEgdGltZSB3aGVuIGludGVybmFsIHN0cnVj
dHVyZXMgYXJlIGNvbnNpc3RlbnQuCisgICAgLy8KKyAgICAvLyBGSVhNRTogV2UgbGFjayBzaW1p
bGFyIG1lc3NhZ2Ugc3VwcHJlc3Npb24gaW4gb3RoZXIgY2FzZXMgLSByZXNpemUoKSBpcyBhbHNv
IHRyaWdnZXJlZCBieSBsYXlvdXQsIHNvIGV4ZWN1dGluZyBhcmJpdHJhcnkgSlMgaXMgYWxzbyBw
cm9ibGVtYXRpYy4KKyAgICBzdGF0aWMgYm9vbCBtX2luRGVzdHJveTsKKwogICAgIGJvb2wgbV9w
bHVnaW5Jc1dhaXRpbmdGb3JEcmF3OwogICAgIAogICAgIFJlZlB0cjxIb3N0ZWROZXRzY2FwZVBs
dWdpblN0cmVhbT4gbV9tYW51YWxTdHJlYW07CkluZGV4OiBXZWJLaXQvbWFjL1BsdWdpbnMvSG9z
dGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQv
bWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQkocmV2aXNp
b24gNjIyNzEpCisrKyBXZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5z
dGFuY2VQcm94eS5tbQkod29ya2luZyBjb3B5KQpAQCAtMjA2LDYgKzIwNiw4IEBAIGJvb2wgTmV0
c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpMb2NhbE8KIAogc3RhdGljIHVpbnQzMl90IHBsdWdp
bklEQ291bnRlcjsKIAorYm9vbCBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6Om1faW5EZXN0
cm95OworCiAjaWZuZGVmIE5ERUJVRwogc3RhdGljIFdURjo6UmVmQ291bnRlZExlYWtDb3VudGVy
IG5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eUNvdW50ZXIoIk5ldHNjYXBlUGx1Z2luSW5zdGFu
Y2VQcm94eSIpOwogI2VuZGlmCkBAIC0yMjIsNyArMjI0LDYgQEAgTmV0c2NhcGVQbHVnaW5JbnN0
YW5jZVByb3h5OjpOZXRzY2FwZVBsdQogICAgICwgbV9wbHVnaW5GdW5jdGlvbkNhbGxEZXB0aCgw
KQogICAgICwgbV9zaG91bGRTdG9wU29vbihmYWxzZSkKICAgICAsIG1fY3VycmVudFJlcXVlc3RJ
RCgwKQotICAgICwgbV9pbkRlc3Ryb3koZmFsc2UpCiAgICAgLCBtX3BsdWdpbklzV2FpdGluZ0Zv
ckRyYXcoZmFsc2UpCiB7CiAgICAgQVNTRVJUKG1fcGx1Z2luVmlldyk7CkBAIC0zMTYsNyArMzE3
LDggQEAgdm9pZCBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OmludmFsaQogdm9pZCBOZXRz
Y2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OmRlc3Ryb3koKQogewogICAgIHVpbnQzMl90IHJlcXVl
c3RJRCA9IG5leHRSZXF1ZXN0SUQoKTsKLSAgICAKKworICAgIEFTU0VSVCghbV9pbkRlc3Ryb3kp
OwogICAgIG1faW5EZXN0cm95ID0gdHJ1ZTsKICAgICAKICAgICBGcmFtZUxvYWRNYXA6Oml0ZXJh
dG9yIGVuZCA9IG1fcGVuZGluZ0ZyYW1lTG9hZHMuZW5kKCk7CkBAIC04NDMsNiArODQ1LDkgQEAg
Ym9vbCBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OmV2YWx1YQogICAgIHJlc3VsdERhdGEg
PSAwOwogICAgIHJlc3VsdExlbmd0aCA9IDA7CiAKKyAgICBpZiAobV9pbkRlc3Ryb3kpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKwogICAgIGlmICghbV9sb2NhbE9iamVjdHMuY29udGFpbnMob2Jq
ZWN0SUQpKSB7CiAgICAgICAgIExPR19FUlJPUigiTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5
OjpldmFsdWF0ZTogbG9jYWwgb2JqZWN0ICV1IGRvZXNuJ3QgZXhpc3QuIiwgb2JqZWN0SUQpOwog
ICAgICAgICByZXR1cm4gZmFsc2U7Cg==
</data>
<flag name="review"
          id="47646"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>