<?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>118094</bug_id>
          
          <creation_ts>2013-06-26 15:30:26 -0700</creation_ts>
          <short_desc>Add an accessibility delegate interface to Windows solution</short_desc>
          <delta_ts>2013-06-26 17:43:38 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows 7</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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="Roger Fong">roger_fong</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>japhet</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mario</cc>
    
    <cc>roger_fong</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>903943</commentid>
    <comment_count>0</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2013-06-26 15:30:26 -0700</bug_when>
    <thetext>So client&apos;s can do stuff when Frame loads start and finish.
Some accessibility programs like WE require that certain notifications be sent from OUTSIDE of webkit when a frame is being loaded.
This API allows this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>903944</commentid>
    <comment_count>1</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2013-06-26 15:30:43 -0700</bug_when>
    <thetext>&lt;rdar://problem/10055712&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>903965</commentid>
    <comment_count>2</comment_count>
      <attachid>205537</attachid>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2013-06-26 16:20:47 -0700</bug_when>
    <thetext>Created attachment 205537
patch

tentative first patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>903967</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-26 16:22:13 -0700</bug_when>
    <thetext>Attachment 205537 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/accessibility/win/AXObjectCacheWin.cpp&apos;, u&apos;Source/WebCore/loader/EmptyClients.h&apos;, u&apos;Source/WebCore/page/ChromeClient.h&apos;, u&apos;Source/WebKit/ChangeLog&apos;, u&apos;Source/WebKit/WebKit.vcxproj/Interfaces/Interfaces.vcxproj&apos;, u&apos;Source/WebKit/WebKit.vcxproj/Interfaces/Interfaces.vcxproj.filters&apos;, u&apos;Source/WebKit/win/ChangeLog&apos;, u&apos;Source/WebKit/win/Interfaces/IWebView.idl&apos;, u&apos;Source/WebKit/win/Interfaces/WebKit.idl&apos;, u&apos;Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp&apos;, u&apos;Source/WebKit/win/WebCoreSupport/WebChromeClient.h&apos;, u&apos;Source/WebKit/win/WebView.cpp&apos;, u&apos;Source/WebKit/win/WebView.h&apos;]&quot; exit_code: 1
Source/WebKit/win/WebView.cpp:2875:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/win/WebView.cpp:2882:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/win/WebView.h:143:  The parameter name &quot;d&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit/win/WebView.h:143:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/win/WebView.h:146:  The parameter name &quot;d&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit/win/WebView.h:146:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 6 in 14 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>903968</commentid>
    <comment_count>4</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2013-06-26 16:23:06 -0700</bug_when>
    <thetext>style bot no like our COM syntax</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>903970</commentid>
    <comment_count>5</comment_count>
      <attachid>205537</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-06-26 16:25:17 -0700</bug_when>
    <thetext>Comment on attachment 205537
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=205537&amp;action=review

Looks good -- but we&apos;re missing the AccessibilityDelegate.idl file!

&gt; Source/WebKit/win/WebView.cpp:2885
&gt; +        return E_FAIL;

I usually return E_POINTER</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>903972</commentid>
    <comment_count>6</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2013-06-26 16:32:27 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 205537 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=205537&amp;action=review
&gt; 
&gt; Looks good -- but we&apos;re missing the AccessibilityDelegate.idl file!
&gt; 
Doh.

&gt; &gt; Source/WebKit/win/WebView.cpp:2885
&gt; &gt; +        return E_FAIL;
&gt; 
&gt; I usually return E_POINTER
 Hmm what&apos;s the difference? I was just copying what the other delegate getters in the file were returning.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>903973</commentid>
    <comment_count>7</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-06-26 16:34:24 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; (From update of attachment 205537 [details] [details])
&gt; &gt; &gt; Source/WebKit/win/WebView.cpp:2885
&gt; &gt; &gt; +        return E_FAIL;
&gt; &gt; 
&gt; &gt; I usually return E_POINTER
&gt;  Hmm what&apos;s the difference? I was just copying what the other delegate getters in the file were returning.

E_POINTER is returned when the caller doesn&apos;t supply a valid pointer to the routine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>903986</commentid>
    <comment_count>8</comment_count>
      <attachid>205543</attachid>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2013-06-26 16:56:09 -0700</bug_when>
    <thetext>Created attachment 205543
patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>903987</commentid>
    <comment_count>9</comment_count>
      <attachid>205543</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-06-26 16:57:27 -0700</bug_when>
    <thetext>Comment on attachment 205543
patch v2

Looks good!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>903988</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-26 16:58:59 -0700</bug_when>
    <thetext>Attachment 205543 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/accessibility/win/AXObjectCacheWin.cpp&apos;, u&apos;Source/WebCore/loader/EmptyClients.h&apos;, u&apos;Source/WebCore/page/ChromeClient.h&apos;, u&apos;Source/WebKit/ChangeLog&apos;, u&apos;Source/WebKit/WebKit.vcxproj/Interfaces/Interfaces.vcxproj&apos;, u&apos;Source/WebKit/WebKit.vcxproj/Interfaces/Interfaces.vcxproj.filters&apos;, u&apos;Source/WebKit/win/ChangeLog&apos;, u&apos;Source/WebKit/win/Interfaces/AccessibilityDelegate.idl&apos;, u&apos;Source/WebKit/win/Interfaces/IWebView.idl&apos;, u&apos;Source/WebKit/win/Interfaces/WebKit.idl&apos;, u&apos;Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp&apos;, u&apos;Source/WebKit/win/WebCoreSupport/WebChromeClient.h&apos;, u&apos;Source/WebKit/win/WebView.cpp&apos;, u&apos;Source/WebKit/win/WebView.h&apos;]&quot; exit_code: 1
Source/WebKit/win/WebView.cpp:2875:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/win/WebView.cpp:2882:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/win/WebView.h:143:  The parameter name &quot;d&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit/win/WebView.h:143:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/win/WebView.h:146:  The parameter name &quot;d&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit/win/WebView.h:146:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 6 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>903993</commentid>
    <comment_count>11</comment_count>
      <attachid>205543</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-06-26 17:10:22 -0700</bug_when>
    <thetext>Comment on attachment 205543
patch v2

View in context: https://bugs.webkit.org/attachment.cgi?id=205543&amp;action=review

You might consider fixing the parameter name warnings from the style bot. I&apos;d also get rid of the STDMETHODCALLTYPE declarations in the CPP file (leave them in the header file).

&gt; Source/WebKit/win/WebView.cpp:2874
&gt; +HRESULT STDMETHODCALLTYPE WebView::setAccessibilityDelegate(

You don&apos;t need STDMETHODCALLTYPE in the implementation -- only in the header.

&gt; Source/WebKit/win/WebView.cpp:2881
&gt; +HRESULT STDMETHODCALLTYPE WebView::accessibilityDelegate(

You can remove STDMETHODCALLTYPE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904009</commentid>
    <comment_count>12</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2013-06-26 17:43:32 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/152065</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205537</attachid>
            <date>2013-06-26 16:20:47 -0700</date>
            <delta_ts>2013-06-26 16:56:09 -0700</delta_ts>
            <desc>patch</desc>
            <filename>axPatch.patch</filename>
            <type>text/plain</type>
            <size>11638</size>
            <attacher name="Roger Fong">roger_fong</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MjAzNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEzLTA2LTI2ICBSb2dlciBG
b25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGFuIGFjY2Vzc2liaWxp
dHkgZGVsZWdhdGUgaW50ZXJmYWNlIHRvIEFwcGxlV2luIHBvcnQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTgwOTQuCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3dpbi9BWE9i
amVjdENhY2hlV2luLmNwcDogV2UgY2FsbCB0aGUgcGFnZSBjbGllbnQncyBBWFN0YXJ0RnJhbWVM
b2FkIGFuZCBBWEZpbmlzaEZyYW1lTG9hZCBtZXRob2RzIGhlcmUsIHdoaWNoIHdpbGwgaW4gdHVy
biBjYWxsIHRoZSBBY2Nlc3NpYmlsaXR5RGVsZWdhdGUncyBjYWxsYmFja3MuCisgICAgICAgIChX
ZWJDb3JlOjpBWE9iamVjdENhY2hlOjpmcmFtZUxvYWRpbmdFdmVudFBsYXRmb3JtTm90aWZpY2F0
aW9uKToKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgIChXZWJDb3Jl
OjpFbXB0eUNocm9tZUNsaWVudDo6QVhTdGFydEZyYW1lTG9hZCk6CisgICAgICAgIChXZWJDb3Jl
OjpFbXB0eUNocm9tZUNsaWVudDo6QVhGaW5pc2hGcmFtZUxvYWQpOgorICAgICAgICAqIHBhZ2Uv
Q2hyb21lQ2xpZW50Lmg6CisKIDIwMTMtMDYtMjYgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBh
cHBsZS5jb20+CiAKICAgICAgICAgW1dpbmRvd3NdIEVuYWJsZSBDYXB0aW9uVXNlclByZWZlcmVu
Y2VzTWVkaWFBRiBvbiBXaW5kb3dzLgpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS93aW4vQVhPYmplY3RDYWNoZVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS93aW4vQVhPYmplY3RDYWNoZVdpbi5jcHAJKHJldmlzaW9uIDE1MTkyMCkK
KysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvd2luL0FYT2JqZWN0Q2FjaGVXaW4uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJBY2Nlc3NpYmls
aXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAiQ2hyb21lQ2xpZW50
LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAi
UmVuZGVyT2JqZWN0LmgiCkBAIC0xMjcsOCArMTI4LDIzIEBACiB7CiB9CiAKLXZvaWQgQVhPYmpl
Y3RDYWNoZTo6ZnJhbWVMb2FkaW5nRXZlbnRQbGF0Zm9ybU5vdGlmaWNhdGlvbihBY2Nlc3NpYmls
aXR5T2JqZWN0KiwgQVhMb2FkaW5nRXZlbnQpCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmZyYW1lTG9h
ZGluZ0V2ZW50UGxhdGZvcm1Ob3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqLCBB
WExvYWRpbmdFdmVudCBub3RpZmljYXRpb24pCiB7CisgICAgaWYgKCFvYmopCisgICAgICAgIHJl
dHVybjsKKyAgICAKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBvYmotPmRvY3VtZW50KCk7Cisg
ICAgaWYgKCFkb2N1bWVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgUGFnZSogcGFnZSA9IGRv
Y3VtZW50LT5wYWdlKCk7CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm47CisKKyAgICBp
ZiAobm90aWZpY2F0aW9uID09IEFYTG9hZGluZ1N0YXJ0ZWQpCisgICAgICAgIHBhZ2UtPmNocm9t
ZSgpLmNsaWVudCgpLT5BWFN0YXJ0RnJhbWVMb2FkKCk7CisgICAgZWxzZSBpZiAobm90aWZpY2F0
aW9uID09IEFYTG9hZGluZ0ZpbmlzaGVkKQorICAgICAgICBwYWdlLT5jaHJvbWUoKS5jbGllbnQo
KS0+QVhGaW5pc2hGcmFtZUxvYWQoKTsKIH0KIAogQVhJRCBBWE9iamVjdENhY2hlOjpwbGF0Zm9y
bUdlbmVyYXRlQVhJRCgpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5oCShyZXZpc2lvbiAxNTE5MjApCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE4Nyw2ICsxODcsOCBAQAogCiAjaWYgUExBVEZPUk0o
V0lOKQogICAgIHZpcnR1YWwgdm9pZCBzZXRMYXN0U2V0Q3Vyc29yVG9DdXJyZW50Q3Vyc29yKCkg
eyB9CisgICAgdmlydHVhbCB2b2lkIEFYU3RhcnRGcmFtZUxvYWQoKSB7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgQVhGaW5pc2hGcmFtZUxvYWQoKSB7IH0KICNlbmRpZgogI2lmIEVOQUJMRShUT1VDSF9F
VkVOVFMpCiAgICAgdmlydHVhbCB2b2lkIG5lZWRUb3VjaEV2ZW50cyhib29sKSB7IH0KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAkocmV2aXNpb24gMTUxOTIwKQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzEwLDYgKzMx
MCw4IEBACiAKICNpZiBQTEFURk9STShXSU4pCiAgICAgdmlydHVhbCB2b2lkIHNldExhc3RTZXRD
dXJzb3JUb0N1cnJlbnRDdXJzb3IoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIEFYU3RhcnRGcmFt
ZUxvYWQoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIEFYRmluaXNoRnJhbWVMb2FkKCkgPSAwOwog
I2VuZGlmCiAKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQpJbmRleDogU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9u
IDE1MjAzNikKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMTMtMDYtMjYgIFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgYW4gYWNjZXNzaWJpbGl0eSBkZWxlZ2F0ZSBpbnRlcmZhY2UgdG8g
QXBwbGVXaW4gcG9ydC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExODA5NC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYktpdC52Y3hwcm9qL0ludGVyZmFjZXMvSW50ZXJmYWNlcy52Y3hwcm9qOgor
ICAgICAgICAqIFdlYktpdC52Y3hwcm9qL0ludGVyZmFjZXMvSW50ZXJmYWNlcy52Y3hwcm9qLmZp
bHRlcnM6CisKIDIwMTMtMDYtMjQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5AYXBw
bGUuY29tPgogCiAgICAgICAgIFdpbmRvd3MgYnVpbGQgbGlua3MgdG8gb3BlbmdsMzIubGliIHRv
IGFsbG93IFdlYkdMIGNvbXBpbGluZy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViS2l0LnZjeHBy
b2ovSW50ZXJmYWNlcy9JbnRlcmZhY2VzLnZjeHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9XZWJLaXQudmN4cHJvai9JbnRlcmZhY2VzL0ludGVyZmFjZXMudmN4cHJvagkocmV2aXNp
b24gMTUxOTIwKQorKysgU291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9JbnRlcmZhY2VzL0lu
dGVyZmFjZXMudmN4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTYxLDYgKzE2MSwxNCBAQAogICAg
IDwvTGluaz4NCiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4NCiAgIDxJdGVtR3JvdXA+DQorICAg
IDxNaWRsIEluY2x1ZGU9Ii4uXC4uXHdpblxJbnRlcmZhY2VzXEFjY2Vzc2liaWxpdHlEZWxlZ2F0
ZS5pZGwiPg0KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+DQorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4NCisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPg0KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4NCisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+DQorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPg0KKyAgICA8L01pZGw+DQogICAgIDxNaWRsIEluY2x1ZGU9Ii4uXC4u
XHdpblxJbnRlcmZhY2VzXEFjY2Vzc2libGUyXEFjY2Vzc2libGUyLmlkbCIgLz4NCiAgICAgPE1p
ZGwgSW5jbHVkZT0iLi5cLi5cd2luXEludGVyZmFjZXNcQWNjZXNzaWJsZTJcQWNjZXNzaWJsZTJf
Mi5pZGwiIC8+DQogICAgIDxNaWRsIEluY2x1ZGU9Ii4uXC4uXHdpblxJbnRlcmZhY2VzXEFjY2Vz
c2libGUyXEFjY2Vzc2libGVBcHBsaWNhdGlvbi5pZGwiIC8+DQpJbmRleDogU291cmNlL1dlYktp
dC9XZWJLaXQudmN4cHJvai9JbnRlcmZhY2VzL0ludGVyZmFjZXMudmN4cHJvai5maWx0ZXJzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViS2l0LnZjeHByb2ovSW50ZXJmYWNlcy9JbnRl
cmZhY2VzLnZjeHByb2ouZmlsdGVycwkocmV2aXNpb24gMTUxOTIwKQorKysgU291cmNlL1dlYktp
dC9XZWJLaXQudmN4cHJvai9JbnRlcmZhY2VzL0ludGVyZmFjZXMudmN4cHJvai5maWx0ZXJzCSh3
b3JraW5nIGNvcHkpCkBAIC0yNzQsNiArMjc0LDkgQEAKICAgICA8TWlkbCBJbmNsdWRlPSIuLlwu
Llx3aW5cSW50ZXJmYWNlc1xBY2Nlc3NpYmxlMlxBY2Nlc3NpYmxlQXBwbGljYXRpb24uaWRsIj4N
CiAgICAgICA8RmlsdGVyPklETFxBY2Nlc3NpYmlsaXR5MjwvRmlsdGVyPg0KICAgICA8L01pZGw+
DQorICAgIDxNaWRsIEluY2x1ZGU9Ii4uXC4uXHdpblxJbnRlcmZhY2VzXEFjY2Vzc2liaWxpdHlE
ZWxlZ2F0ZS5pZGwiPg0KKyAgICAgIDxGaWx0ZXI+SURMPC9GaWx0ZXI+DQorICAgIDwvTWlkbD4N
CiAgIDwvSXRlbUdyb3VwPg0KICAgPEl0ZW1Hcm91cD4NCiAgICAgPE5vbmUgSW5jbHVkZT0iSW50
ZXJmYWNlc1Bvc3RCdWlsZC5jbWQiIC8+DQpJbmRleDogU291cmNlL1dlYktpdC93aW4vQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNpb24g
MTUyMDM2KQorKysgU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTMtMDYtMjYgIFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxl
LmNvbT4KKworICAgICAgICBBZGQgYW4gYWNjZXNzaWJpbGl0eSBkZWxlZ2F0ZSBpbnRlcmZhY2Ug
dG8gQXBwbGVXaW4gcG9ydC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExODA5NC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlZpZXcuaWRsOgorICAgICAgICAqIEludGVyZmFj
ZXMvV2ViS2l0LmlkbDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
Y3BwOiBBZGQgbWV0aG9kcyB0aGF0IGNhbGwgaW50byB0aGUgQWNjZXNzaWJpbGl0eURlbGVnYXRl
LgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjpBWFN0YXJ0RnJhbWVMb2FkKToKKyAgICAgICAg
KFdlYkNocm9tZUNsaWVudDo6QVhGaW5pc2hGcmFtZUxvYWQpOgorICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYlZpZXcuY3BwOiBBZGQgc3Vw
cG9ydCBmb3Igc2V0dGluZyBhbmQgZ2V0dGluZyB0aGUgQWNjZXNzaWJpbGl0eURlbGVnYXRlIGZy
b20gdGhlIFdlYlZpZXcuCisgICAgICAgIChXZWJWaWV3OjpjbG9zZSk6CisgICAgICAgIChXZWJW
aWV3OjpzZXRBY2Nlc3NpYmlsaXR5RGVsZWdhdGUpOgorICAgICAgICAoV2ViVmlldzo6YWNjZXNz
aWJpbGl0eURlbGVnYXRlKToKKyAgICAgICAgKiBXZWJWaWV3Lmg6CisKIDIwMTMtMDYtMjQgIEth
bmdpbCBIYW4gIDxrYW5naWwuaGFuQHNhbXN1bmcuY29tPgogCiAgICAgICAgIEFkb3B0IGlzL3Rv
SFRNTEZvcm1FbGVtZW50IGZvciBjb2RlIGNsZWFudXAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2lu
L0ludGVyZmFjZXMvSVdlYlZpZXcuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2lu
L0ludGVyZmFjZXMvSVdlYlZpZXcuaWRsCShyZXZpc2lvbiAxNTE5MjApCisrKyBTb3VyY2UvV2Vi
S2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJWaWV3LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjI3LDYg
KzIyNywyMiBAQAogICAgIEhSRVNVTFQgaW5pdFdpdGhGcmFtZShbaW5dIFJFQ1QgZnJhbWUsIFtp
bl0gQlNUUiBmcmFtZU5hbWUsIFtpbl0gQlNUUiBncm91cE5hbWUpOwogCiAgICAgLyohCisgICAg
ICAgIEBtZXRob2QgYWNjZXNzaWJpbGl0eURlbGVnYXRlOgorICAgICAgICBAYWJzdHJhY3QgUmV0
dXJuIHRoZSBXZWJWaWV3J3MgYWNjZXNzaWJpbGl0eURlbGVnYXRlLgorICAgICAgICBAcGFyYW0g
ZGVsZWdhdGUgVGhlIFdlYlVJRGVsZWdhdGUgdG8gc2V0IGFzIHRoZSBkZWxlZ2F0ZS4KKyAgICAg
ICAgLSAodm9pZClzZXRVSURlbGVnYXRlOihpZClkZWxlZ2F0ZTsKKyAgICAqLworICAgIEhSRVNV
TFQgc2V0QWNjZXNzaWJpbGl0eURlbGVnYXRlKFtpbl0gSUFjY2Vzc2liaWxpdHlEZWxlZ2F0ZSAq
ZCk7CisKKyAgICAvKiEKKyAgICAgICAgQG1ldGhvZCBzZXRBY2Nlc3NpYmlsaXR5RGVsZWdhdGU6
CisgICAgICAgIEBhYnN0cmFjdCBTZXQgdGhlIFdlYlZpZXcncyBhY2Nlc3NpYmlsaXR5RGVsZWdh
dGUuCisgICAgICAgIEByZXN1bHQgVGhlIFdlYlZpZXcncyBXZWJVSURlbGVnYXRlLgorICAgICAg
ICAtIChpZClVSURlbGVnYXRlOworICAgICovCisgICAgSFJFU1VMVCBhY2Nlc3NpYmlsaXR5RGVs
ZWdhdGUoW291dF1bcmV0dmFsXSBJQWNjZXNzaWJpbGl0eURlbGVnYXRlICoqZCk7CisKKyAgICAv
KiEKICAgICAgICAgQG1ldGhvZCBzZXRVSURlbGVnYXRlOgogICAgICAgICBAYWJzdHJhY3QgU2V0
IHRoZSBXZWJWaWV3J3MgV2ViVUlEZWxlZ2F0ZS4KICAgICAgICAgQHBhcmFtIGRlbGVnYXRlIFRo
ZSBXZWJVSURlbGVnYXRlIHRvIHNldCBhcyB0aGUgZGVsZWdhdGUuCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L3dpbi9JbnRlcmZhY2VzL1dlYktpdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC93aW4vSW50ZXJmYWNlcy9XZWJLaXQuaWRsCShyZXZpc2lvbiAxNTE5MjApCisrKyBTb3VyY2Uv
V2ViS2l0L3dpbi9JbnRlcmZhY2VzL1dlYktpdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTU4LDYg
KzU4LDcgQEAKIGltcG9ydCAiQWNjZXNzaWJsZUFwcGxpY2F0aW9uLmlkbCI7CiAKICNpbmNsdWRl
ICJBY2Nlc3NpYmxlQ29tcGFyYWJsZS5pZGwiCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eURlbGVn
YXRlLmlkbCIKICNpbmNsdWRlICJXZWJTY3JvbGxiYXJUeXBlcy5pZGwiCiAjaW5jbHVkZSAiSmF2
YVNjcmlwdENvcmVBUElUeXBlcy5pZGwiCiAjaW5jbHVkZSAiSVdlYlNjcmlwdE9iamVjdC5pZGwi
CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAJKHJldmlzaW9uIDE1MTkyMCkKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg1Nyw0
ICs4NTcsMjAgQEAKICAgICBtX3dlYlZpZXctPmZ1bGxTY3JlZW5Db250cm9sbGVyKCktPmV4aXRG
dWxsU2NyZWVuKCk7CiB9CiAKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjpBWFN0YXJ0RnJhbWVMb2Fk
KCkKK3sKKyAgICBDT01QdHI8SUFjY2Vzc2liaWxpdHlEZWxlZ2F0ZT4gZGVsZWdhdGU7CisgICAg
bV93ZWJWaWV3LT5hY2Nlc3NpYmlsaXR5RGVsZWdhdGUoJmRlbGVnYXRlKTsKKyAgICBpZiAoZGVs
ZWdhdGUpCisgICAgICAgIGRlbGVnYXRlLT5maXJlRnJhbWVMb2FkU3RhcnRlZEV2ZW50cygpOwor
fQorCit2b2lkIFdlYkNocm9tZUNsaWVudDo6QVhGaW5pc2hGcmFtZUxvYWQoKQoreworICAgIENP
TVB0cjxJQWNjZXNzaWJpbGl0eURlbGVnYXRlPiBkZWxlZ2F0ZTsKKyAgICBtX3dlYlZpZXctPmFj
Y2Vzc2liaWxpdHlEZWxlZ2F0ZSgmZGVsZWdhdGUpOworICAgIGlmIChkZWxlZ2F0ZSkKKyAgICAg
ICAgZGVsZWdhdGUtPmZpcmVGcmFtZUxvYWRGaW5pc2hlZEV2ZW50cygpOworfQorCiAjZW5kaWYK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oCShyZXZpc2lvbiAxNTE5MjApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTc0LDYgKzE3NCw5
IEBACiAKICAgICBXZWJWaWV3KiB3ZWJWaWV3KCkgeyByZXR1cm4gbV93ZWJWaWV3OyB9CiAKKyAg
ICB2aXJ0dWFsIHZvaWQgQVhTdGFydEZyYW1lTG9hZCgpOworICAgIHZpcnR1YWwgdm9pZCBBWEZp
bmlzaEZyYW1lTG9hZCgpOworCiBwcml2YXRlOgogICAgIENPTVB0cjxJV2ViVUlEZWxlZ2F0ZT4g
dWlEZWxlZ2F0ZSgpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24gMTUxOTIw
KQorKysgU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcz
MCw2ICs3MzAsNyBAQAogCiAgICAgc2V0SG9zdFdpbmRvdygwKTsKIAorICAgIHNldEFjY2Vzc2li
aWxpdHlEZWxlZ2F0ZSgwKTsKICAgICBzZXREb3dubG9hZERlbGVnYXRlKDApOwogICAgIHNldEVk
aXRpbmdEZWxlZ2F0ZSgwKTsKICAgICBzZXRGcmFtZUxvYWREZWxlZ2F0ZSgwKTsKQEAgLTI4NzAs
NiArMjg3MSwyMiBAQAogICAgICAgICBtX2ZyYW1lTG9hZERlbGVnYXRlLT5kaWRSZWNlaXZlSWNv
bih0aGlzLCAwLCBmcmFtZSk7CiB9CiAKK0hSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViVmll
dzo6c2V0QWNjZXNzaWJpbGl0eURlbGVnYXRlKAorICAgIC8qIFtpbl0gKi8gSUFjY2Vzc2liaWxp
dHlEZWxlZ2F0ZSogZCkKK3sKKyAgICBtX2FjY2Vzc2liaWxpdHlEZWxlZ2F0ZSA9IGQ7CisgICAg
cmV0dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViVmlldzo6YWNj
ZXNzaWJpbGl0eURlbGVnYXRlKAorICAgIC8qIFtvdXRdW3JldHZhbF0gKi8gSUFjY2Vzc2liaWxp
dHlEZWxlZ2F0ZSoqIGQpCit7CisgICAgaWYgKCFtX2FjY2Vzc2liaWxpdHlEZWxlZ2F0ZSkKKyAg
ICAgICAgcmV0dXJuIEVfRkFJTDsKKworICAgIHJldHVybiBtX2FjY2Vzc2liaWxpdHlEZWxlZ2F0
ZS5jb3B5UmVmVG8oZCk7Cit9CisKIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViVmlldzo6
c2V0VUlEZWxlZ2F0ZSggCiAgICAgLyogW2luXSAqLyBJV2ViVUlEZWxlZ2F0ZSogZCkKIHsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L3dpbi9XZWJWaWV3LmgJKHJldmlzaW9uIDE1MTkyMCkKKysrIFNvdXJjZS9XZWJLaXQvd2lu
L1dlYlZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtMTM5LDYgKzEzOSwxMiBAQAogICAgICAgICAv
KiBbaW5dICovIEJTVFIgZnJhbWVOYW1lLAogICAgICAgICAvKiBbaW5dICovIEJTVFIgZ3JvdXBO
YW1lKTsKIAorICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRBY2Nlc3Np
YmlsaXR5RGVsZWdhdGUoCisgICAgICAgIC8qIFtpbl0gKi8gSUFjY2Vzc2liaWxpdHlEZWxlZ2F0
ZSAqZCk7CisKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgYWNjZXNzaWJp
bGl0eURlbGVnYXRlKAorICAgICAgICAvKiBbb3V0XVtyZXR2YWxdICovIElBY2Nlc3NpYmlsaXR5
RGVsZWdhdGUgKipkKTsKKwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBz
ZXRVSURlbGVnYXRlKCAKICAgICAgICAgLyogW2luXSAqLyBJV2ViVUlEZWxlZ2F0ZSAqZCk7CiAg
ICAgCkBAIC0xMDc5LDYgKzEwODUsNyBAQAogICAgIFNJWkUgbV9iYWNraW5nU3RvcmVTaXplOwog
ICAgIFJlZlB0cjxSZWZDb3VudGVkSFJHTj4gbV9iYWNraW5nU3RvcmVEaXJ0eVJlZ2lvbjsKIAor
ICAgIENPTVB0cjxJQWNjZXNzaWJpbGl0eURlbGVnYXRlPiBtX2FjY2Vzc2liaWxpdHlEZWxlZ2F0
ZTsKICAgICBDT01QdHI8SVdlYkVkaXRpbmdEZWxlZ2F0ZT4gbV9lZGl0aW5nRGVsZWdhdGU7CiAg
ICAgQ09NUHRyPElXZWJGcmFtZUxvYWREZWxlZ2F0ZT4gbV9mcmFtZUxvYWREZWxlZ2F0ZTsKICAg
ICBDT01QdHI8SVdlYkZyYW1lTG9hZERlbGVnYXRlUHJpdmF0ZT4gbV9mcmFtZUxvYWREZWxlZ2F0
ZVByaXZhdGU7Cg==
</data>
<flag name="review"
          id="227081"
          type_id="1"
          status="-"
          setter="bfulgham"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205543</attachid>
            <date>2013-06-26 16:56:09 -0700</date>
            <delta_ts>2013-06-26 17:10:22 -0700</delta_ts>
            <desc>patch v2</desc>
            <filename>axPatch.patch</filename>
            <type>text/plain</type>
            <size>13714</size>
            <attacher name="Roger Fong">roger_fong</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MjAzNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEzLTA2LTI2ICBSb2dlciBG
b25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGFuIGFjY2Vzc2liaWxp
dHkgZGVsZWdhdGUgaW50ZXJmYWNlIHRvIEFwcGxlV2luIHBvcnQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTgwOTQuCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3dpbi9BWE9i
amVjdENhY2hlV2luLmNwcDogV2UgY2FsbCB0aGUgcGFnZSBjbGllbnQncyBBWFN0YXJ0RnJhbWVM
b2FkIGFuZCBBWEZpbmlzaEZyYW1lTG9hZCBtZXRob2RzIGhlcmUsIHdoaWNoIHdpbGwgaW4gdHVy
biBjYWxsIHRoZSBBY2Nlc3NpYmlsaXR5RGVsZWdhdGUncyBjYWxsYmFja3MuCisgICAgICAgIChX
ZWJDb3JlOjpBWE9iamVjdENhY2hlOjpmcmFtZUxvYWRpbmdFdmVudFBsYXRmb3JtTm90aWZpY2F0
aW9uKToKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgIChXZWJDb3Jl
OjpFbXB0eUNocm9tZUNsaWVudDo6QVhTdGFydEZyYW1lTG9hZCk6CisgICAgICAgIChXZWJDb3Jl
OjpFbXB0eUNocm9tZUNsaWVudDo6QVhGaW5pc2hGcmFtZUxvYWQpOgorICAgICAgICAqIHBhZ2Uv
Q2hyb21lQ2xpZW50Lmg6CisKIDIwMTMtMDYtMjYgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBh
cHBsZS5jb20+CiAKICAgICAgICAgW1dpbmRvd3NdIEVuYWJsZSBDYXB0aW9uVXNlclByZWZlcmVu
Y2VzTWVkaWFBRiBvbiBXaW5kb3dzLgpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS93aW4vQVhPYmplY3RDYWNoZVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS93aW4vQVhPYmplY3RDYWNoZVdpbi5jcHAJKHJldmlzaW9uIDE1MTkyMCkK
KysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvd2luL0FYT2JqZWN0Q2FjaGVXaW4uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJBY2Nlc3NpYmls
aXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAiQ2hyb21lQ2xpZW50
LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAi
UmVuZGVyT2JqZWN0LmgiCkBAIC0xMjcsOCArMTI4LDIzIEBACiB7CiB9CiAKLXZvaWQgQVhPYmpl
Y3RDYWNoZTo6ZnJhbWVMb2FkaW5nRXZlbnRQbGF0Zm9ybU5vdGlmaWNhdGlvbihBY2Nlc3NpYmls
aXR5T2JqZWN0KiwgQVhMb2FkaW5nRXZlbnQpCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmZyYW1lTG9h
ZGluZ0V2ZW50UGxhdGZvcm1Ob3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqLCBB
WExvYWRpbmdFdmVudCBub3RpZmljYXRpb24pCiB7CisgICAgaWYgKCFvYmopCisgICAgICAgIHJl
dHVybjsKKyAgICAKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBvYmotPmRvY3VtZW50KCk7Cisg
ICAgaWYgKCFkb2N1bWVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgUGFnZSogcGFnZSA9IGRv
Y3VtZW50LT5wYWdlKCk7CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm47CisKKyAgICBp
ZiAobm90aWZpY2F0aW9uID09IEFYTG9hZGluZ1N0YXJ0ZWQpCisgICAgICAgIHBhZ2UtPmNocm9t
ZSgpLmNsaWVudCgpLT5BWFN0YXJ0RnJhbWVMb2FkKCk7CisgICAgZWxzZSBpZiAobm90aWZpY2F0
aW9uID09IEFYTG9hZGluZ0ZpbmlzaGVkKQorICAgICAgICBwYWdlLT5jaHJvbWUoKS5jbGllbnQo
KS0+QVhGaW5pc2hGcmFtZUxvYWQoKTsKIH0KIAogQVhJRCBBWE9iamVjdENhY2hlOjpwbGF0Zm9y
bUdlbmVyYXRlQVhJRCgpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5oCShyZXZpc2lvbiAxNTE5MjApCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE4Nyw2ICsxODcsOCBAQAogCiAjaWYgUExBVEZPUk0o
V0lOKQogICAgIHZpcnR1YWwgdm9pZCBzZXRMYXN0U2V0Q3Vyc29yVG9DdXJyZW50Q3Vyc29yKCkg
eyB9CisgICAgdmlydHVhbCB2b2lkIEFYU3RhcnRGcmFtZUxvYWQoKSB7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgQVhGaW5pc2hGcmFtZUxvYWQoKSB7IH0KICNlbmRpZgogI2lmIEVOQUJMRShUT1VDSF9F
VkVOVFMpCiAgICAgdmlydHVhbCB2b2lkIG5lZWRUb3VjaEV2ZW50cyhib29sKSB7IH0KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAkocmV2aXNpb24gMTUxOTIwKQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzEwLDYgKzMx
MCw4IEBACiAKICNpZiBQTEFURk9STShXSU4pCiAgICAgdmlydHVhbCB2b2lkIHNldExhc3RTZXRD
dXJzb3JUb0N1cnJlbnRDdXJzb3IoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIEFYU3RhcnRGcmFt
ZUxvYWQoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIEFYRmluaXNoRnJhbWVMb2FkKCkgPSAwOwog
I2VuZGlmCiAKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQpJbmRleDogU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9u
IDE1MjAzNikKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMTMtMDYtMjYgIFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgYW4gYWNjZXNzaWJpbGl0eSBkZWxlZ2F0ZSBpbnRlcmZhY2UgdG8g
QXBwbGVXaW4gcG9ydC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExODA5NC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYktpdC52Y3hwcm9qL0ludGVyZmFjZXMvSW50ZXJmYWNlcy52Y3hwcm9qOgor
ICAgICAgICAqIFdlYktpdC52Y3hwcm9qL0ludGVyZmFjZXMvSW50ZXJmYWNlcy52Y3hwcm9qLmZp
bHRlcnM6CisKIDIwMTMtMDYtMjQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5AYXBw
bGUuY29tPgogCiAgICAgICAgIFdpbmRvd3MgYnVpbGQgbGlua3MgdG8gb3BlbmdsMzIubGliIHRv
IGFsbG93IFdlYkdMIGNvbXBpbGluZy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViS2l0LnZjeHBy
b2ovSW50ZXJmYWNlcy9JbnRlcmZhY2VzLnZjeHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9XZWJLaXQudmN4cHJvai9JbnRlcmZhY2VzL0ludGVyZmFjZXMudmN4cHJvagkocmV2aXNp
b24gMTUxOTIwKQorKysgU291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9JbnRlcmZhY2VzL0lu
dGVyZmFjZXMudmN4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTYxLDYgKzE2MSwxNCBAQAogICAg
IDwvTGluaz4NCiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4NCiAgIDxJdGVtR3JvdXA+DQorICAg
IDxNaWRsIEluY2x1ZGU9Ii4uXC4uXHdpblxJbnRlcmZhY2VzXEFjY2Vzc2liaWxpdHlEZWxlZ2F0
ZS5pZGwiPg0KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+DQorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4NCisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPg0KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4NCisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+DQorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPg0KKyAgICA8L01pZGw+DQogICAgIDxNaWRsIEluY2x1ZGU9Ii4uXC4u
XHdpblxJbnRlcmZhY2VzXEFjY2Vzc2libGUyXEFjY2Vzc2libGUyLmlkbCIgLz4NCiAgICAgPE1p
ZGwgSW5jbHVkZT0iLi5cLi5cd2luXEludGVyZmFjZXNcQWNjZXNzaWJsZTJcQWNjZXNzaWJsZTJf
Mi5pZGwiIC8+DQogICAgIDxNaWRsIEluY2x1ZGU9Ii4uXC4uXHdpblxJbnRlcmZhY2VzXEFjY2Vz
c2libGUyXEFjY2Vzc2libGVBcHBsaWNhdGlvbi5pZGwiIC8+DQpJbmRleDogU291cmNlL1dlYktp
dC9XZWJLaXQudmN4cHJvai9JbnRlcmZhY2VzL0ludGVyZmFjZXMudmN4cHJvai5maWx0ZXJzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViS2l0LnZjeHByb2ovSW50ZXJmYWNlcy9JbnRl
cmZhY2VzLnZjeHByb2ouZmlsdGVycwkocmV2aXNpb24gMTUxOTIwKQorKysgU291cmNlL1dlYktp
dC9XZWJLaXQudmN4cHJvai9JbnRlcmZhY2VzL0ludGVyZmFjZXMudmN4cHJvai5maWx0ZXJzCSh3
b3JraW5nIGNvcHkpCkBAIC0yNzQsNiArMjc0LDkgQEAKICAgICA8TWlkbCBJbmNsdWRlPSIuLlwu
Llx3aW5cSW50ZXJmYWNlc1xBY2Nlc3NpYmxlMlxBY2Nlc3NpYmxlQXBwbGljYXRpb24uaWRsIj4N
CiAgICAgICA8RmlsdGVyPklETFxBY2Nlc3NpYmlsaXR5MjwvRmlsdGVyPg0KICAgICA8L01pZGw+
DQorICAgIDxNaWRsIEluY2x1ZGU9Ii4uXC4uXHdpblxJbnRlcmZhY2VzXEFjY2Vzc2liaWxpdHlE
ZWxlZ2F0ZS5pZGwiPg0KKyAgICAgIDxGaWx0ZXI+SURMPC9GaWx0ZXI+DQorICAgIDwvTWlkbD4N
CiAgIDwvSXRlbUdyb3VwPg0KICAgPEl0ZW1Hcm91cD4NCiAgICAgPE5vbmUgSW5jbHVkZT0iSW50
ZXJmYWNlc1Bvc3RCdWlsZC5jbWQiIC8+DQpJbmRleDogU291cmNlL1dlYktpdC93aW4vQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNpb24g
MTUyMDU3KQorKysgU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTMtMDYtMjYgIFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxl
LmNvbT4KKworICAgICAgICBBZGQgYW4gYWNjZXNzaWJpbGl0eSBkZWxlZ2F0ZSBpbnRlcmZhY2Ug
dG8gQXBwbGVXaW4gcG9ydC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExODA5NC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIEludGVyZmFjZXMvQWNjZXNzaWJpbGl0eURlbGVnYXRlLmlkbDogQWRkZWQu
CisgICAgICAgICogSW50ZXJmYWNlcy9JV2ViVmlldy5pZGw6CisgICAgICAgICogSW50ZXJmYWNl
cy9XZWJLaXQuaWRsOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5j
cHA6IEFkZCBtZXRob2RzIHRoYXQgY2FsbCBpbnRvIHRoZSBBY2Nlc3NpYmlsaXR5RGVsZWdhdGUu
CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OkFYU3RhcnRGcmFtZUxvYWQpOgorICAgICAgICAo
V2ViQ2hyb21lQ2xpZW50OjpBWEZpbmlzaEZyYW1lTG9hZCk6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViVmlldy5jcHA6IEFkZCBzdXBw
b3J0IGZvciBzZXR0aW5nIGFuZCBnZXR0aW5nIHRoZSBBY2Nlc3NpYmlsaXR5RGVsZWdhdGUgZnJv
bSB0aGUgV2ViVmlldy4KKyAgICAgICAgKFdlYlZpZXc6OmNsb3NlKToKKyAgICAgICAgKFdlYlZp
ZXc6OnNldEFjY2Vzc2liaWxpdHlEZWxlZ2F0ZSk6CisgICAgICAgIChXZWJWaWV3OjphY2Nlc3Np
YmlsaXR5RGVsZWdhdGUpOgorICAgICAgICAqIFdlYlZpZXcuaDoKKwogMjAxMy0wNi0yNCAgS2Fu
Z2lsIEhhbiAgPGthbmdpbC5oYW5Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgQWRvcHQgaXMvdG9I
VE1MRm9ybUVsZW1lbnQgZm9yIGNvZGUgY2xlYW51cApJbmRleDogU291cmNlL1dlYktpdC93aW4v
SW50ZXJmYWNlcy9BY2Nlc3NpYmlsaXR5RGVsZWdhdGUuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvQWNjZXNzaWJpbGl0eURlbGVnYXRlLmlkbAkocmV2aXNp
b24gMCkKKysrIFNvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvQWNjZXNzaWJpbGl0eURlbGVn
YXRlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEzIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5k
ZWYgRE9fTk9fSU1QT1JUUworaW1wb3J0ICJvYWlkbC5pZGwiOworaW1wb3J0ICJvY2lkbC5pZGwi
OworI2VuZGlmCisKK1sKKyAgICBvYmplY3QsCisgICAgb2xlYXV0b21hdGlvbiwKKyAgICBoaWRk
ZW4sCisgICAgdXVpZChDNkY5MjMyQS0xRTdELTQ2MTQtQkRBRS0xNTAyNjJERTY4ODQpLAorICAg
IHBvaW50ZXJfZGVmYXVsdCh1bmlxdWUpCitdCisKK2ludGVyZmFjZSBJQWNjZXNzaWJpbGl0eURl
bGVnYXRlIDogSVVua25vd24KK3sKKyAgICBIUkVTVUxUIGZpcmVGcmFtZUxvYWRTdGFydGVkRXZl
bnRzKCk7CisgICAgSFJFU1VMVCBmaXJlRnJhbWVMb2FkRmluaXNoZWRFdmVudHMoKTsKK30KSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlZpZXcuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlZpZXcuaWRsCShyZXZpc2lvbiAx
NTE5MjApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJWaWV3LmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMjI3LDYgKzIyNywyMiBAQAogICAgIEhSRVNVTFQgaW5pdFdpdGhGcmFt
ZShbaW5dIFJFQ1QgZnJhbWUsIFtpbl0gQlNUUiBmcmFtZU5hbWUsIFtpbl0gQlNUUiBncm91cE5h
bWUpOwogCiAgICAgLyohCisgICAgICAgIEBtZXRob2QgYWNjZXNzaWJpbGl0eURlbGVnYXRlOgor
ICAgICAgICBAYWJzdHJhY3QgUmV0dXJuIHRoZSBXZWJWaWV3J3MgYWNjZXNzaWJpbGl0eURlbGVn
YXRlLgorICAgICAgICBAcGFyYW0gZGVsZWdhdGUgVGhlIFdlYlVJRGVsZWdhdGUgdG8gc2V0IGFz
IHRoZSBkZWxlZ2F0ZS4KKyAgICAgICAgLSAodm9pZClzZXRVSURlbGVnYXRlOihpZClkZWxlZ2F0
ZTsKKyAgICAqLworICAgIEhSRVNVTFQgc2V0QWNjZXNzaWJpbGl0eURlbGVnYXRlKFtpbl0gSUFj
Y2Vzc2liaWxpdHlEZWxlZ2F0ZSAqZCk7CisKKyAgICAvKiEKKyAgICAgICAgQG1ldGhvZCBzZXRB
Y2Nlc3NpYmlsaXR5RGVsZWdhdGU6CisgICAgICAgIEBhYnN0cmFjdCBTZXQgdGhlIFdlYlZpZXcn
cyBhY2Nlc3NpYmlsaXR5RGVsZWdhdGUuCisgICAgICAgIEByZXN1bHQgVGhlIFdlYlZpZXcncyBX
ZWJVSURlbGVnYXRlLgorICAgICAgICAtIChpZClVSURlbGVnYXRlOworICAgICovCisgICAgSFJF
U1VMVCBhY2Nlc3NpYmlsaXR5RGVsZWdhdGUoW291dF1bcmV0dmFsXSBJQWNjZXNzaWJpbGl0eURl
bGVnYXRlICoqZCk7CisKKyAgICAvKiEKICAgICAgICAgQG1ldGhvZCBzZXRVSURlbGVnYXRlOgog
ICAgICAgICBAYWJzdHJhY3QgU2V0IHRoZSBXZWJWaWV3J3MgV2ViVUlEZWxlZ2F0ZS4KICAgICAg
ICAgQHBhcmFtIGRlbGVnYXRlIFRoZSBXZWJVSURlbGVnYXRlIHRvIHNldCBhcyB0aGUgZGVsZWdh
dGUuCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL1dlYktpdC5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9XZWJLaXQuaWRsCShyZXZpc2lv
biAxNTE5MjApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL1dlYktpdC5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDcgQEAKIGltcG9ydCAiQWNjZXNzaWJsZUFwcGxpY2F0
aW9uLmlkbCI7CiAKICNpbmNsdWRlICJBY2Nlc3NpYmxlQ29tcGFyYWJsZS5pZGwiCisjaW5jbHVk
ZSAiQWNjZXNzaWJpbGl0eURlbGVnYXRlLmlkbCIKICNpbmNsdWRlICJXZWJTY3JvbGxiYXJUeXBl
cy5pZGwiCiAjaW5jbHVkZSAiSmF2YVNjcmlwdENvcmVBUElUeXBlcy5pZGwiCiAjaW5jbHVkZSAi
SVdlYlNjcmlwdE9iamVjdC5pZGwiCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2lu
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAJKHJldmlzaW9uIDE1MTkyMCkKKysr
IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTg1Nyw0ICs4NTcsMjAgQEAKICAgICBtX3dlYlZpZXctPmZ1bGxTY3Jl
ZW5Db250cm9sbGVyKCktPmV4aXRGdWxsU2NyZWVuKCk7CiB9CiAKK3ZvaWQgV2ViQ2hyb21lQ2xp
ZW50OjpBWFN0YXJ0RnJhbWVMb2FkKCkKK3sKKyAgICBDT01QdHI8SUFjY2Vzc2liaWxpdHlEZWxl
Z2F0ZT4gZGVsZWdhdGU7CisgICAgbV93ZWJWaWV3LT5hY2Nlc3NpYmlsaXR5RGVsZWdhdGUoJmRl
bGVnYXRlKTsKKyAgICBpZiAoZGVsZWdhdGUpCisgICAgICAgIGRlbGVnYXRlLT5maXJlRnJhbWVM
b2FkU3RhcnRlZEV2ZW50cygpOworfQorCit2b2lkIFdlYkNocm9tZUNsaWVudDo6QVhGaW5pc2hG
cmFtZUxvYWQoKQoreworICAgIENPTVB0cjxJQWNjZXNzaWJpbGl0eURlbGVnYXRlPiBkZWxlZ2F0
ZTsKKyAgICBtX3dlYlZpZXctPmFjY2Vzc2liaWxpdHlEZWxlZ2F0ZSgmZGVsZWdhdGUpOworICAg
IGlmIChkZWxlZ2F0ZSkKKyAgICAgICAgZGVsZWdhdGUtPmZpcmVGcmFtZUxvYWRGaW5pc2hlZEV2
ZW50cygpOworfQorCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCShyZXZpc2lvbiAxNTE5MjApCisrKyBTb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtMTc0LDYgKzE3NCw5IEBACiAKICAgICBXZWJWaWV3KiB3ZWJWaWV3KCkgeyByZXR1
cm4gbV93ZWJWaWV3OyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgQVhTdGFydEZyYW1lTG9hZCgpOwor
ICAgIHZpcnR1YWwgdm9pZCBBWEZpbmlzaEZyYW1lTG9hZCgpOworCiBwcml2YXRlOgogICAgIENP
TVB0cjxJV2ViVUlEZWxlZ2F0ZT4gdWlEZWxlZ2F0ZSgpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0
L3dpbi9XZWJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3
LmNwcAkocmV2aXNpb24gMTUxOTIwKQorKysgU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTczMCw2ICs3MzAsNyBAQAogCiAgICAgc2V0SG9zdFdpbmRvdygw
KTsKIAorICAgIHNldEFjY2Vzc2liaWxpdHlEZWxlZ2F0ZSgwKTsKICAgICBzZXREb3dubG9hZERl
bGVnYXRlKDApOwogICAgIHNldEVkaXRpbmdEZWxlZ2F0ZSgwKTsKICAgICBzZXRGcmFtZUxvYWRE
ZWxlZ2F0ZSgwKTsKQEAgLTI4NzAsNiArMjg3MSwyMiBAQAogICAgICAgICBtX2ZyYW1lTG9hZERl
bGVnYXRlLT5kaWRSZWNlaXZlSWNvbih0aGlzLCAwLCBmcmFtZSk7CiB9CiAKK0hSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgV2ViVmlldzo6c2V0QWNjZXNzaWJpbGl0eURlbGVnYXRlKAorICAgIC8q
IFtpbl0gKi8gSUFjY2Vzc2liaWxpdHlEZWxlZ2F0ZSogZCkKK3sKKyAgICBtX2FjY2Vzc2liaWxp
dHlEZWxlZ2F0ZSA9IGQ7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgV2ViVmlldzo6YWNjZXNzaWJpbGl0eURlbGVnYXRlKAorICAgIC8qIFtvdXRdW3Jl
dHZhbF0gKi8gSUFjY2Vzc2liaWxpdHlEZWxlZ2F0ZSoqIGQpCit7CisgICAgaWYgKCFtX2FjY2Vz
c2liaWxpdHlEZWxlZ2F0ZSkKKyAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKKworICAgIHJldHVy
biBtX2FjY2Vzc2liaWxpdHlEZWxlZ2F0ZS5jb3B5UmVmVG8oZCk7Cit9CisKIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgV2ViVmlldzo6c2V0VUlEZWxlZ2F0ZSggCiAgICAgLyogW2luXSAqLyBJ
V2ViVUlEZWxlZ2F0ZSogZCkKIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmgJKHJldmlzaW9uIDE1MTky
MCkKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtMTM5
LDYgKzEzOSwxMiBAQAogICAgICAgICAvKiBbaW5dICovIEJTVFIgZnJhbWVOYW1lLAogICAgICAg
ICAvKiBbaW5dICovIEJTVFIgZ3JvdXBOYW1lKTsKIAorICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBzZXRBY2Nlc3NpYmlsaXR5RGVsZWdhdGUoCisgICAgICAgIC8qIFtpbl0g
Ki8gSUFjY2Vzc2liaWxpdHlEZWxlZ2F0ZSAqZCk7CisKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgYWNjZXNzaWJpbGl0eURlbGVnYXRlKAorICAgICAgICAvKiBbb3V0XVty
ZXR2YWxdICovIElBY2Nlc3NpYmlsaXR5RGVsZWdhdGUgKipkKTsKKwogICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRVSURlbGVnYXRlKCAKICAgICAgICAgLyogW2luXSAq
LyBJV2ViVUlEZWxlZ2F0ZSAqZCk7CiAgICAgCkBAIC0xMDc5LDYgKzEwODUsNyBAQAogICAgIFNJ
WkUgbV9iYWNraW5nU3RvcmVTaXplOwogICAgIFJlZlB0cjxSZWZDb3VudGVkSFJHTj4gbV9iYWNr
aW5nU3RvcmVEaXJ0eVJlZ2lvbjsKIAorICAgIENPTVB0cjxJQWNjZXNzaWJpbGl0eURlbGVnYXRl
PiBtX2FjY2Vzc2liaWxpdHlEZWxlZ2F0ZTsKICAgICBDT01QdHI8SVdlYkVkaXRpbmdEZWxlZ2F0
ZT4gbV9lZGl0aW5nRGVsZWdhdGU7CiAgICAgQ09NUHRyPElXZWJGcmFtZUxvYWREZWxlZ2F0ZT4g
bV9mcmFtZUxvYWREZWxlZ2F0ZTsKICAgICBDT01QdHI8SVdlYkZyYW1lTG9hZERlbGVnYXRlUHJp
dmF0ZT4gbV9mcmFtZUxvYWREZWxlZ2F0ZVByaXZhdGU7Cg==
</data>
<flag name="review"
          id="227087"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
      

    </bug>

</bugzilla>