<?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>6944</bug_id>
          
          <creation_ts>2006-01-30 14:54:33 -0800</creation_ts>
          <short_desc>REGRESSION: crash when loading page w/ &lt;link&gt; that has a DOMSubtreeModified event listener</short_desc>
          <delta_ts>2019-02-06 09:03:12 -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>DOM</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adele Peterson">adele</reporter>
          <assigned_to name="Adele Peterson">adele</assigned_to>
          <cc>cdumez</cc>
    
    <cc>mjs</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>30665</commentid>
    <comment_count>0</comment_count>
    <who name="Adele Peterson">adele</who>
    <bug_when>2006-01-30 14:54:33 -0800</bug_when>
    <thetext>When you load the attached test page, you get this crash:

Thread 0 Crashed:
0   &lt;&lt;00000000&gt;&gt; 	0xa6481890 0 + -1505224560
1   com.apple.WebCore        	0x01f56170 -[DOMNamedNodeMap getNamedItem:] + 200 (DOM.mm:676)
2   com.apple.Syndication    	0x99c764f4 -[DocumentLinks _findLinksInDOM:] + 248
3   com.apple.Syndication    	0x99c763e4 -[DocumentLinks initWithURL:DOM:] + 120
4   com.apple.SyndicationUI  	0x99cbe3b8 -[SafariSyndication feedURLFromDOM:baseURL:] + 80
5   com.apple.Safari         	0x0015a900 -[SyndicationController feedURLFromDOM:baseURL:] + 88 (SyndicationController.m:198)
6   com.apple.Safari         	0x00179e4c -[BrowserWebView updateCounterpartURLForRSS] + 712 (BrowserWebView.m:2317)
7   com.apple.Safari         	0x000cb11c -[LocationChangeHandler webView:locationChangeDone:forDataSource:] + 908 (LocationChangeHandler.m:682)
8   com.apple.Safari         	0x000cb498 -[LocationChangeHandler webView:didFinishLoadForFrame:] + 116 (LocationChangeHandler.m:717)
9   libobjc.A.dylib          	0x909c5214 objc_msgSendv + 180
10  com.apple.Foundation     	0x928d02a8 -[NSInvocation invoke] + 944
11  com.apple.Foundation     	0x928d0858 -[NSInvocation invokeWithTarget:] + 64
12  com.apple.WebKit         	0x012b0aa8 -[_WebSafeForwarder forwardInvocation:] + 624 (WebView.m:1489)
13  com.apple.Foundation     	0x928c8654 -[NSObject(NSForwardInvocation) forward::] + 408
14  libobjc.A.dylib          	0x909c50d0 _objc_msgForward + 176
15  com.apple.WebKit         	0x01262db4 -[WebFrame(WebPrivate) _checkLoadCompleteForThisFrame] + 2476 (WebFrame.m:1189)
16  com.apple.WebKit         	0x01263028 -[WebFrame(WebPrivate) _checkLoadComplete] + 164 (WebFrame.m:1223)
17  com.apple.WebKit         	0x012ab3f4 -[WebView(WebPrivate) _mainReceivedBytesSoFar:fromDataSource:complete:] + 236 (WebView.m:607)
18  com.apple.WebKit         	0x01293c74 -[WebMainResourceLoader didFinishLoading] + 656 (WebMainResourceLoader.m:398)
19  com.apple.WebKit         	0x01251bf4 -[WebLoader connectionDidFinishLoading:] + 184 (WebLoader.m:663)
20  com.apple.Foundation     	0x92906dbc -[NSURLConnection(NSURLConnectionInternal) _sendDidFinishLoadingCallback] + 188
21  com.apple.Foundation     	0x92905028 -[NSURLConnection(NSURLConnectionInternal) _sendCallbacks] + 556
22  com.apple.Foundation     	0x92904d80 _sendCallbacks + 156
23  com.apple.CoreFoundation 	0x9075ea68 __CFRunLoopDoSources0 + 384
24  com.apple.CoreFoundation 	0x9075df98 __CFRunLoopRun + 452
25  com.apple.CoreFoundation 	0x9075da18 CFRunLoopRunSpecific + 268
26  com.apple.HIToolbox      	0x9317c380 RunCurrentEventLoopInMode + 264
27  com.apple.HIToolbox      	0x9317b98c ReceiveNextEventCommon + 244
28  com.apple.HIToolbox      	0x9317b880 BlockUntilNextEventMatchingListInMode + 96
29  com.apple.AppKit         	0x9367a104 _DPSNextEvent + 384
30  com.apple.AppKit         	0x93679dc8 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116
31  com.apple.Safari         	0x00031048 -[BrowserApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 296 (BrowserApplication.m:152)
32  com.apple.AppKit         	0x9367630c -[NSApplication run] + 472
33  com.apple.AppKit         	0x93766e68 NSApplicationMain + 452
34  com.apple.Safari         	0x000f9878 main + 160 (main.m:23)
35  com.apple.Safari         	0x00002eb0 _start + 340 (crt.c:272)
36  com.apple.Safari         	0x00002d58 start + 60</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30666</commentid>
    <comment_count>1</comment_count>
      <attachid>6120</attachid>
    <who name="Adele Peterson">adele</who>
    <bug_when>2006-01-30 14:55:10 -0800</bug_when>
    <thetext>Created attachment 6120
crashing test case

this does not crash with Safari-417.8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30667</commentid>
    <comment_count>2</comment_count>
    <who name="Adele Peterson">adele</who>
    <bug_when>2006-01-30 14:57:51 -0800</bug_when>
    <thetext>I&apos;m working on a patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30669</commentid>
    <comment_count>3</comment_count>
      <attachid>6121</attachid>
    <who name="Adele Peterson">adele</who>
    <bug_when>2006-01-30 15:36:16 -0800</bug_when>
    <thetext>Created attachment 6121
patch

While debugging, I saw the event get destroyed, and then my node, which was an AttrImpl, getting destroyed.  This patch fixes my test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30673</commentid>
    <comment_count>4</comment_count>
      <attachid>6121</attachid>
    <who name="Adele Peterson">adele</who>
    <bug_when>2006-01-30 16:54:27 -0800</bug_when>
    <thetext>Comment on attachment 6121
patch

uh oh.  I think this causes some leaks.  I&apos;ll have to rethink it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30782</commentid>
    <comment_count>5</comment_count>
      <attachid>6121</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-01-31 09:32:41 -0800</bug_when>
    <thetext>Comment on attachment 6121
patch

I think this patch is correct, so if it causes a leak, I would expect it would be a bug elsewhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30819</commentid>
    <comment_count>6</comment_count>
    <who name="Adele Peterson">adele</who>
    <bug_when>2006-01-31 16:31:42 -0800</bug_when>
    <thetext>Last patch doesn&apos;t work because AttrImpl has a reference to it&apos;s AttributeImpl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30829</commentid>
    <comment_count>7</comment_count>
    <who name="Adele Peterson">adele</who>
    <bug_when>2006-01-31 17:58:03 -0800</bug_when>
    <thetext>I&apos;m trying to find some way to ref the AttrImpl in NamedAttrMapImpl::getNamedItem so that the AttrImpl stays around long enough, but I haven&apos;t been able to get anything to work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31496</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-02-05 19:44:57 -0800</bug_when>
    <thetext>The trick here is that the AttributeImpl must be retained when appendChildNode is called on it. I have a patch in the works.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31662</commentid>
    <comment_count>9</comment_count>
      <attachid>6311</attachid>
    <who name="Adele Peterson">adele</who>
    <bug_when>2006-02-06 20:09:28 -0800</bug_when>
    <thetext>Created attachment 6311
patch

new and improved patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31687</commentid>
    <comment_count>10</comment_count>
      <attachid>6311</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-02-06 23:04:37 -0800</bug_when>
    <thetext>Comment on attachment 6311
patch

r=me

Nice work</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502924</commentid>
    <comment_count>11</comment_count>
    <who name="Lucas Forschler">lforschler</who>
    <bug_when>2019-02-06 09:03:12 -0800</bug_when>
    <thetext>Mass moving XML DOM bugs to the &quot;DOM&quot; Component.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>6120</attachid>
            <date>2006-01-30 14:55:10 -0800</date>
            <delta_ts>2006-01-30 14:55:10 -0800</delta_ts>
            <desc>crashing test case</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>264</size>
            <attacher name="Adele Peterson">adele</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c2NyaXB0PgpmdW5jdGlvbiBpbml0KCkgewogICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3Rlc3QnKS5hZGRFdmVudExpc3RlbmVyKCdET01TdWJ0cmVlTW9kaWZpZWQn
LGZ1bmN0aW9uICgpIHsKCQlhbGVydCgnU3VidHJlZSBtb2RpZmllZCEnKQoJfSxmYWxzZSk7Cn0K
PC9zY3JpcHQ+CjxsaW5rIHJlbD0iVG9wIiBpZD0idGVzdCIgaHJlZj0iIyI+CjwvaGVhZD4KPGJv
ZHkgb25sb2FkPSJpbml0KCkiPgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6121</attachid>
            <date>2006-01-30 15:36:16 -0800</date>
            <delta_ts>2006-02-06 20:09:28 -0800</delta_ts>
            <desc>patch</desc>
            <filename>crash.txt</filename>
            <type>text/plain</type>
            <size>5722</size>
            <attacher name="Adele Peterson">adele</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxMjQ4MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMDYtMDEtMzAgIEFkZWxlIFBldGVyc29uICA8YWRlbGVAYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZp
eCBmb3IgaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQ0
CisgICAgICAgIFJFR1JFU1NJT046IGNyYXNoIHdoZW4gbG9hZGluZyBwYWdlIHcvIDxsaW5rPiB0
aGF0IGhhcyBhIERPTVN1YnRyZWVNb2RpZmllZCBldmVudCBsaXN0ZW5lcgorCisgICAgICAgIFVz
ZSBhIFJlZlB0ciBmb3IgQXR0cmlidXRlSW1wbCdzIG1faW1wbCBzbyB0aGF0IGl0IGRvZXNuJ3Qg
Z2V0IGRlc3Ryb3llZCB3aGVuIAorICAgICAgICB0aGUgZXZlbnQgZ2V0cyBkZXN0cm95ZWQgYWZ0
ZXIgZGlzcGF0Y2hFdmVudCBpcyBjYWxsZWQuCisKKyAgICAgICAgKiBraHRtbC94bWwvZG9tX2Vs
ZW1lbnRpbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVkQXR0ck1hcEltcGw6OmFkZEF0
dHJpYnV0ZSk6CisgICAgICAgICoga2h0bWwveG1sL2RvbV9lbGVtZW50aW1wbC5oOgorICAgICAg
ICAoRE9NOjpBdHRyaWJ1dGVJbXBsOjpBdHRyaWJ1dGVJbXBsKToKKyAgICAgICAgKERPTTo6QXR0
cmlidXRlSW1wbDo6YXR0ckltcGwpOgorCiAyMDA2LTAxLTMwICBHZW9mZnJleSBHYXJlbiAgPGdn
YXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2ZSBIYXJyaXNvbi4KCklu
ZGV4OiBXZWJDb3JlL2todG1sL3htbC9kb21fZWxlbWVudGltcGwuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2todG1sL3htbC9kb21fZWxlbWVudGltcGwuaAkocmV2aXNpb24gMTI0NzgpCisrKyBX
ZWJDb3JlL2todG1sL3htbC9kb21fZWxlbWVudGltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtNjcs
MTEgKzY3LDExIEBACiBwdWJsaWM6CiAgICAgLy8gbnVsbCB2YWx1ZSBpcyBmb3JiaWRkZW4gIQog
ICAgIEF0dHJpYnV0ZUltcGwoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWlj
U3RyaW5nJiB2YWx1ZSkKLSAgICAgICAgOiBtX25hbWUobmFtZSksIG1fdmFsdWUodmFsdWUpLCBt
X2ltcGwoMCkKKyAgICAgICAgOiBtX25hbWUobmFtZSksIG1fdmFsdWUodmFsdWUpCiAgICAge30K
ICAgICAKICAgICBBdHRyaWJ1dGVJbXBsKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3Qg
QXRvbWljU3RyaW5nJiB2YWx1ZSkKLSAgICAgICAgOiBtX25hbWUobnVsbEF0b20sIG5hbWUsIG51
bGxBdG9tKSwgbV92YWx1ZSh2YWx1ZSksIG1faW1wbCgwKQorICAgICAgICA6IG1fbmFtZShudWxs
QXRvbSwgbmFtZSwgbnVsbEF0b20pLCBtX3ZhbHVlKHZhbHVlKQogICAgIHt9CiAKICAgICB2aXJ0
dWFsIH5BdHRyaWJ1dGVJbXBsKCkge30KQEAgLTgzLDcgKzgzLDcgQEAKICAgICAKICAgICBjb25z
dCBRdWFsaWZpZWROYW1lJiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CiAgICAgCi0g
ICAgQXR0ckltcGwqIGF0dHJJbXBsKCkgY29uc3QgeyByZXR1cm4gbV9pbXBsOyB9CisgICAgQXR0
ckltcGwqIGF0dHJJbXBsKCkgY29uc3QgeyByZXR1cm4gbV9pbXBsLmdldCgpOyB9CiAKICAgICBi
b29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWUuaXNOdWxsKCk7IH0KICAgICBib29s
IGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlLmlzRW1wdHkoKTsgfQpAQCAtMTAyLDcg
KzEwMiw3IEBACiBwcm90ZWN0ZWQ6CiAgICAgUXVhbGlmaWVkTmFtZSBtX25hbWU7CiAgICAgQXRv
bWljU3RyaW5nIG1fdmFsdWU7Ci0gICAgQXR0ckltcGwqIG1faW1wbDsKKyAgICBSZWZQdHI8QXR0
ckltcGw+IG1faW1wbDsKIH07CiAKIC8vIEF0dHIgY2FuIGhhdmUgVGV4dCBhbmQgRW50aXR5UmVm
ZXJlbmNlIGNoaWxkcmVuCkluZGV4OiBXZWJDb3JlL2todG1sL3htbC9kb21fZWxlbWVudGltcGwu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva2h0bWwveG1sL2RvbV9lbGVtZW50aW1wbC5jcHAJ
KHJldmlzaW9uIDEyNDc4KQorKysgV2ViQ29yZS9raHRtbC94bWwvZG9tX2VsZW1lbnRpbXBsLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTA2Nyw3ICsxMDY3LDcgQEAKICAgICBhdHRyc1tsZW4rK10g
PSBhdHRyOwogICAgIGF0dHItPnJlZigpOwogCi0gICAgQXR0ckltcGwgKiBjb25zdCBhdHRySW1w
bCA9IGF0dHItPm1faW1wbDsKKyAgICBBdHRySW1wbCAqIGNvbnN0IGF0dHJJbXBsID0gYXR0ci0+
bV9pbXBsLmdldCgpOwogICAgIGlmIChhdHRySW1wbCkKICAgICAgICAgYXR0ckltcGwtPm1fZWxl
bWVudCA9IGVsZW1lbnQ7CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgKHJldmlzaW9uIDEyNDc4KQorKysgTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMDYtMDEtMzAgIEFkZWxlIFBldGVyc29uICA8YWRlbGVAYXBwbGUuY29tPgorCisgICAgICAg
IFRlc3QgZm9yOiBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lk
PTY5NDQKKyAgICAgICAgUkVHUkVTU0lPTjogY3Jhc2ggd2hlbiBsb2FkaW5nIHBhZ2Ugdy8gPGxp
bms+IHRoYXQgaGFzIGEgRE9NU3VidHJlZU1vZGlmaWVkIGV2ZW50IGxpc3RlbmVyCisKKyAgICAg
ICAgKiBmYXN0L2V2ZW50cy9ldmVudC1saXN0ZW5lci1vbi1saW5rLWV4cGVjdGVkLmNoZWNrc3Vt
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9ldmVudC1saXN0ZW5lci1vbi1saW5rLWV4
cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvZXZlbnQtbGlzdGVuZXIt
b24tbGluay1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL2V2ZW50
LWxpc3RlbmVyLW9uLWxpbmsuaHRtbDogQWRkZWQuCisKIDIwMDYtMDEtMzAgIERhcmluIEFkbGVy
ICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIC0gdXBkYXRlZCB0ZXN0IHJlc3VsdCBmb3Ig
cmVjdCBjaGFuZ2VzCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1saXN0ZW5l
ci1vbi1saW5rLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9ldmVudC1saXN0ZW5lci1vbi1saW5rLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWxpc3RlbmVyLW9uLWxpbmstZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEwIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgUmVuZGVyQ2FudmFzIGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJl
bmRlclRleHQge1RFWFR9IGF0ICgwLDApIHNpemUgNzY2eDM2CisgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDc2NjogIlRoaXMgdGVzdHMgdGhhdCB5b3UgY2FuIHN1Y2Nlc3NmdWxseSBh
ZGQgYSBET01TdWJ0cmVlTW9kaWZpZWQgZXZlbnQgbGlzdGVuZXIgdG8gYSBsaW5rIGVsZW1lbnQs
IGFuZCB0aGUgcGFnZSBzaG91bGQgbG9hZCIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdp
ZHRoIDEwOTogIndpdGhvdXQgY3Jhc2hpbmcuIgorICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQg
KDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgwLDApIHNpemUgMHgw
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1saXN0ZW5lci1vbi1saW5rLWV4
cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2
ZW50LWxpc3RlbmVyLW9uLWxpbmstZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1saXN0ZW5lci1vbi1saW5rLWV4cGVjdGVkLmNo
ZWNrc3VtCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACis5NmVhM2ViNWZmMzE4Y2FiMmJmMmZh
ZjViNmMyZDAwZgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL2V2ZW50LWxpc3RlbmVyLW9uLWxpbmsuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1saXN0ZW5lci1vbi1saW5rLmh0bWwJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1saXN0ZW5lci1vbi1saW5r
Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0PgorZnVuY3Rpb24gaW5pdCgpIHsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVz
dCcpLmFkZEV2ZW50TGlzdGVuZXIoJ0RPTVN1YnRyZWVNb2RpZmllZCcsZnVuY3Rpb24gKCkgewor
CQlhbGVydCgnU3VidHJlZSBtb2RpZmllZCEnKQorCX0sZmFsc2UpOworfQorPC9zY3JpcHQ+Cis8
bGluayByZWw9IlRvcCIgaWQ9InRlc3QiIGhyZWY9IiMiPgorPC9oZWFkPgorPGJvZHkgb25sb2Fk
PSJpbml0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IHlvdSBjYW4gc3VjY2Vzc2Z1bGx5IGFkZCBhIERP
TVN1YnRyZWVNb2RpZmllZCBldmVudCBsaXN0ZW5lciB0byBhIGxpbmsgZWxlbWVudCwgYW5kIHRo
ZSBwYWdlIHNob3VsZCBsb2FkIHdpdGhvdXQgY3Jhc2hpbmcuCis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1saXN0ZW5lci1vbi1saW5rLWV4cGVj
dGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFy
eSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1saXN0ZW5lci1vbi1s
aW5rLWV4cGVjdGVkLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyBhcHBs
aWNhdGlvbi9vY3RldC1zdHJlYW0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6311</attachid>
            <date>2006-02-06 20:09:28 -0800</date>
            <delta_ts>2006-02-06 23:04:37 -0800</delta_ts>
            <desc>patch</desc>
            <filename>event.txt</filename>
            <type>text/plain</type>
            <size>22365</size>
            <attacher name="Adele Peterson">adele</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDEyNjA2KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDYtMDItMDYgIEFkZWxlIFBldGVyc29uICA8
YWRlbGVAYXBwbGUuY29tPworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIC0gZml4IGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Njk0NAorICAgICAgICAgIFJFR1JFU1NJT046IGNyYXNoIHdoZW4gbG9hZGluZyBwYWdl
IHcvIDxsaW5rPiB0aGF0IGhhcyBhIERPTVN1YnRyZWVNb2RpZmllZCBldmVudCBsaXN0ZW5lcgor
CisgICAgICAgICogZmFzdC9ldmVudHMvZXZlbnQtbGlzdGVuZXItb24tbGluay5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9ldmVudC1saXN0ZW5lci1vbi1saW5rLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvZXZlbnQtbGlzdGVuZXItb24tbGlu
ay1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL2V2ZW50LWxpc3Rl
bmVyLW9uLWxpbmstZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorCiAyMDA2LTAyLTA1ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICAtIGNvbnZlcnRlZCB0aHJlZSBt
b3JlIGZpbGVzIGZyb20gVVRGLTE2IHRvIEFTQ0lJIHRoYXQgaGFkIG5vIHJlYXNvbiB0byBiZSBV
VEYtMTYKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWxpc3RlbmVyLW9uLWxp
bmstZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2
ZW50LWxpc3RlbmVyLW9uLWxpbmstZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtbGlzdGVuZXItb24tbGluay1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMTAgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAor
ICBSZW5kZXJDYW52YXMgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVyVGV4
dCB7VEVYVH0gYXQgKDAsMCkgc2l6ZSA3NjZ4MzYKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggNzY2OiAiVGhpcyB0ZXN0cyB0aGF0IHlvdSBjYW4gc3VjY2Vzc2Z1bGx5IGFkZCBhIERP
TVN1YnRyZWVNb2RpZmllZCBldmVudCBsaXN0ZW5lciB0byBhIGxpbmsgZWxlbWVudCwgYW5kIHRo
ZSBwYWdlIHNob3VsZCBsb2FkIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggMTA5
OiAid2l0aG91dCBjcmFzaGluZy4iCisgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMCwwKSBz
aXplIDB4MAorICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWxpc3RlbmVyLW9uLWxpbmstZXhwZWN0ZWQu
Y2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtbGlz
dGVuZXItb24tbGluay1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWxpc3RlbmVyLW9uLWxpbmstZXhwZWN0ZWQuY2hlY2tzdW0J
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKKzk2ZWEzZWI1ZmYzMThjYWIyYmYyZmFmNWI2YzJk
MDBmClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvZXZlbnQtbGlzdGVuZXItb24tbGluay5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWxpc3RlbmVyLW9uLWxpbmsuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWxpc3RlbmVyLW9uLWxpbmsuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Citm
dW5jdGlvbiBpbml0KCkgeworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0JykuYWRk
RXZlbnRMaXN0ZW5lcignRE9NU3VidHJlZU1vZGlmaWVkJyxmdW5jdGlvbiAoKSB7CisJCWFsZXJ0
KCdTdWJ0cmVlIG1vZGlmaWVkIScpCisJfSxmYWxzZSk7Cit9Cis8L3NjcmlwdD4KKzxsaW5rIHJl
bD0iVG9wIiBpZD0idGVzdCIgaHJlZj0iIyI+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9ImluaXQo
KSI+CitUaGlzIHRlc3RzIHRoYXQgeW91IGNhbiBzdWNjZXNzZnVsbHkgYWRkIGEgRE9NU3VidHJl
ZU1vZGlmaWVkIGV2ZW50IGxpc3RlbmVyIHRvIGEgbGluayBlbGVtZW50LCBhbmQgdGhlIHBhZ2Ug
c2hvdWxkIGxvYWQgd2l0aG91dCBjcmFzaGluZy4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWxpc3RlbmVyLW9uLWxpbmstZXhwZWN0ZWQucG5n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUu
CnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWxpc3RlbmVyLW9uLWxpbmstZXhw
ZWN0ZWQucG5nCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIGFwcGxpY2F0aW9u
L29jdGV0LXN0cmVhbQoKSW5kZXg6IFdlYkNvcmUva2h0bWwveG1sL0RvY3VtZW50SW1wbC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUva2h0bWwveG1sL0RvY3VtZW50SW1wbC5oCShyZXZpc2lvbiAx
MjYwOSkKKysrIFdlYkNvcmUva2h0bWwveG1sL0RvY3VtZW50SW1wbC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xNTEsOCArMTUxLDggQEAKICAgICBDb21tZW50SW1wbCAqY3JlYXRlQ29tbWVudCAoIGNv
bnN0IERPTVN0cmluZyAmZGF0YSApOwogICAgIENEQVRBU2VjdGlvbkltcGwgKmNyZWF0ZUNEQVRB
U2VjdGlvbihjb25zdCBET01TdHJpbmcgJmRhdGEsIGludCAmZXhjZXB0aW9uKTsKICAgICBQcm9j
ZXNzaW5nSW5zdHJ1Y3Rpb25JbXBsICpjcmVhdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oY29uc3Qg
RE9NU3RyaW5nICZ0YXJnZXQsIGNvbnN0IERPTVN0cmluZyAmZGF0YSwgaW50ICZleGNlcHRpb24p
OwotICAgIEF0dHJJbXBsICpjcmVhdGVBdHRyaWJ1dGUoY29uc3QgRE9NU3RyaW5nICZuYW1lLCBp
bnQgJmV4Y2VwdGlvbikgeyByZXR1cm4gY3JlYXRlQXR0cmlidXRlTlMoRE9NU3RyaW5nKCksIG5h
bWUsIGV4Y2VwdGlvbik7IH0KLSAgICBBdHRySW1wbCAqY3JlYXRlQXR0cmlidXRlTlMoY29uc3Qg
RE9NU3RyaW5nICZuYW1lc3BhY2VVUkksIGNvbnN0IERPTVN0cmluZyAmcXVhbGlmaWVkTmFtZSwg
aW50ICZleGNlcHRpb24pOworICAgIFBhc3NSZWZQdHI8QXR0ckltcGw+IGNyZWF0ZUF0dHJpYnV0
ZShjb25zdCBET01TdHJpbmcgJm5hbWUsIGludCAmZXhjZXB0aW9uKSB7IHJldHVybiBjcmVhdGVB
dHRyaWJ1dGVOUyhET01TdHJpbmcoKSwgbmFtZSwgZXhjZXB0aW9uKTsgfQorICAgIFBhc3NSZWZQ
dHI8QXR0ckltcGw+IGNyZWF0ZUF0dHJpYnV0ZU5TKGNvbnN0IERPTVN0cmluZyAmbmFtZXNwYWNl
VVJJLCBjb25zdCBET01TdHJpbmcgJnF1YWxpZmllZE5hbWUsIGludCAmZXhjZXB0aW9uKTsKICAg
ICBFbnRpdHlSZWZlcmVuY2VJbXBsICpjcmVhdGVFbnRpdHlSZWZlcmVuY2UoY29uc3QgRE9NU3Ry
aW5nICZuYW1lLCBpbnQgJmV4Y2VwdGlvbkNvZGUpOwogICAgIE5vZGVJbXBsICppbXBvcnROb2Rl
KCBOb2RlSW1wbCAqaW1wb3J0ZWROb2RlLCBib29sIGRlZXAsIGludCAmZXhjZXB0aW9uY29kZSAp
OwogICAgIHZpcnR1YWwgRWxlbWVudEltcGwgKmNyZWF0ZUVsZW1lbnROUyhjb25zdCBET01TdHJp
bmcgJl9uYW1lc3BhY2VVUkksIGNvbnN0IERPTVN0cmluZyAmX3F1YWxpZmllZE5hbWUsIGludCAm
ZXhjZXB0aW9uY29kZSk7CkluZGV4OiBXZWJDb3JlL2todG1sL3htbC9kb21fZWxlbWVudGltcGwu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2todG1sL3htbC9kb21fZWxlbWVudGltcGwuaAkocmV2
aXNpb24gMTI2MDkpCisrKyBXZWJDb3JlL2todG1sL3htbC9kb21fZWxlbWVudGltcGwuaAkod29y
a2luZyBjb3B5KQpAQCAtODQsNiArODQsNyBAQAogICAgIGNvbnN0IFF1YWxpZmllZE5hbWUmIG5h
bWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KICAgICAKICAgICBBdHRySW1wbCogYXR0cklt
cGwoKSBjb25zdCB7IHJldHVybiBtX2ltcGw7IH0KKyAgICBQYXNzUmVmUHRyPEF0dHJJbXBsPiBj
cmVhdGVBdHRySW1wbElmTmVlZGVkKEVsZW1lbnRJbXBsKiBlKTsKIAogICAgIGJvb2wgaXNOdWxs
KCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZS5pc051bGwoKTsgfQogICAgIGJvb2wgaXNFbXB0eSgp
IGNvbnN0IHsgcmV0dXJuIG1fdmFsdWUuaXNFbXB0eSgpOyB9CkBAIC05Nyw4ICs5OCw2IEBACiAg
ICAgdm9pZCBzZXRWYWx1ZShjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKSB7IG1fdmFsdWUgPSB2
YWx1ZTsgfQogICAgIHZvaWQgc2V0UHJlZml4KGNvbnN0IEF0b21pY1N0cmluZyYgcHJlZml4KSB7
IG1fbmFtZS5zZXRQcmVmaXgocHJlZml4KTsgfQogCi0gICAgdm9pZCBhbGxvY2F0ZUltcGwoRWxl
bWVudEltcGwqIGUpOwotCiBwcm90ZWN0ZWQ6CiAgICAgUXVhbGlmaWVkTmFtZSBtX25hbWU7CiAg
ICAgQXRvbWljU3RyaW5nIG1fdmFsdWU7CkBAIC0xMTYsMTQgKzExNSwxMyBAQAogICAgIGZyaWVu
ZCBjbGFzcyBOYW1lZEF0dHJNYXBJbXBsOwogCiBwdWJsaWM6Ci0gICAgQXR0ckltcGwoRWxlbWVu
dEltcGwqIGVsZW1lbnQsIERvY3VtZW50SW1wbCogZG9jLCBBdHRyaWJ1dGVJbXBsKiBhLCBib29s
IGNyZWF0ZVRleHRDaGlsZCk7CisgICAgQXR0ckltcGwoRWxlbWVudEltcGwqIGVsZW1lbnQsIERv
Y3VtZW50SW1wbCogZG9jLCBBdHRyaWJ1dGVJbXBsKiBhKTsKICAgICB+QXR0ckltcGwoKTsKIAot
cHJpdmF0ZToKLSAgICBBdHRySW1wbChjb25zdCBBdHRySW1wbCAmb3RoZXIpOwotICAgIEF0dHJJ
bXBsICZvcGVyYXRvciA9IChjb25zdCBBdHRySW1wbCAmb3RoZXIpOwotcHVibGljOgotCisgICAg
Ly8gQ2FsbCB0aGlzIGFmdGVyIGNhbGxpbmcgdGhlIGNvbnN0cnVjdG9yIHNvIHRoZSAKKyAgICAv
LyBBdHRySW1wbCBub2RlIGlzbid0IGZsb2F0aW5nIHdoZW4gd2UgYXBwZW5kIHRoZSB0ZXh0IG5v
ZGUKKyAgICB2b2lkIGNyZWF0ZVRleHRDaGlsZCgpOworICAgIAogICAgIC8vIERPTSBtZXRob2Rz
ICYgYXR0cmlidXRlcyBmb3IgQXR0cgogICAgIERPTVN0cmluZyBuYW1lKCkgY29uc3Q7CiAgICAg
Ym9vbCBzcGVjaWZpZWQoKSBjb25zdCB7IHJldHVybiBtX3NwZWNpZmllZDsgfQpAQCAtMTk5LDgg
KzE5Nyw4IEBACiAgICAgdm9pZCByZW1vdmVBdHRyaWJ1dGUoY29uc3QgRE9NU3RyaW5nICZuYW1l
LCBpbnQgJmV4Y2VwdGlvbikgeyByZW1vdmVBdHRyaWJ1dGVOUyhET01TdHJpbmcoKSwgbmFtZSwg
ZXhjZXB0aW9uKTsgfQogICAgIHZvaWQgcmVtb3ZlQXR0cmlidXRlTlMoY29uc3QgRE9NU3RyaW5n
ICZuYW1lc3BhY2VVUkksIGNvbnN0IERPTVN0cmluZyAmbG9jYWxOYW1lLCBpbnQgJmV4Y2VwdGlv
bik7CiAKLSAgICBBdHRySW1wbCAqZ2V0QXR0cmlidXRlTm9kZShjb25zdCBET01TdHJpbmcgJm5h
bWUpIHsgcmV0dXJuIGdldEF0dHJpYnV0ZU5vZGVOUyhET01TdHJpbmcoKSwgbmFtZSk7IH0KLSAg
ICBBdHRySW1wbCAqZ2V0QXR0cmlidXRlTm9kZU5TKGNvbnN0IERPTVN0cmluZyAmbmFtZXNwYWNl
VVJJLCBjb25zdCBET01TdHJpbmcgJmxvY2FsTmFtZSk7CisgICAgUGFzc1JlZlB0cjxBdHRySW1w
bD4gZ2V0QXR0cmlidXRlTm9kZShjb25zdCBET01TdHJpbmcgJm5hbWUpIHsgcmV0dXJuIGdldEF0
dHJpYnV0ZU5vZGVOUyhET01TdHJpbmcoKSwgbmFtZSk7IH0KKyAgICBQYXNzUmVmUHRyPEF0dHJJ
bXBsPiBnZXRBdHRyaWJ1dGVOb2RlTlMoY29uc3QgRE9NU3RyaW5nICZuYW1lc3BhY2VVUkksIGNv
bnN0IERPTVN0cmluZyAmbG9jYWxOYW1lKTsKICAgICBQYXNzUmVmUHRyPEF0dHJJbXBsPiBzZXRB
dHRyaWJ1dGVOb2RlKEF0dHJJbXBsKiwgaW50ICZleGNlcHRpb24pOwogICAgIFBhc3NSZWZQdHI8
QXR0ckltcGw+IHNldEF0dHJpYnV0ZU5vZGVOUyhBdHRySW1wbCogbmV3QXR0ciwgaW50ICZleGNl
cHRpb24pIHsgcmV0dXJuIHNldEF0dHJpYnV0ZU5vZGUobmV3QXR0ciwgZXhjZXB0aW9uKTsgfQog
ICAgIFBhc3NSZWZQdHI8QXR0ckltcGw+IHJlbW92ZUF0dHJpYnV0ZU5vZGUoQXR0ckltcGwqLCBp
bnQgJmV4Y2VwdGlvbik7CkBAIC0yOTksMTUgKzI5NywxNSBAQAogICAgIE5hbWVkQXR0ck1hcElt
cGwgJm9wZXJhdG9yID0oY29uc3QgTmFtZWRBdHRyTWFwSW1wbCAmb3RoZXIpOwogCiAgICAgLy8g
RE9NIG1ldGhvZHMgJiBhdHRyaWJ1dGVzIGZvciBOYW1lZE5vZGVNYXAKLSAgICB2aXJ0dWFsIE5v
ZGVJbXBsICpnZXROYW1lZEl0ZW1OUyhjb25zdCBET01TdHJpbmcgJm5hbWVzcGFjZVVSSSwgY29u
c3QgRE9NU3RyaW5nICZsb2NhbE5hbWUpIGNvbnN0OworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxO
b2RlSW1wbD4gZ2V0TmFtZWRJdGVtTlMoY29uc3QgRE9NU3RyaW5nICZuYW1lc3BhY2VVUkksIGNv
bnN0IERPTVN0cmluZyAmbG9jYWxOYW1lKSBjb25zdDsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
Tm9kZUltcGw+IHJlbW92ZU5hbWVkSXRlbU5TKGNvbnN0IERPTVN0cmluZyAmbmFtZXNwYWNlVVJJ
LCBjb25zdCBET01TdHJpbmcgJmxvY2FsTmFtZSwgaW50ICZleGNlcHRpb24pOwogCi0gICAgdmly
dHVhbCBBdHRySW1wbCogZ2V0TmFtZWRJdGVtKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUpIGNv
bnN0OworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxOb2RlSW1wbD4gZ2V0TmFtZWRJdGVtKGNvbnN0
IFF1YWxpZmllZE5hbWUmIG5hbWUpIGNvbnN0OwogCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPE5v
ZGVJbXBsPiByZW1vdmVOYW1lZEl0ZW0oY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgaW50ICZl
eGNlcHRpb25jb2RlKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Tm9kZUltcGw+IHNldE5hbWVk
SXRlbShOb2RlSW1wbCogYXJnLCBpbnQgJmV4Y2VwdGlvbmNvZGUpOwogCi0gICAgdmlydHVhbCBB
dHRySW1wbCAqaXRlbSAoIHVuc2lnbmVkIGluZGV4ICkgY29uc3Q7CisgICAgdmlydHVhbCBQYXNz
UmVmUHRyPE5vZGVJbXBsPiBpdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdDsKICAgICB1bnNpZ25l
ZCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBsZW47IH0KIAogICAgIC8vIE90aGVyIG1ldGhvZHMg
KG5vdCBwYXJ0IG9mIERPTSkKSW5kZXg6IFdlYkNvcmUva2h0bWwveG1sL05hbWVkTm9kZU1hcElt
cGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2todG1sL3htbC9OYW1lZE5vZGVNYXBJbXBsLmgJ
KHJldmlzaW9uIDEyNjA5KQorKysgV2ViQ29yZS9raHRtbC94bWwvTmFtZWROb2RlTWFwSW1wbC5o
CSh3b3JraW5nIGNvcHkpCkBAIC00MywxOSArNDMsMTkgQEAKICAgICBOYW1lZE5vZGVNYXBJbXBs
KCkgeyB9CiAgICAgdmlydHVhbCB+TmFtZWROb2RlTWFwSW1wbCgpIHsgfQogCi0gICAgTm9kZUlt
cGwqIGdldE5hbWVkSXRlbShjb25zdCBET01TdHJpbmcmIG5hbWUpIGNvbnN0IHsgcmV0dXJuIGdl
dE5hbWVkSXRlbU5TKERPTVN0cmluZygpLCBuYW1lKTsgfQorICAgIFBhc3NSZWZQdHI8Tm9kZUlt
cGw+IGdldE5hbWVkSXRlbShjb25zdCBET01TdHJpbmcmIG5hbWUpIGNvbnN0IHsgcmV0dXJuIGdl
dE5hbWVkSXRlbU5TKERPTVN0cmluZygpLCBuYW1lKTsgfQogICAgIFBhc3NSZWZQdHI8Tm9kZUlt
cGw+IHJlbW92ZU5hbWVkSXRlbShjb25zdCBET01TdHJpbmcmIG5hbWUsIGludCAmZXhjZXB0aW9u
KSB7IHJldHVybiByZW1vdmVOYW1lZEl0ZW1OUyhET01TdHJpbmcoKSwgbmFtZSwgZXhjZXB0aW9u
KTsgfQogCi0gICAgdmlydHVhbCBOb2RlSW1wbCogZ2V0TmFtZWRJdGVtTlMoY29uc3QgRE9NU3Ry
aW5nICZuYW1lc3BhY2VVUkksIGNvbnN0IERPTVN0cmluZyAmbG9jYWxOYW1lKSBjb25zdCA9IDA7
CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPE5vZGVJbXBsPiBnZXROYW1lZEl0ZW1OUyhjb25zdCBE
T01TdHJpbmcgJm5hbWVzcGFjZVVSSSwgY29uc3QgRE9NU3RyaW5nICZsb2NhbE5hbWUpIGNvbnN0
ID0gMDsKICAgICBQYXNzUmVmUHRyPE5vZGVJbXBsPiBzZXROYW1lZEl0ZW1OUyhOb2RlSW1wbCAq
YXJnLCBpbnQgJmV4Y2VwdGlvbikgeyByZXR1cm4gc2V0TmFtZWRJdGVtKGFyZywgZXhjZXB0aW9u
KTsgfQogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxOb2RlSW1wbD4gcmVtb3ZlTmFtZWRJdGVtTlMo
Y29uc3QgRE9NU3RyaW5nICZuYW1lc3BhY2VVUkksIGNvbnN0IERPTVN0cmluZyAmbG9jYWxOYW1l
LCBpbnQgJmV4Y2VwdGlvbikgPSAwOwogCiAgICAgLy8gRE9NIG1ldGhvZHMgJiBhdHRyaWJ1dGVz
IGZvciBOYW1lZE5vZGVNYXAKLSAgICB2aXJ0dWFsIE5vZGVJbXBsKiBnZXROYW1lZEl0ZW0oY29u
c3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIFBhc3NS
ZWZQdHI8Tm9kZUltcGw+IGdldE5hbWVkSXRlbShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFt
ZSkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxOb2RlSW1wbD4gcmVtb3ZlTmFt
ZWRJdGVtIChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSwgaW50ICZleGNlcHRpb25jb2Rl
KSA9IDA7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPE5vZGVJbXBsPiBzZXROYW1lZEl0ZW0gKE5v
ZGVJbXBsKiBhcmcsIGludCAmZXhjZXB0aW9uY29kZSkgPSAwOwogCi0gICAgdmlydHVhbCBOb2Rl
SW1wbCogaXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgUGFzc1Jl
ZlB0cjxOb2RlSW1wbD4gaXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3QgPSAwOwogICAgIHZpcnR1
YWwgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3QgPSAwOwogCiAgICAgLy8gT3RoZXIgbWV0aG9kcyAo
bm90IHBhcnQgb2YgRE9NKQpJbmRleDogV2ViQ29yZS9raHRtbC94bWwvRG9jdW1lbnRJbXBsLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2todG1sL3htbC9Eb2N1bWVudEltcGwuY3BwCShyZXZp
c2lvbiAxMjYwOSkKKysrIFdlYkNvcmUva2h0bWwveG1sL0RvY3VtZW50SW1wbC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI5MTcsNyArMjkxNyw3IEBACiAgICAgcmV0dXJuIGRvYzsKIH0KIAotQXR0
ckltcGwgKkRvY3VtZW50SW1wbDo6Y3JlYXRlQXR0cmlidXRlTlMoY29uc3QgRE9NU3RyaW5nICZu
YW1lc3BhY2VVUkksIGNvbnN0IERPTVN0cmluZyAmcXVhbGlmaWVkTmFtZSwgaW50ICZleGNlcHRp
b24pCitQYXNzUmVmUHRyPEF0dHJJbXBsPiBEb2N1bWVudEltcGw6OmNyZWF0ZUF0dHJpYnV0ZU5T
KGNvbnN0IERPTVN0cmluZyAmbmFtZXNwYWNlVVJJLCBjb25zdCBET01TdHJpbmcgJnF1YWxpZmll
ZE5hbWUsIGludCAmZXhjZXB0aW9uKQogewogICAgIGlmIChxdWFsaWZpZWROYW1lLmlzTnVsbCgp
KSB7CiAgICAgICAgIGV4Y2VwdGlvbiA9IERPTUV4Y2VwdGlvbjo6TkFNRVNQQUNFX0VSUjsKQEAg
LTI5NDMsNyArMjk0Myw3IEBACiAgICAgLy8gZG9jdW1lbnRzIGlmIHdlJ3JlIHdyb25nLgogICAg
IHJldHVybiBuZXcgQXR0ckltcGwoMCwgdGhpcywgbmV3IE1hcHBlZEF0dHJpYnV0ZUltcGwoUXVh
bGlmaWVkTmFtZShwcmVmaXguaW1wbCgpLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxOYW1lLmltcGwo
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlVVJJLmltcGwoKSksIERPTVN0cmluZygiIikuaW1w
bCgpKSwgZmFsc2UpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2VVUkkuaW1wbCgpKSwgRE9NU3Ry
aW5nKCIiKS5pbXBsKCkpKTsKIH0KIAogI2lmIFNWR19TVVBQT1JUCkluZGV4OiBXZWJDb3JlL2to
dG1sL3htbC9kb21fZWxlbWVudGltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva2h0bWwv
eG1sL2RvbV9lbGVtZW50aW1wbC5jcHAJKHJldmlzaW9uIDEyNjA5KQorKysgV2ViQ29yZS9raHRt
bC94bWwvZG9tX2VsZW1lbnRpbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzgsMTIgKzc4LDE3
IEBACiAgICAgcmV0dXJuIG5ldyBBdHRyaWJ1dGVJbXBsKG1fbmFtZSwgbV92YWx1ZSk7CiB9CiAK
LXZvaWQgQXR0cmlidXRlSW1wbDo6YWxsb2NhdGVJbXBsKEVsZW1lbnRJbXBsKiBlKQorUGFzc1Jl
ZlB0cjxBdHRySW1wbD4gQXR0cmlidXRlSW1wbDo6Y3JlYXRlQXR0ckltcGxJZk5lZWRlZChFbGVt
ZW50SW1wbCogZSkKIHsKLSAgICBtX2ltcGwgPSBuZXcgQXR0ckltcGwoZSwgZS0+Z2V0RG9jdW1l
bnQoKSwgdGhpcywgdHJ1ZSk7CisgICAgUmVmUHRyPEF0dHJJbXBsPiByKG1faW1wbCk7CisgICAg
aWYgKCFyKSB7CisgICAgICAgIHIgPSBuZXcgQXR0ckltcGwoZSwgZS0+Z2V0RG9jdW1lbnQoKSwg
dGhpcyk7CisgICAgICAgIHItPmNyZWF0ZVRleHRDaGlsZCgpOworICAgIH0KKyAgICByZXR1cm4g
ci5yZWxlYXNlKCk7CiB9CiAKLUF0dHJJbXBsOjpBdHRySW1wbChFbGVtZW50SW1wbCogZWxlbWVu
dCwgRG9jdW1lbnRJbXBsKiBkb2NQdHIsIEF0dHJpYnV0ZUltcGwqIGEsIGJvb2wgY3JlYXRlVGV4
dENoaWxkKQorQXR0ckltcGw6OkF0dHJJbXBsKEVsZW1lbnRJbXBsKiBlbGVtZW50LCBEb2N1bWVu
dEltcGwqIGRvY1B0ciwgQXR0cmlidXRlSW1wbCogYSkKICAgICA6IENvbnRhaW5lck5vZGVJbXBs
KGRvY1B0ciksCiAgICAgICBtX2VsZW1lbnQoZWxlbWVudCksCiAgICAgICBtX2F0dHJpYnV0ZShh
KSwKQEAgLTkzLDEzICs5OCw2IEBACiAgICAgbV9hdHRyaWJ1dGUtPm1faW1wbCA9IHRoaXM7CiAg
ICAgbV9hdHRyaWJ1dGUtPnJlZigpOwogICAgIG1fc3BlY2lmaWVkID0gdHJ1ZTsKLSAgICAKLSAg
ICBpZiAoY3JlYXRlVGV4dENoaWxkICYmICFtX2F0dHJpYnV0ZS0+dmFsdWUoKS5pc0VtcHR5KCkp
IHsKLSAgICAgICAgaW50IGV4Y2VwdGlvbmNvZGUgPSAwOwotICAgICAgICBtX2lnbm9yZUNoaWxk
cmVuQ2hhbmdlZCsrOwotICAgICAgICBhcHBlbmRDaGlsZChnZXREb2N1bWVudCgpLT5jcmVhdGVU
ZXh0Tm9kZShtX2F0dHJpYnV0ZS0+dmFsdWUoKS5pbXBsKCkpLCBleGNlcHRpb25jb2RlKTsKLSAg
ICAgICAgbV9pZ25vcmVDaGlsZHJlbkNoYW5nZWQtLTsKLSAgICB9CiB9CiAKIEF0dHJJbXBsOjp+
QXR0ckltcGwoKQpAQCAtMTA5LDYgKzEwNywxNyBAQAogICAgIG1fYXR0cmlidXRlLT5kZXJlZigp
OwogfQogCit2b2lkIEF0dHJJbXBsOjpjcmVhdGVUZXh0Q2hpbGQoKQoreworICAgIGFzc2VydChy
ZWZDb3VudCgpKTsKKyAgICBpZiAoIW1fYXR0cmlidXRlLT52YWx1ZSgpLmlzRW1wdHkoKSkgewor
ICAgICAgICBpbnQgZXhjZXB0aW9uY29kZSA9IDA7CisgICAgICAgIG1faWdub3JlQ2hpbGRyZW5D
aGFuZ2VkKys7CisgICAgICAgIGFwcGVuZENoaWxkKGdldERvY3VtZW50KCktPmNyZWF0ZVRleHRO
b2RlKG1fYXR0cmlidXRlLT52YWx1ZSgpLmltcGwoKSksIGV4Y2VwdGlvbmNvZGUpOworICAgICAg
ICBtX2lnbm9yZUNoaWxkcmVuQ2hhbmdlZC0tOworICAgIH0KK30KKwogRE9NU3RyaW5nIEF0dHJJ
bXBsOjpub2RlTmFtZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG5hbWUoKTsKQEAgLTE4Niw5ICsx
OTUsOSBAQAogCiBQYXNzUmVmUHRyPE5vZGVJbXBsPiBBdHRySW1wbDo6Y2xvbmVOb2RlKGJvb2wg
LypkZWVwKi8pCiB7Ci0gICAgUGFzc1JlZlB0cjxBdHRySW1wbD4gY2xvbmUgPSBuZXcgQXR0cklt
cGwoMCwgZ2V0RG9jdW1lbnQoKSwgbV9hdHRyaWJ1dGUtPmNsb25lKCksIGZhbHNlKTsKKyAgICBS
ZWZQdHI8QXR0ckltcGw+IGNsb25lID0gbmV3IEF0dHJJbXBsKDAsIGdldERvY3VtZW50KCksIG1f
YXR0cmlidXRlLT5jbG9uZSgpKTsKICAgICBjbG9uZUNoaWxkTm9kZXMoY2xvbmUuZ2V0KCkpOwot
ICAgIHJldHVybiBjbG9uZTsKKyAgICByZXR1cm4gY2xvbmUucmVsZWFzZSgpOwogfQogCiAvLyBE
T00gU2VjdGlvbiAxLjEuMQpAQCAtMjk3LDcgKzMwNiw3IEBACiBQYXNzUmVmUHRyPE5vZGVJbXBs
PiBFbGVtZW50SW1wbDo6Y2xvbmVOb2RlKGJvb2wgZGVlcCkKIHsKICAgICBpbnQgZXhjZXB0aW9u
Q29kZSA9IDA7Ci0gICAgUGFzc1JlZlB0cjxFbGVtZW50SW1wbD4gY2xvbmUgPSBnZXREb2N1bWVu
dCgpLT5jcmVhdGVFbGVtZW50TlMobmFtZXNwYWNlVVJJKCksIG5vZGVOYW1lKCksIGV4Y2VwdGlv
bkNvZGUpOworICAgIFJlZlB0cjxFbGVtZW50SW1wbD4gY2xvbmUgPSBnZXREb2N1bWVudCgpLT5j
cmVhdGVFbGVtZW50TlMobmFtZXNwYWNlVVJJKCksIG5vZGVOYW1lKCksIGV4Y2VwdGlvbkNvZGUp
OwogICAgIGFzc2VydCghZXhjZXB0aW9uQ29kZSk7CiAgICAgCiAgICAgLy8gY2xvbmUgYXR0cmli
dXRlcwpAQCAtMzA5LDcgKzMxOCw3IEBACiAgICAgaWYgKGRlZXApCiAgICAgICAgIGNsb25lQ2hp
bGROb2RlcyhjbG9uZS5nZXQoKSk7CiAKLSAgICByZXR1cm4gY2xvbmU7CisgICAgcmV0dXJuIGNs
b25lLnJlbGVhc2UoKTsKIH0KIAogdm9pZCBFbGVtZW50SW1wbDo6cmVtb3ZlQXR0cmlidXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGludCAmZXhjZXB0aW9uY29kZSkKQEAgLTc5NCw3ICs4
MDMsNyBAQAogICAgIHJlbW92ZUF0dHJpYnV0ZShRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBsbi5p
bXBsKCksIG5hbWVzcGFjZVVSSS5pbXBsKCkpLCBleGNlcHRpb24pOwogfQogCi1BdHRySW1wbCAq
RWxlbWVudEltcGw6OmdldEF0dHJpYnV0ZU5vZGVOUyhjb25zdCBET01TdHJpbmcgJm5hbWVzcGFj
ZVVSSSwgY29uc3QgRE9NU3RyaW5nICZsb2NhbE5hbWUpCitQYXNzUmVmUHRyPEF0dHJJbXBsPiBF
bGVtZW50SW1wbDo6Z2V0QXR0cmlidXRlTm9kZU5TKGNvbnN0IERPTVN0cmluZyAmbmFtZXNwYWNl
VVJJLCBjb25zdCBET01TdHJpbmcgJmxvY2FsTmFtZSkKIHsKICAgICBOYW1lZEF0dHJNYXBJbXBs
ICphdHRycyA9IGF0dHJpYnV0ZXModHJ1ZSk7CiAgICAgaWYgKCFhdHRycykKQEAgLTgwMiw3ICs4
MTEsNyBAQAogICAgIERPTVN0cmluZyBsbihsb2NhbE5hbWUpOwogICAgIGlmIChnZXREb2N1bWVu
dCgpICYmIGdldERvY3VtZW50KCktPmlzSFRNTERvY3VtZW50KCkpCiAgICAgICAgIGxuID0gbG9j
YWxOYW1lLmxvd2VyKCk7Ci0gICAgcmV0dXJuIGF0dHJzLT5nZXROYW1lZEl0ZW0oUXVhbGlmaWVk
TmFtZShudWxsQXRvbSwgbG9jYWxOYW1lLmltcGwoKSwgbmFtZXNwYWNlVVJJLmltcGwoKSkpOwor
ICAgIHJldHVybiBzdGF0aWNfcG9pbnRlcl9jYXN0PEF0dHJJbXBsPiAoYXR0cnMtPmdldE5hbWVk
SXRlbShRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBsb2NhbE5hbWUuaW1wbCgpLCBuYW1lc3BhY2VV
UkkuaW1wbCgpKSkpOwogfQogCiBib29sIEVsZW1lbnRJbXBsOjpoYXNBdHRyaWJ1dGVOUyhjb25z
dCBET01TdHJpbmcgJm5hbWVzcGFjZVVSSSwgY29uc3QgRE9NU3RyaW5nICZsb2NhbE5hbWUpIGNv
bnN0CkBAIC04NjUsNyArODc0LDcgQEAKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLU5vZGVJbXBs
ICpOYW1lZEF0dHJNYXBJbXBsOjpnZXROYW1lZEl0ZW1OUyhjb25zdCBET01TdHJpbmcgJm5hbWVz
cGFjZVVSSSwgY29uc3QgRE9NU3RyaW5nICZsb2NhbE5hbWUpIGNvbnN0CitQYXNzUmVmUHRyPE5v
ZGVJbXBsPiBOYW1lZEF0dHJNYXBJbXBsOjpnZXROYW1lZEl0ZW1OUyhjb25zdCBET01TdHJpbmcg
Jm5hbWVzcGFjZVVSSSwgY29uc3QgRE9NU3RyaW5nICZsb2NhbE5hbWUpIGNvbnN0CiB7CiAgICAg
RE9NU3RyaW5nIGxuKGxvY2FsTmFtZSk7CiAgICAgaWYgKGVsZW1lbnQtPmdldERvY3VtZW50KCkt
PmlzSFRNTERvY3VtZW50KCkpCkBAIC04ODEsMTUgKzg5MCwxMiBAQAogICAgIHJldHVybiByZW1v
dmVOYW1lZEl0ZW0oUXVhbGlmaWVkTmFtZShudWxsQXRvbSwgbG4uaW1wbCgpLCBuYW1lc3BhY2VV
UkkuaW1wbCgpKSwgZXhjZXB0aW9uKTsKIH0KIAotQXR0ckltcGwgKk5hbWVkQXR0ck1hcEltcGw6
OmdldE5hbWVkSXRlbShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lKSBjb25zdAorUGFzc1JlZlB0
cjxOb2RlSW1wbD4gTmFtZWRBdHRyTWFwSW1wbDo6Z2V0TmFtZWRJdGVtKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIG5hbWUpIGNvbnN0CiB7CiAgICAgQXR0cmlidXRlSW1wbCogYSA9IGdldEF0dHJpYnV0
ZUl0ZW0obmFtZSk7CiAgICAgaWYgKCFhKSByZXR1cm4gMDsKIAotICAgIGlmICghYS0+YXR0cklt
cGwoKSkKLSAgICAgICAgYS0+YWxsb2NhdGVJbXBsKGVsZW1lbnQpOwotCi0gICAgcmV0dXJuIGEt
PmF0dHJJbXBsKCk7CisgICAgcmV0dXJuIGEtPmNyZWF0ZUF0dHJJbXBsSWZOZWVkZWQoZWxlbWVu
dCk7CiB9CiAKIFBhc3NSZWZQdHI8Tm9kZUltcGw+IE5hbWVkQXR0ck1hcEltcGw6OnNldE5hbWVk
SXRlbShOb2RlSW1wbCogYXJnLCBpbnQmIGV4Y2VwdGlvbmNvZGUpCkBAIC05MzQsMTYgKzk0MCwx
NCBAQAogICAgICAgICBlbGVtZW50LT51cGRhdGVJZChvbGQgPyBvbGQtPnZhbHVlKCkgOiBudWxs
QXRvbSwgYS0+dmFsdWUoKSk7CiAKICAgICAvLyAjIyMgc2xpZ2h0bHkgaW5lZmZpY2llbnQgLSBy
ZXNpemVzIGF0dHJpYnV0ZSBhcnJheSB0d2ljZS4KLSAgICBQYXNzUmVmUHRyPE5vZGVJbXBsPiBy
OworICAgIFJlZlB0cjxOb2RlSW1wbD4gcjsKICAgICBpZiAob2xkKSB7Ci0gICAgICAgIGlmICgh
b2xkLT5hdHRySW1wbCgpKQotICAgICAgICAgICAgb2xkLT5hbGxvY2F0ZUltcGwoZWxlbWVudCk7
Ci0gICAgICAgIHIgPSBvbGQtPm1faW1wbDsKKyAgICAgICAgciA9IG9sZC0+Y3JlYXRlQXR0cklt
cGxJZk5lZWRlZChlbGVtZW50KTsKICAgICAgICAgcmVtb3ZlQXR0cmlidXRlKGEtPm5hbWUoKSk7
CiAgICAgfQogCiAgICAgYWRkQXR0cmlidXRlKGEpOwotICAgIHJldHVybiByOworICAgIHJldHVy
biByLnJlbGVhc2UoKTsKIH0KIAogLy8gVGhlIERPTTIgc3BlYyBkb2Vzbid0IHNheSB0aGF0IHJl
bW92ZUF0dHJpYnV0ZVtOU10gdGhyb3dzIE5PVF9GT1VORF9FUlIKQEAgLTk2NCwyNiArOTY4LDIx
IEBACiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIGlmICghYS0+YXR0ckltcGwoKSkK
LSAgICAgICAgYS0+YWxsb2NhdGVJbXBsKGVsZW1lbnQpOwotICAgIFBhc3NSZWZQdHI8Tm9kZUlt
cGw+IHIoYS0+YXR0ckltcGwoKSk7CisgICAgUmVmUHRyPE5vZGVJbXBsPiByID0gYS0+Y3JlYXRl
QXR0ckltcGxJZk5lZWRlZChlbGVtZW50KTsKIAogICAgIGlmIChuYW1lID09IGlkQXR0cikKICAg
ICAgICAgZWxlbWVudC0+dXBkYXRlSWQoYS0+dmFsdWUoKSwgbnVsbEF0b20pOwogCiAgICAgcmVt
b3ZlQXR0cmlidXRlKG5hbWUpOwotICAgIHJldHVybiByOworICAgIHJldHVybiByLnJlbGVhc2Uo
KTsKIH0KIAotQXR0ckltcGwgKk5hbWVkQXR0ck1hcEltcGw6Oml0ZW0gKCB1bnNpZ25lZCBpbmRl
eCApIGNvbnN0CitQYXNzUmVmUHRyPE5vZGVJbXBsPiBOYW1lZEF0dHJNYXBJbXBsOjppdGVtICgg
dW5zaWduZWQgaW5kZXggKSBjb25zdAogewogICAgIGlmIChpbmRleCA+PSBsZW4pCiAgICAgICAg
IHJldHVybiAwOwogCi0gICAgaWYgKCFhdHRyc1tpbmRleF0tPmF0dHJJbXBsKCkpCi0gICAgICAg
IGF0dHJzW2luZGV4XS0+YWxsb2NhdGVJbXBsKGVsZW1lbnQpOwotCi0gICAgcmV0dXJuIGF0dHJz
W2luZGV4XS0+YXR0ckltcGwoKTsKKyAgICByZXR1cm4gYXR0cnNbaW5kZXhdLT5jcmVhdGVBdHRy
SW1wbElmTmVlZGVkKGVsZW1lbnQpOwogfQogCiBBdHRyaWJ1dGVJbXBsKiBOYW1lZEF0dHJNYXBJ
bXBsOjpnZXRBdHRyaWJ1dGVJdGVtKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUpIGNvbnN0Cklu
ZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
YmluZGluZ3Mvb2JqYy9ET00ubW0JKHJldmlzaW9uIDEyNjA5KQorKysgV2ViQ29yZS9iaW5kaW5n
cy9vYmpjL0RPTS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjc3LDcgKzY3Nyw3IEBACiB7CiAgICAg
QVNTRVJUKG5hbWUpOwogCi0gICAgcmV0dXJuIFtET01Ob2RlIF9ub2RlV2l0aEltcGw6W3NlbGYg
X25hbWVkTm9kZU1hcEltcGxdLT5nZXROYW1lZEl0ZW0obmFtZSldOworICAgIHJldHVybiBbRE9N
Tm9kZSBfbm9kZVdpdGhJbXBsOltzZWxmIF9uYW1lZE5vZGVNYXBJbXBsXS0+Z2V0TmFtZWRJdGVt
KG5hbWUpLmdldCgpXTsKIH0KIAogLSAoRE9NTm9kZSAqKXNldE5hbWVkSXRlbTooRE9NTm9kZSAq
KWFyZwpAQCAtNzAyLDcgKzcwMiw3IEBACiAKIC0gKERPTU5vZGUgKilpdGVtOih1bnNpZ25lZClp
bmRleAogewotICAgIHJldHVybiBbRE9NTm9kZSBfbm9kZVdpdGhJbXBsOltzZWxmIF9uYW1lZE5v
ZGVNYXBJbXBsXS0+aXRlbShpbmRleCldOworICAgIHJldHVybiBbRE9NTm9kZSBfbm9kZVdpdGhJ
bXBsOltzZWxmIF9uYW1lZE5vZGVNYXBJbXBsXS0+aXRlbShpbmRleCkuZ2V0KCldOwogfQogCiAt
ICh1bnNpZ25lZClsZW5ndGgKQEAgLTcxNiw3ICs3MTYsNyBAQAogICAgICAgICByZXR1cm4gbmls
OwogICAgIH0KIAotICAgIHJldHVybiBbRE9NTm9kZSBfbm9kZVdpdGhJbXBsOltzZWxmIF9uYW1l
ZE5vZGVNYXBJbXBsXS0+Z2V0TmFtZWRJdGVtTlMobmFtZXNwYWNlVVJJLCBsb2NhbE5hbWUpXTsK
KyAgICByZXR1cm4gW0RPTU5vZGUgX25vZGVXaXRoSW1wbDpbc2VsZiBfbmFtZWROb2RlTWFwSW1w
bF0tPmdldE5hbWVkSXRlbU5TKG5hbWVzcGFjZVVSSSwgbG9jYWxOYW1lKS5nZXQoKV07CiB9CiAK
IC0gKERPTU5vZGUgKilzZXROYW1lZEl0ZW1OUzooRE9NTm9kZSAqKWFyZwpAQCAtMTAzNyw3ICsx
MDM3LDcgQEAKIHsKICAgICBBU1NFUlQobmFtZSk7CiAgICAgaW50IGV4Y2VwdGlvbiA9IDA7Ci0g
ICAgRE9NQXR0ciAqcmVzdWx0ID0gW0RPTUF0dHIgX2F0dHJXaXRoSW1wbDpbc2VsZiBfZG9jdW1l
bnRJbXBsXS0+Y3JlYXRlQXR0cmlidXRlKG5hbWUsIGV4Y2VwdGlvbildOworICAgIERPTUF0dHIg
KnJlc3VsdCA9IFtET01BdHRyIF9hdHRyV2l0aEltcGw6W3NlbGYgX2RvY3VtZW50SW1wbF0tPmNy
ZWF0ZUF0dHJpYnV0ZShuYW1lLCBleGNlcHRpb24pLmdldCgpXTsKICAgICByYWlzZU9uRE9NRXJy
b3IoZXhjZXB0aW9uKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMTA4Miw3ICsxMDgyLDcg
QEAKICAgICBBU1NFUlQocXVhbGlmaWVkTmFtZSk7CiAKICAgICBpbnQgZXhjZXB0aW9uID0gMDsK
LSAgICBET01BdHRyICpyZXN1bHQgPSBbRE9NQXR0ciBfYXR0cldpdGhJbXBsOltzZWxmIF9kb2N1
bWVudEltcGxdLT5jcmVhdGVBdHRyaWJ1dGVOUyhuYW1lc3BhY2VVUkksIHF1YWxpZmllZE5hbWUs
IGV4Y2VwdGlvbildOworICAgIERPTUF0dHIgKnJlc3VsdCA9IFtET01BdHRyIF9hdHRyV2l0aElt
cGw6W3NlbGYgX2RvY3VtZW50SW1wbF0tPmNyZWF0ZUF0dHJpYnV0ZU5TKG5hbWVzcGFjZVVSSSwg
cXVhbGlmaWVkTmFtZSwgZXhjZXB0aW9uKS5nZXQoKV07CiAgICAgcmFpc2VPbkRPTUVycm9yKGV4
Y2VwdGlvbik7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTEzMzYsNyArMTMzNiw3IEBACiB7
CiAgICAgQVNTRVJUKG5hbWUpOwogCi0gICAgcmV0dXJuIFtET01BdHRyIF9hdHRyV2l0aEltcGw6
W3NlbGYgX2VsZW1lbnRJbXBsXS0+Z2V0QXR0cmlidXRlTm9kZShuYW1lKV07CisgICAgcmV0dXJu
IFtET01BdHRyIF9hdHRyV2l0aEltcGw6W3NlbGYgX2VsZW1lbnRJbXBsXS0+Z2V0QXR0cmlidXRl
Tm9kZShuYW1lKS5nZXQoKV07CiB9CiAKIC0gKERPTUF0dHIgKilzZXRBdHRyaWJ1dGVOb2RlOihE
T01BdHRyICopbmV3QXR0cgpAQCAtMTQwMCw3ICsxNDAwLDcgQEAKICAgICBBU1NFUlQobmFtZXNw
YWNlVVJJKTsKICAgICBBU1NFUlQobG9jYWxOYW1lKTsKIAotICAgIHJldHVybiBbRE9NQXR0ciBf
YXR0cldpdGhJbXBsOltzZWxmIF9lbGVtZW50SW1wbF0tPmdldEF0dHJpYnV0ZU5vZGVOUyhuYW1l
c3BhY2VVUkksIGxvY2FsTmFtZSldOworICAgIHJldHVybiBbRE9NQXR0ciBfYXR0cldpdGhJbXBs
OltzZWxmIF9lbGVtZW50SW1wbF0tPmdldEF0dHJpYnV0ZU5vZGVOUyhuYW1lc3BhY2VVUkksIGxv
Y2FsTmFtZSkuZ2V0KCldOwogfQogCiAtIChET01BdHRyICopc2V0QXR0cmlidXRlTm9kZU5TOihE
T01BdHRyICopbmV3QXR0cgpJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNjA5KQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0OCBAQAorMjAwNi0wMi0wNiAgQWRlbGUgUGV0ZXJz
b24gIDxhZGVsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgLSBmaXggaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3df
YnVnLmNnaT9pZD02OTQ0CisgICAgICAgICAgUkVHUkVTU0lPTjogY3Jhc2ggd2hlbiBsb2FkaW5n
IHBhZ2Ugdy8gPGxpbms+IHRoYXQgaGFzIGEgRE9NU3VidHJlZU1vZGlmaWVkIGV2ZW50IGxpc3Rl
bmVyCisKKyAgICAgICAgVGVzdDogZmFzdC9ldmVudHMvZXZlbnQtbGlzdGVuZXItb24tbGluay5o
dG1sCisKKyAgICAgICAgKiBraHRtbC94bWwvZG9tX2VsZW1lbnRpbXBsLmg6IEFkZGVkIGNyZWF0
ZUF0dHJJbXBsSWZOZWVkZWQsIHJlbW92ZWQgYWxsb2NhdGVJbXBsLCAKKyAgICAgICAgIGNoYW5n
ZWQgQXR0ckltcGwgY29udHJ1Y3RvciB0byByZW1vdmUgY3JlYXRlVGV4dENoaWxkIGJvb2wsIGFk
ZGVkIGNyZWF0ZVRleHRDaGlsZCBtZXRob2QsIAorICAgICAgICAgY2hhbmdlZCBnZXRBdHRyaWJ1
dGVOb2RlLCBnZXRBdHRyaWJ1dGVOb2RlTlMsIGdldE5hbWVkSXRlbSwgZ2V0TmFtZWRJdGVtTlMs
IGFuZCBpdGVtIHRvIHJldHVybiBQYXNzUmVmUHRycy4KKyAgICAgICAgKERPTTo6RWxlbWVudElt
cGw6OmdldEF0dHJpYnV0ZU5vZGUpOgorICAgICAgICAqIGtodG1sL3htbC9kb21fZWxlbWVudGlt
cGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXR0cmlidXRlSW1wbDo6Y3JlYXRlQXR0ckltcGxJ
Zk5lZWRlZCk6IE5ldyBtZXRob2QgdG8gcmVwbGFjZSBhbGxvY2F0ZUltcGwuICAKKyAgICAgICAg
IFRoaXMgd2lsbCB1c2UgYSBSZWZQdHIgZm9yIHRoZSBBdHRySW1wbCwgY2hlY2sgZm9yIGFuIGV4
aXN0aW5nIEF0dHJJbXBsLCBjcmVhdGUgb25lIGlmIHRoZXJlIGlzbid0IG9uZSwKKyAgICAgICAg
IGFuZCB3aWxsIGNhbGwgdGhlIG5ldyBjcmVhdGVUZXh0Q2hpbGQuCisgICAgICAgIChXZWJDb3Jl
OjpBdHRySW1wbDo6QXR0ckltcGwpOiAgTW92ZWQgY3JlYXRpb24gb2YgdGV4dCBjaGlsZCB0byBu
ZXcgY3JlYXRlVGV4dENoaWxkIG1ldGhvZC4gIAorICAgICAgICAgSWYgZG9uZSBpbiB0aGUgY29u
c3RydWN0b3IsIHRoZSByZWYgY291bnQgaXMgc3RpbGwgMCwgYW5kIHRoZSBhY3Qgb2YgYXBwZW5k
aW5nIHRoZSB0ZXh0IG5vZGUgCisgICAgICAgICBjb3VsZCBjYXVzZSB0aGUgQXR0ckltcGwgdG8g
YmUgZGVzdHJveWVkLgorICAgICAgICAoV2ViQ29yZTo6QXR0ckltcGw6OmNyZWF0ZVRleHRDaGls
ZCk6IE1vdmVkIGNvZGUgZnJvbSBBdHRySW1wbCBjb250cnVjdG9yLiAgCisgICAgICAgICBBbHNv
LCBJJ3ZlIGFkZGVkIGFuIGFzc2VydCB0byBtYWtlIHN1cmUgdGhhdCBhbnkgY2FsbGVycyBvZiB0
aGlzIGhhdmUgcmVmJ2QgdGhlIEF0dHJJbXBsLgorICAgICAgICAoV2ViQ29yZTo6QXR0ckltcGw6
OmNsb25lTm9kZSk6IFVzZWQgUmVmUHRyIGluc3RlYWQgb2YgUGFzc1JlZlB0ciwgYW5kIHRoZW4g
Y2FsbGVkIHJlbGVhc2UoKSBvbiBpdCBiZWZvcmUgcmV0dXJuaW5nLgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudEltcGw6OmNsb25lTm9kZSk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudEltcGw6OmdldEF0dHJpYnV0ZU5vZGVOUyk6IENoYW5nZWQgcmV0dXJuIHR5cGUgdG8gUGFz
c1JlZlB0ci4KKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVkQXR0ck1hcEltcGw6OmdldE5hbWVkSXRl
bU5TKTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpOYW1lZEF0dHJNYXBJbXBsOjpnZXROYW1l
ZEl0ZW0pOiBkaXR0by4gQ2hhbmdlZCB1c2Ugb2YgYWxsb2NhdGVJbXBsIHRvIGNyZWF0ZUF0dHJJ
bXBsSWZOZWVkZWQKKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVkQXR0ck1hcEltcGw6OnNldE5hbWVk
SXRlbSk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TmFtZWRBdHRyTWFwSW1wbDo6cmVtb3Zl
TmFtZWRJdGVtKTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpOYW1lZEF0dHJNYXBJbXBsOjpp
dGVtKTogZGl0dG8uCisgICAgICAgICoga2h0bWwveG1sL0RvY3VtZW50SW1wbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudEltcGw6OmNyZWF0ZUF0dHJpYnV0ZU5TKTogQ2hhbmdlZCBy
ZXR1cm4gdHlwZSB0byBQYXNzUmVmUHRyIGFuZCByZW1vdmVkIGJvb2wgZnJvbSBBdHRySW1wbCBj
b250cnVjdG9yIGNhbGwuCisgICAgICAgICoga2h0bWwveG1sL0RvY3VtZW50SW1wbC5oOiBOb3cg
cmV0dXJucyBhIFBhc3NSZWZQdHIgZm9yIGNyZWF0ZUF0dHJpYnV0ZSBhbmQgY3JlYXRlQXR0cmli
dXRlTlMuIAorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRJbXBsOjpjcmVhdGVBdHRyaWJ1dGUp
OgorICAgICAgICAqIGtodG1sL3htbC9OYW1lZE5vZGVNYXBJbXBsLmg6IE5vdyByZXR1cm5zIGEg
UGFzc1JlZlB0ciBmb3IgZ2V0TmFtZWRJdGVtLCBnZXROYW1lZEl0ZW1OUywgYW5kIGl0ZW0uCisg
ICAgICAgIChXZWJDb3JlOjpOYW1lZE5vZGVNYXBJbXBsOjpnZXROYW1lZEl0ZW0pOgorICAgICAg
ICAqIGJpbmRpbmdzL29iamMvRE9NLm1tOgorICAgICAgICAoLVtET01OYW1lZE5vZGVNYXAgZ2V0
TmFtZWRJdGVtOl0pOiBDYWxsIGdldCgpIHNpbmNlIHRoZSBtZXRob2RzIGRpc2N1c3NlZCBhYm92
ZSBub3cgcmV0dXJuIFBhc3NSZWZQdHJzLgorICAgICAgICAoLVtET01OYW1lZE5vZGVNYXAgaXRl
bTpdKTogZGl0dG8uCisgICAgICAgICgtW0RPTU5hbWVkTm9kZU1hcCBnZXROYW1lZEl0ZW1OUzo6
XSk6IGRpdHRvLgorICAgICAgICAoLVtET01Eb2N1bWVudCBjcmVhdGVBdHRyaWJ1dGU6XSk6IGRp
dHRvLgorICAgICAgICAoLVtET01Eb2N1bWVudCBjcmVhdGVBdHRyaWJ1dGVOUzo6XSk6IGRpdHRv
LgorICAgICAgICAoLVtET01FbGVtZW50IGdldEF0dHJpYnV0ZU5vZGU6XSk6IGRpdHRvLgorICAg
ICAgICAoLVtET01FbGVtZW50IGdldEF0dHJpYnV0ZU5vZGVOUzo6XSk6IGRpdHRvLgorCiAyMDA2
LTAyLTA0ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4K
</data>
<flag name="review"
          id="1540"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>