<?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>93693</bug_id>
          
          <creation_ts>2012-08-10 00:16:33 -0700</creation_ts>
          <short_desc>[WK2] REGRESSION(125091): pixel results don&apos;t show scrollbars anymore</short_desc>
          <delta_ts>2012-08-15 13:01:26 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Balazs Kelemen">kbalazs</reporter>
          <assigned_to name="Beth Dakin">bdakin</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>ggaren</cc>
    
    <cc>jeffm</cc>
    
    <cc>mitz</cc>
    
    <cc>noam</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>692273</commentid>
    <comment_count>0</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-08-10 00:16:33 -0700</bug_when>
    <thetext>A typo was made in the patch, it calls FrameView::paintContents instead of paint so ScrollView has not got a chance to take care about scrollbars.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692274</commentid>
    <comment_count>1</comment_count>
      <attachid>157649</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-08-10 00:21:34 -0700</bug_when>
    <thetext>Created attachment 157649
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692283</commentid>
    <comment_count>2</comment_count>
      <attachid>157649</attachid>
    <who name="">mitz</who>
    <bug_when>2012-08-10 00:30:47 -0700</bug_when>
    <thetext>Comment on attachment 157649
Patch

This is not the right fix. Prior to r125091, WebPage had two functions for taking snapshots, snapshotInViewCoordinates, which captured scroll bars (and only the visible part of the document view) and snapshotInDocumentCoordinates, which didn’t capture scroll bar (and could capture any part of the document view). r125091 neglected to notice this difference and left only one function which works similarly to the old snapshotInDocumentCoordinates, and made WKBundlePageCreateSnapshotInViewCoordinates call into it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692295</commentid>
    <comment_count>3</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-08-10 00:44:02 -0700</bug_when>
    <thetext>I&apos;m confused. The author, Beth Dakin said the change in pixel test behavior was not intentional. Isn&apos;t the unified method supposed to behave like snapshotInViewCoordinates (it is in fact called from WKBundlePageCreateSnapshotInViewCoordinates)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692302</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-08-10 00:47:33 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; I&apos;m confused. The author, Beth Dakin said the change in pixel test behavior was not intentional.

Correct.

&gt; Isn&apos;t the unified method supposed to behave like snapshotInViewCoordinates (it is in fact called from WKBundlePageCreateSnapshotInViewCoordinates)?

No, it isn’t. It is also called from WKBundlePageCreateSnapshotInDocumentCoordinates, which expects it to have the behavior snapshotInDocumentCoordinates had. The fix is to either separate the function back into two, or add an option telling it how to behave, so that it can keep serving both APIs as expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692714</commentid>
    <comment_count>5</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-08-10 11:28:24 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; No, it isn’t. It is also called from WKBundlePageCreateSnapshotInDocumentCoordinates, which expects it to have the behavior snapshotInDocumentCoordinates had. The fix is to either separate the function back into two, or add an option telling it how to behave, so that it can keep serving both APIs as expected.

I think we should add a new SnapshotOptions for including or excluding the scrollbar, much like there is an option fro including/excluding selection highlighting. The FrameView::paintContentsForSnapshot could take another parameter of representing whether it should include scrollbars and call paint() or not and call paintContents().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692716</commentid>
    <comment_count>6</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-08-10 11:29:06 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; No, it isn’t. It is also called from WKBundlePageCreateSnapshotInDocumentCoordinates, which expects it to have the behavior snapshotInDocumentCoordinates had. The fix is to either separate the function back into two, or add an option telling it how to behave, so that it can keep serving both APIs as expected.
&gt; 
&gt; I think we should add a new SnapshotOptions for including or excluding the scrollbar, much like there is an option fro including/excluding selection highlighting. The FrameView::paintContentsForSnapshot could take another parameter of representing whether it should include scrollbars and call paint() or not and call paintContents().

And I am happy to write up this patch if you are busy, Balazs. Just let me know.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692751</commentid>
    <comment_count>7</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-08-10 11:43:05 -0700</bug_when>
    <thetext>&gt; &gt; I think we should add a new SnapshotOptions for including or excluding the scrollbar, much like there is an option fro including/excluding selection highlighting. The FrameView::paintContentsForSnapshot could take another parameter of representing whether it should include scrollbars and call paint() or not and call paintContents().
&gt; 
&gt; And I am happy to write up this patch if you are busy, Balazs. Just let me know.

Well, yes I had other stuff to do, and now it&apos;s already late evening here, so I appreciate if you pick this up :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692857</commentid>
    <comment_count>8</comment_count>
      <attachid>157802</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-08-10 13:46:40 -0700</bug_when>
    <thetext>Created attachment 157802
Patch that adds new SnapshotOptions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692861</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-10 13:50:56 -0700</bug_when>
    <thetext>Attachment 157802 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/WebCor...&quot; exit_code: 1
Source/WebCore/page/FrameView.h:251:  The parameter name &quot;coordinateSpace&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 11 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>692863</commentid>
    <comment_count>10</comment_count>
      <attachid>157804</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-08-10 13:54:58 -0700</bug_when>
    <thetext>Created attachment 157804
Patch for style bot</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693386</commentid>
    <comment_count>11</comment_count>
      <attachid>157923</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-08-12 23:13:35 -0700</bug_when>
    <thetext>Created attachment 157923
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>696113</commentid>
    <comment_count>12</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-08-15 10:38:05 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Created an attachment (id=157923) [details]
&gt; Patch

That seems fine to me, could somebody review the patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>696297</commentid>
    <comment_count>13</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-08-15 13:01:00 -0700</bug_when>
    <thetext>Thanks Sam! Committed http://trac.webkit.org/changeset/125700</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157649</attachid>
            <date>2012-08-10 00:21:34 -0700</date>
            <delta_ts>2012-08-10 13:46:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93693-20120810092102.patch</filename>
            <type>text/plain</type>
            <size>1445</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1MTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWUwZWJkMGZkYTRjMDBj
YTY3ZGQ5NGI0ZTI5ZGMwZmQ0NzI4OTVmYi4uYWUzYzQzNTQyNjE5MjIxZmJkZTI0YTE0N2RmMTQ1
MzJkNDQwNmEyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA4LTEwICBCYWxh
enMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KKworICAgICAgICBbV0syXSBSRUdSRVNT
SU9OKDEyNTA5MSk6IHBpeGVsIHJlc3VsdHMgZG9uJ3Qgc293IHNjcm9sbGJhcnMgYW55bW9yZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTM2OTMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggdHlwbyBv
ZiBjYWxsaW5nIHBhaW50Q29udGVudHMgZGlyZWN0bHkgaW5zdGVhZCBvZiBnb2luZworICAgICAg
ICB0aHJvdWdoIFNjcm9sbFZpZXcgYnkgY2FsbGluZyBwYWludC4KKworICAgICAgICBObyBuZXcg
dGVzdHMsIGV4aXN0aW5nIHBpeGVsIHRlc3RzIGNvdmVycyB0aGlzLgorCisgICAgICAgICogcGFn
ZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpwYWludENvbnRl
bnRzRm9yU25hcHNob3QpOgorCiAyMDEyLTA4LTA5ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGdlbmVyYXRlIHByZXZpZXcg
Zm9yIHRoZSBvYmplY3RzIGR1bXBlZCBpbnRvIHRoZSBjb25zb2xlIHVwb24gbG9nZ2luZy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCBjYzUzZDk5YjBiZjI2ZWMwYmZmNDM3NWNiYjVj
OWRmMDkzODZjNzIyLi5jNDM4Mzc4MDczMjJjOTdlMTQwY2UxODJhNzU3ZjZjNWY0ZWEwOTM4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0zMTY0LDcgKzMxNjQsNyBAQCB2b2lkIEZy
YW1lVmlldzo6cGFpbnRDb250ZW50c0ZvclNuYXBzaG90KEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCwgY29uc3QgSW50UmVjdAogICAgICAgICB9CiAgICAgfQogCi0gICAgcGFpbnRDb250ZW50cyhj
b250ZXh0LCBpbWFnZVJlY3QpOworICAgIHBhaW50KGNvbnRleHQsIGltYWdlUmVjdCk7CiAKICAg
ICAvLyBSZXN0b3JlIHNlbGVjdGlvbi4KICAgICBpZiAoc2hvdWxkUGFpbnRTZWxlY3Rpb24gPT0g
RXhjbHVkZVNlbGVjdGlvbikgewo=
</data>
<flag name="review"
          id="167599"
          type_id="1"
          status="-"
          setter="mitz"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157802</attachid>
            <date>2012-08-10 13:46:40 -0700</date>
            <delta_ts>2012-08-10 13:54:58 -0700</delta_ts>
            <desc>Patch that adds new SnapshotOptions</desc>
            <filename>for-review.txt</filename>
            <type>text/plain</type>
            <size>10564</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNTMyMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA4LTEwICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTM2OTMKKyAgICAgICAgW1dLMl0gUkVHUkVTU0lPTigxMjUwOTEp
OiBwaXhlbCByZXN1bHRzIGRvbid0IHNvdyBzY3JvbGxiYXJzIAorICAgICAgICBhbnltb3JlCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBh
IHJlZ3Jlc3Npb24gZnJvbSBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMjUwOTEg
CisgICAgICAgIGluIHdoaWNoIEkgZmFpbGVkIHRvIG5vdGljZWQgdGhhdCAKKyAgICAgICAgV0tC
dW5kbGVQYWdlQ3JlYXRlU25hcHNob3RJblZpZXdDb29yZGluYXRlcygpIGRpZCBhY3R1YWxseSBk
byAKKyAgICAgICAgc29tZXRoaW5nIGRpZmZlcmVudCB0aGFuIAorICAgICAgICBXS0J1bmRsZVBh
Z2VDcmVhdGVTbmFwc2hvdEluRG9jdW1lbnRDb29yZGluYXRlcygpLiBTcGVjaWZpY2FsbHksIAor
ICAgICAgICBpdCB1c2VkIFNjcm9sbFZpZXc6OnBhaW50KCkgdG8gcGFpbnQgaW5zdGVhZCBvZiAK
KyAgICAgICAgRnJhbWVWaWV3OjpwYWludENvbnRlbnRzKCkuIFNvIHRoaXMgcGF0Y2ggcmVzdG9y
ZXMgdGhhdCAKKyAgICAgICAgZnVuY3Rpb25hbGl0eSBieSBhZGRpbmcgYSB2YWx1ZSB0byBTbmFw
c2hvdE9wdGlvbnMgaW5kaWNhdGluZyAKKyAgICAgICAgd2hldGhlciB0aGUgc25hcHNob3Qgc2hv
dWxkIGJlIHRha2VuIGluIFZpZXdDb29yZGluYXRlcyAKKyAgICAgICAgKG90aGVyd2lzZSBpdCBk
ZWZhdWx0cyB0byBEb2N1bWVudENvb3JkaW5hdGVzKS4KKworICAgICAgICBGcmFtZVZpZXc6OiBw
YWludENvbnRlbnRzRm9yU25hcHNob3QoKSBub3cgdGFrZXMgYSBuZXcgcGFyYW1ldGVyIAorICAg
ICAgICB0aGF0IGluZGljYXRlcyB3aGV0aGVyIHRvIHRha2UgdGhlIHNuYXBzaG90IGluIGRvY3Vt
ZW50IAorICAgICAgICBjb29yZGluYXRlcyBvciB2aWV3IGNvb3JkaW5hdGVzLgorICAgICAgICAq
IFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6cGFpbnRDb250ZW50c0ZvclNuYXBzaG90KToKKyAgICAgICAg
KiBwYWdlL0ZyYW1lVmlldy5oOgorCiAyMDEyLTA4LTEwICBNYXJpbyBTYW5jaGV6IFByYWRhICA8
bXNhbmNoZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBCcm9rZW4gaW1wbGVtZW50YXRp
b24gb2YgQXRrVGV4dCBhbmQgQXRrRWRpdGFibGVUZXh0IGZvciBwYXNzd29yZCBmaWVsZHMKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiAxMjUwOTEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgkod29ya2luZyBjb3B5KQpAQCAtOTU1LDcgKzk1NSw3IEBAIF9fWk43
V2ViQ29yZTlGcmFtZVZpZXcyMWZsdXNoRGVmZXJyZWRSZXAKIF9fWk43V2ViQ29yZTlGcmFtZVZp
ZXcyMnNldEJhc2VCYWNrZ3JvdW5kQ29sb3JFUktOU181Q29sb3JFCiBfX1pON1dlYkNvcmU5RnJh
bWVWaWV3MjN1cGRhdGVDYW5IYXZlU2Nyb2xsYmFyc0V2CiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3
MjRmb3JjZUxheW91dEZvclBhZ2luYXRpb25FUktOU185RmxvYXRTaXplRVMzX2ZOU18xOUFkanVz
dFZpZXdTaXplT3JOb3RFCi1fX1pON1dlYkNvcmU5RnJhbWVWaWV3MjRwYWludENvbnRlbnRzRm9y
U25hcHNob3RFUE5TXzE1R3JhcGhpY3NDb250ZXh0RVJLTlNfN0ludFJlY3RFTlMwXzE4U2VsZWN0
aW9uSW5TbmFwaG90RQorX19aTjdXZWJDb3JlOUZyYW1lVmlldzI0cGFpbnRDb250ZW50c0ZvclNu
YXBzaG90RVBOU18xNUdyYXBoaWNzQ29udGV4dEVSS05TXzdJbnRSZWN0RU5TMF8xOFNlbGVjdGlv
bkluU25hcGhvdEVOUzBfMjZDb29yZGluYXRlU3BhY2VGb3JTbmFwc2hvdEUKIF9fWk43V2ViQ29y
ZTlGcmFtZVZpZXcyNmFkanVzdFBhZ2VIZWlnaHREZXByZWNhdGVkRVBmZmZmCiBfX1pON1dlYkNv
cmU5RnJhbWVWaWV3MjlzZXRTaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbkViCiBfX1pON1dlYkNv
cmU5RnJhbWVWaWV3Mzd1cGRhdGVMYXlvdXRBbmRTdHlsZUlmTmVlZGVkUmVjdXJzaXZlRXYKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHJldmlzaW9uIDEyNTA5MSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzE0Niw3ICsz
MTQ2LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnNldE5vZGVUb0RyYXcoTm9kZSogbm9kZQogICAgIG1f
bm9kZVRvRHJhdyA9IG5vZGU7CiB9CiAKLXZvaWQgRnJhbWVWaWV3OjpwYWludENvbnRlbnRzRm9y
U25hcHNob3QoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiBpbWFnZVJl
Y3QsIFNlbGVjdGlvbkluU25hcGhvdCBzaG91bGRQYWludFNlbGVjdGlvbikKK3ZvaWQgRnJhbWVW
aWV3OjpwYWludENvbnRlbnRzRm9yU25hcHNob3QoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBj
b25zdCBJbnRSZWN0JiBpbWFnZVJlY3QsIFNlbGVjdGlvbkluU25hcGhvdCBzaG91bGRQYWludFNl
bGVjdGlvbiwgQ29vcmRpbmF0ZVNwYWNlRm9yU25hcHNob3QgY29vcmRpbmF0ZVNwYWNlKQogewog
ICAgIHVwZGF0ZUxheW91dEFuZFN0eWxlSWZOZWVkZWRSZWN1cnNpdmUoKTsKIApAQCAtMzE2NCw3
ICszMTY0LDEzIEBAIHZvaWQgRnJhbWVWaWV3OjpwYWludENvbnRlbnRzRm9yU25hcHNob3QKICAg
ICAgICAgfQogICAgIH0KIAotICAgIHBhaW50Q29udGVudHMoY29udGV4dCwgaW1hZ2VSZWN0KTsK
KyAgICBpZiAoY29vcmRpbmF0ZVNwYWNlID09IERvY3VtZW50Q29vcmRpbmF0ZXMpCisgICAgICAg
IHBhaW50Q29udGVudHMoY29udGV4dCwgaW1hZ2VSZWN0KTsKKyAgICBlbHNlIHsKKyAgICAgICAg
Ly8gQSBzbmFwc2hvdCBpbiBWaWV3Q29vcmRpbmF0ZXMgd2lsbCBpbmNsdWRlIGEgc2Nyb2xsYmFy
LCBhbmQgdGhlIHNuYXBzaG90IHdpbGwgY29udGFpbgorICAgICAgICAvLyB3aGF0ZXZlciBjb250
ZW50IHRoZSBkb2N1bWVudCBpcyBjdXJyZW50bHkgc2Nyb2xsZWQgdG8uCisgICAgICAgIHBhaW50
KGNvbnRleHQsIGltYWdlUmVjdCk7CisgICAgfQogCiAgICAgLy8gUmVzdG9yZSBzZWxlY3Rpb24u
CiAgICAgaWYgKHNob3VsZFBhaW50U2VsZWN0aW9uID09IEV4Y2x1ZGVTZWxlY3Rpb24pIHsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAkocmV2aXNpb24gMTI1MDkxKQorKysgU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtMjQ3LDcgKzI0Nyw4IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldE5vZGVUb0RyYXcoTm9kZSopOwogCiAgICAgZW51bSBTZWxl
Y3Rpb25JblNuYXBob3QgeyBJbmNsdWRlU2VsZWN0aW9uLCBFeGNsdWRlU2VsZWN0aW9uIH07Ci0g
ICAgdm9pZCBwYWludENvbnRlbnRzRm9yU25hcHNob3QoR3JhcGhpY3NDb250ZXh0KiwgY29uc3Qg
SW50UmVjdCYgaW1hZ2VSZWN0LCBTZWxlY3Rpb25JblNuYXBob3Qgc2hvdWxkUGFpbnRTZWxlY3Rp
b24pOworICAgIGVudW0gQ29vcmRpbmF0ZVNwYWNlRm9yU25hcHNob3QgeyBEb2N1bWVudENvb3Jk
aW5hdGVzLCBWaWV3Q29vcmRpbmF0ZXMgfTsKKyAgICB2b2lkIHBhaW50Q29udGVudHNGb3JTbmFw
c2hvdChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0JiBpbWFnZVJlY3QsIFNlbGVjdGlv
bkluU25hcGhvdCBzaG91bGRQYWludFNlbGVjdGlvbiwgQ29vcmRpbmF0ZVNwYWNlRm9yU25hcHNo
b3QgY29vcmRpbmF0ZVNwYWNlKTsKIAogICAgIHZpcnR1YWwgdm9pZCBwYWludE92ZXJoYW5nQXJl
YXMoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYgaG9yaXpvbnRhbE92ZXJoYW5nQXJl
YSwgY29uc3QgSW50UmVjdCYgdmVydGljYWxPdmVyaGFuZ0FyZWEsIGNvbnN0IEludFJlY3QmIGRp
cnR5UmVjdCk7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50U2Nyb2xsQ29ybmVyKEdyYXBoaWNzQ29u
dGV4dCosIGNvbnN0IEludFJlY3QmIGNvcm5lclJlY3QpOwpJbmRleDogU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNp
b24gMTI1MzIzKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTItMDgtMTAgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29t
PgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MzY5
MworICAgICAgICBbV0syXSBSRUdSRVNTSU9OKDEyNTA5MSk6IHBpeGVsIHJlc3VsdHMgZG9uJ3Qg
c293IHNjcm9sbGJhcnMgCisgICAgICAgIGFueW1vcmUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgcmVncmVzc2lvbiBmcm9tIGh0dHA6
Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEyNTA5MSAKKyAgICAgICAgaW4gd2hpY2ggSSBm
YWlsZWQgdG8gbm90aWNlZCB0aGF0IAorICAgICAgICBXS0J1bmRsZVBhZ2VDcmVhdGVTbmFwc2hv
dEluVmlld0Nvb3JkaW5hdGVzKCkgZGlkIGFjdHVhbGx5IGRvIAorICAgICAgICBzb21ldGhpbmcg
ZGlmZmVyZW50IHRoYW4gCisgICAgICAgIFdLQnVuZGxlUGFnZUNyZWF0ZVNuYXBzaG90SW5Eb2N1
bWVudENvb3JkaW5hdGVzKCkuIFNwZWNpZmljYWxseSwgCisgICAgICAgIGl0IHVzZWQgU2Nyb2xs
Vmlldzo6cGFpbnQoKSB0byBwYWludCBpbnN0ZWFkIG9mIAorICAgICAgICBGcmFtZVZpZXc6OnBh
aW50Q29udGVudHMoKS4gU28gdGhpcyBwYXRjaCByZXN0b3JlcyB0aGF0IAorICAgICAgICBmdW5j
dGlvbmFsaXR5IGJ5IGFkZGluZyBhIHZhbHVlIHRvIFNuYXBzaG90T3B0aW9ucyBpbmRpY2F0aW5n
IAorICAgICAgICB3aGV0aGVyIHRoZSBzbmFwc2hvdCBzaG91bGQgYmUgdGFrZW4gaW4gVmlld0Nv
b3JkaW5hdGVzIAorICAgICAgICAob3RoZXJ3aXNlIGl0IGRlZmF1bHRzIHRvIERvY3VtZW50Q29v
cmRpbmF0ZXMpLgorCisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLSW1hZ2UuaDoKKyAgICAgICAg
KiBTaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0Lmg6CisgICAgICAgIChXZWJLaXQ6OnRvU25h
cHNob3RPcHRpb25zKToKKyAgICAgICAgKiBTaGFyZWQvSW1hZ2VPcHRpb25zLmg6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjpzY2FsZWRTbmFwc2hvdFdpdGhPcHRpb25zKToKKwogMjAxMi0wOC0wOSAgSmVyIE5vYmxl
ICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCBleGl0aW5nIGZyb20gSFRN
TDUgRlMgbW9kZSB0byBub3JtYWwgbW9kZSB2aWEgRVNDIGtleQpJbmRleDogU291cmNlL1dlYktp
dDIvU2hhcmVkL0ltYWdlT3B0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9JbWFnZU9wdGlvbnMuaAkocmV2aXNpb24gMTI1MDkxKQorKysgU291cmNlL1dlYktpdDIv
U2hhcmVkL0ltYWdlT3B0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw4IEBAIGVu
dW0gSW1hZ2VPcHRpb25zIHsKIAogZW51bSB7CiAgICAgU25hcHNob3RPcHRpb25zU2hhcmVhYmxl
ID0gMSA8PCAwLAotICAgIFNuYXBzaG90T3B0aW9uc0V4Y2x1ZGVTZWxlY3Rpb25IaWdobGlnaHRp
bmcgPSAxIDw8IDEKKyAgICBTbmFwc2hvdE9wdGlvbnNFeGNsdWRlU2VsZWN0aW9uSGlnaGxpZ2h0
aW5nID0gMSA8PCAxLAorICAgIFNuYXBzaG90T3B0aW9uc0luVmlld0Nvb3JkaW5hdGVzID0gMSA8
PCAyCiB9OwogdHlwZWRlZiB1aW50MzJfdCBTbmFwc2hvdE9wdGlvbnM7CiAKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0ltYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSS9jL1dLSW1hZ2UuaAkocmV2aXNpb24gMTI1MDkxKQorKysgU291cmNl
L1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLSW1hZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNyAr
NDAsOCBAQCB0eXBlZGVmIHVpbnQzMl90IFdLSW1hZ2VPcHRpb25zOwogCiBlbnVtIHsKICAgICBr
V0tTbmFwc2hvdE9wdGlvbnNTaGFyZWFibGUgPSAxIDw8IDAsCi0gICAga1dLU25hcHNob3RPcHRp
b25zRXhjbHVkZVNlbGVjdGlvbkhpZ2hsaWdodGluZyA9IDEgPDwgMQorICAgIGtXS1NuYXBzaG90
T3B0aW9uc0V4Y2x1ZGVTZWxlY3Rpb25IaWdobGlnaHRpbmcgPSAxIDw8IDEsCisgICAga1dLU25h
cHNob3RPcHRpb25zSW5WaWV3Q29vcmRpbmF0ZXMgPSAxIDw8IDIKIH07CiB0eXBlZGVmIHVpbnQz
Ml90IFdLU25hcHNob3RPcHRpb25zOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tTaGFyZWRBUElDYXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVk
L0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCShyZXZpc2lvbiAxMjUwOTEpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTc3
Niw2ICs3NzYsOCBAQCBpbmxpbmUgU25hcHNob3RPcHRpb25zIHRvU25hcHNob3RPcHRpb25zCiAg
ICAgICAgIHNuYXBzaG90T3B0aW9ucyB8PSBTbmFwc2hvdE9wdGlvbnNTaGFyZWFibGU7CiAgICAg
aWYgKHdrU25hcHNob3RPcHRpb25zICYga1dLU25hcHNob3RPcHRpb25zRXhjbHVkZVNlbGVjdGlv
bkhpZ2hsaWdodGluZykKICAgICAgICAgc25hcHNob3RPcHRpb25zIHw9IFNuYXBzaG90T3B0aW9u
c0V4Y2x1ZGVTZWxlY3Rpb25IaWdobGlnaHRpbmc7CisgICAgaWYgKHdrU25hcHNob3RPcHRpb25z
ICYga1dLU25hcHNob3RPcHRpb25zSW5WaWV3Q29vcmRpbmF0ZXMpCisgICAgICAgIHNuYXBzaG90
T3B0aW9ucyB8PSBTbmFwc2hvdE9wdGlvbnNJblZpZXdDb29yZGluYXRlczsKIAogICAgIHJldHVy
biBzbmFwc2hvdE9wdGlvbnM7CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiAxMjUwOTEpCisrKyBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMjMs
NyArMTIyMywxMSBAQCBQYXNzUmVmUHRyPFdlYkltYWdlPiBXZWJQYWdlOjpzY2FsZWRTbmFwCiAg
ICAgaWYgKG9wdGlvbnMgJiBTbmFwc2hvdE9wdGlvbnNFeGNsdWRlU2VsZWN0aW9uSGlnaGxpZ2h0
aW5nKQogICAgICAgICBzaG91bGRQYWludFNlbGVjdGlvbiA9IEZyYW1lVmlldzo6RXhjbHVkZVNl
bGVjdGlvbjsKIAotICAgIGZyYW1lVmlldy0+cGFpbnRDb250ZW50c0ZvclNuYXBzaG90KGdyYXBo
aWNzQ29udGV4dC5nZXQoKSwgcmVjdCwgc2hvdWxkUGFpbnRTZWxlY3Rpb24pOworICAgIEZyYW1l
Vmlldzo6Q29vcmRpbmF0ZVNwYWNlRm9yU25hcHNob3QgY29vcmRpbmF0ZVNwYWNlID0gRnJhbWVW
aWV3OjpEb2N1bWVudENvb3JkaW5hdGVzOworICAgIGlmIChvcHRpb25zICYgU25hcHNob3RPcHRp
b25zSW5WaWV3Q29vcmRpbmF0ZXMpCisgICAgICAgIGNvb3JkaW5hdGVTcGFjZSA9IEZyYW1lVmll
dzo6Vmlld0Nvb3JkaW5hdGVzOworCisgICAgZnJhbWVWaWV3LT5wYWludENvbnRlbnRzRm9yU25h
cHNob3QoZ3JhcGhpY3NDb250ZXh0LmdldCgpLCByZWN0LCBzaG91bGRQYWludFNlbGVjdGlvbiwg
Y29vcmRpbmF0ZVNwYWNlKTsKIAogICAgIHJldHVybiBzbmFwc2hvdC5yZWxlYXNlKCk7CiB9Cklu
ZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiAxMjUzMjUpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxNSBAQAorMjAxMi0wOC0xMCAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzNjkzCisgICAg
ICAgIFtXSzJdIFJFR1JFU1NJT04oMTI1MDkxKTogcGl4ZWwgcmVzdWx0cyBkb24ndCBzb3cgc2Ny
b2xsYmFycyAKKyAgICAgICAgYW55bW9yZQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVzZSBuZXcgQVBJIFdLQnVuZGxlUGFnZUNyZWF0ZVNuYXBzaG90
V2l0aE9wdGlvbnMoKS4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlUGFnZS5jcHA6CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlUGFn
ZTo6ZHVtcCk6CisKIDIwMTItMDgtMTAgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIFN0cmluZyBpbml0aWFsaXphdGlvbiBm
cm9tIGxpdGVyYWwgdG8gV1RGU3RyaW5nCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3BwCShy
ZXZpc2lvbiAxMjUwNTApCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3Niw3ICs3NzYsNyBA
QCB2b2lkIEluamVjdGVkQnVuZGxlUGFnZTo6ZHVtcCgpCiAgICAgICAgIEluamVjdGVkQnVuZGxl
OjpzaGFyZWQoKS5kdW1wQmFja0ZvcndhcmRMaXN0c0ZvckFsbFBhZ2VzKCk7CiAKICAgICBpZiAo
SW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnNob3VsZER1bXBQaXhlbHMoKSAmJiBJbmplY3RlZEJ1
bmRsZTo6c2hhcmVkKCkubGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2hvdWxkRHVtcFBpeGVscygp
KSB7Ci0gICAgICAgIEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5zZXRQaXhlbFJlc3VsdChhZG9w
dFdLKFdLQnVuZGxlUGFnZUNyZWF0ZVNuYXBzaG90SW5WaWV3Q29vcmRpbmF0ZXMobV9wYWdlLCBX
S0J1bmRsZUZyYW1lR2V0VmlzaWJsZUNvbnRlbnRCb3VuZHMoV0tCdW5kbGVQYWdlR2V0TWFpbkZy
YW1lKG1fcGFnZSkpLCBrV0tJbWFnZU9wdGlvbnNTaGFyZWFibGUpKS5nZXQoKSk7CisgICAgICAg
IEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5zZXRQaXhlbFJlc3VsdChhZG9wdFdLKFdLQnVuZGxl
UGFnZUNyZWF0ZVNuYXBzaG90V2l0aE9wdGlvbnMobV9wYWdlLCBXS0J1bmRsZUZyYW1lR2V0Vmlz
aWJsZUNvbnRlbnRCb3VuZHMoV0tCdW5kbGVQYWdlR2V0TWFpbkZyYW1lKG1fcGFnZSkpLCBrV0tT
bmFwc2hvdE9wdGlvbnNTaGFyZWFibGUgfCBrV0tTbmFwc2hvdE9wdGlvbnNJblZpZXdDb29yZGlu
YXRlcykpLmdldCgpKTsKICAgICAgICAgaWYgKFdLQnVuZGxlUGFnZUlzVHJhY2tpbmdSZXBhaW50
cyhtX3BhZ2UpKQogICAgICAgICAgICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnNldFJlcGFp
bnRSZWN0cyhhZG9wdFdLKFdLQnVuZGxlUGFnZUNvcHlUcmFja2VkUmVwYWludFJlY3RzKG1fcGFn
ZSkpLmdldCgpKTsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157804</attachid>
            <date>2012-08-10 13:54:58 -0700</date>
            <delta_ts>2012-08-12 23:13:35 -0700</delta_ts>
            <desc>Patch for style bot</desc>
            <filename>for-review-2.txt</filename>
            <type>text/plain</type>
            <size>10548</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNTMyMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA4LTEwICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTM2OTMKKyAgICAgICAgW1dLMl0gUkVHUkVTU0lPTigxMjUwOTEp
OiBwaXhlbCByZXN1bHRzIGRvbid0IHNvdyBzY3JvbGxiYXJzIAorICAgICAgICBhbnltb3JlCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBh
IHJlZ3Jlc3Npb24gZnJvbSBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMjUwOTEg
CisgICAgICAgIGluIHdoaWNoIEkgZmFpbGVkIHRvIG5vdGljZWQgdGhhdCAKKyAgICAgICAgV0tC
dW5kbGVQYWdlQ3JlYXRlU25hcHNob3RJblZpZXdDb29yZGluYXRlcygpIGRpZCBhY3R1YWxseSBk
byAKKyAgICAgICAgc29tZXRoaW5nIGRpZmZlcmVudCB0aGFuIAorICAgICAgICBXS0J1bmRsZVBh
Z2VDcmVhdGVTbmFwc2hvdEluRG9jdW1lbnRDb29yZGluYXRlcygpLiBTcGVjaWZpY2FsbHksIAor
ICAgICAgICBpdCB1c2VkIFNjcm9sbFZpZXc6OnBhaW50KCkgdG8gcGFpbnQgaW5zdGVhZCBvZiAK
KyAgICAgICAgRnJhbWVWaWV3OjpwYWludENvbnRlbnRzKCkuIFNvIHRoaXMgcGF0Y2ggcmVzdG9y
ZXMgdGhhdCAKKyAgICAgICAgZnVuY3Rpb25hbGl0eSBieSBhZGRpbmcgYSB2YWx1ZSB0byBTbmFw
c2hvdE9wdGlvbnMgaW5kaWNhdGluZyAKKyAgICAgICAgd2hldGhlciB0aGUgc25hcHNob3Qgc2hv
dWxkIGJlIHRha2VuIGluIFZpZXdDb29yZGluYXRlcyAKKyAgICAgICAgKG90aGVyd2lzZSBpdCBk
ZWZhdWx0cyB0byBEb2N1bWVudENvb3JkaW5hdGVzKS4KKworICAgICAgICBGcmFtZVZpZXc6OiBw
YWludENvbnRlbnRzRm9yU25hcHNob3QoKSBub3cgdGFrZXMgYSBuZXcgcGFyYW1ldGVyIAorICAg
ICAgICB0aGF0IGluZGljYXRlcyB3aGV0aGVyIHRvIHRha2UgdGhlIHNuYXBzaG90IGluIGRvY3Vt
ZW50IAorICAgICAgICBjb29yZGluYXRlcyBvciB2aWV3IGNvb3JkaW5hdGVzLgorICAgICAgICAq
IFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6cGFpbnRDb250ZW50c0ZvclNuYXBzaG90KToKKyAgICAgICAg
KiBwYWdlL0ZyYW1lVmlldy5oOgorCiAyMDEyLTA4LTEwICBNYXJpbyBTYW5jaGV6IFByYWRhICA8
bXNhbmNoZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBCcm9rZW4gaW1wbGVtZW50YXRp
b24gb2YgQXRrVGV4dCBhbmQgQXRrRWRpdGFibGVUZXh0IGZvciBwYXNzd29yZCBmaWVsZHMKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiAxMjUwOTEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgkod29ya2luZyBjb3B5KQpAQCAtOTU1LDcgKzk1NSw3IEBAIF9fWk43
V2ViQ29yZTlGcmFtZVZpZXcyMWZsdXNoRGVmZXJyZWRSZXAKIF9fWk43V2ViQ29yZTlGcmFtZVZp
ZXcyMnNldEJhc2VCYWNrZ3JvdW5kQ29sb3JFUktOU181Q29sb3JFCiBfX1pON1dlYkNvcmU5RnJh
bWVWaWV3MjN1cGRhdGVDYW5IYXZlU2Nyb2xsYmFyc0V2CiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3
MjRmb3JjZUxheW91dEZvclBhZ2luYXRpb25FUktOU185RmxvYXRTaXplRVMzX2ZOU18xOUFkanVz
dFZpZXdTaXplT3JOb3RFCi1fX1pON1dlYkNvcmU5RnJhbWVWaWV3MjRwYWludENvbnRlbnRzRm9y
U25hcHNob3RFUE5TXzE1R3JhcGhpY3NDb250ZXh0RVJLTlNfN0ludFJlY3RFTlMwXzE4U2VsZWN0
aW9uSW5TbmFwaG90RQorX19aTjdXZWJDb3JlOUZyYW1lVmlldzI0cGFpbnRDb250ZW50c0ZvclNu
YXBzaG90RVBOU18xNUdyYXBoaWNzQ29udGV4dEVSS05TXzdJbnRSZWN0RU5TMF8xOFNlbGVjdGlv
bkluU25hcGhvdEVOUzBfMjZDb29yZGluYXRlU3BhY2VGb3JTbmFwc2hvdEUKIF9fWk43V2ViQ29y
ZTlGcmFtZVZpZXcyNmFkanVzdFBhZ2VIZWlnaHREZXByZWNhdGVkRVBmZmZmCiBfX1pON1dlYkNv
cmU5RnJhbWVWaWV3MjlzZXRTaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbkViCiBfX1pON1dlYkNv
cmU5RnJhbWVWaWV3Mzd1cGRhdGVMYXlvdXRBbmRTdHlsZUlmTmVlZGVkUmVjdXJzaXZlRXYKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHJldmlzaW9uIDEyNTA5MSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzE0Niw3ICsz
MTQ2LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnNldE5vZGVUb0RyYXcoTm9kZSogbm9kZQogICAgIG1f
bm9kZVRvRHJhdyA9IG5vZGU7CiB9CiAKLXZvaWQgRnJhbWVWaWV3OjpwYWludENvbnRlbnRzRm9y
U25hcHNob3QoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiBpbWFnZVJl
Y3QsIFNlbGVjdGlvbkluU25hcGhvdCBzaG91bGRQYWludFNlbGVjdGlvbikKK3ZvaWQgRnJhbWVW
aWV3OjpwYWludENvbnRlbnRzRm9yU25hcHNob3QoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBj
b25zdCBJbnRSZWN0JiBpbWFnZVJlY3QsIFNlbGVjdGlvbkluU25hcGhvdCBzaG91bGRQYWludFNl
bGVjdGlvbiwgQ29vcmRpbmF0ZVNwYWNlRm9yU25hcHNob3QgY29vcmRpbmF0ZVNwYWNlKQogewog
ICAgIHVwZGF0ZUxheW91dEFuZFN0eWxlSWZOZWVkZWRSZWN1cnNpdmUoKTsKIApAQCAtMzE2NCw3
ICszMTY0LDEzIEBAIHZvaWQgRnJhbWVWaWV3OjpwYWludENvbnRlbnRzRm9yU25hcHNob3QKICAg
ICAgICAgfQogICAgIH0KIAotICAgIHBhaW50Q29udGVudHMoY29udGV4dCwgaW1hZ2VSZWN0KTsK
KyAgICBpZiAoY29vcmRpbmF0ZVNwYWNlID09IERvY3VtZW50Q29vcmRpbmF0ZXMpCisgICAgICAg
IHBhaW50Q29udGVudHMoY29udGV4dCwgaW1hZ2VSZWN0KTsKKyAgICBlbHNlIHsKKyAgICAgICAg
Ly8gQSBzbmFwc2hvdCBpbiBWaWV3Q29vcmRpbmF0ZXMgd2lsbCBpbmNsdWRlIGEgc2Nyb2xsYmFy
LCBhbmQgdGhlIHNuYXBzaG90IHdpbGwgY29udGFpbgorICAgICAgICAvLyB3aGF0ZXZlciBjb250
ZW50IHRoZSBkb2N1bWVudCBpcyBjdXJyZW50bHkgc2Nyb2xsZWQgdG8uCisgICAgICAgIHBhaW50
KGNvbnRleHQsIGltYWdlUmVjdCk7CisgICAgfQogCiAgICAgLy8gUmVzdG9yZSBzZWxlY3Rpb24u
CiAgICAgaWYgKHNob3VsZFBhaW50U2VsZWN0aW9uID09IEV4Y2x1ZGVTZWxlY3Rpb24pIHsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAkocmV2aXNpb24gMTI1MDkxKQorKysgU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtMjQ3LDcgKzI0Nyw4IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldE5vZGVUb0RyYXcoTm9kZSopOwogCiAgICAgZW51bSBTZWxl
Y3Rpb25JblNuYXBob3QgeyBJbmNsdWRlU2VsZWN0aW9uLCBFeGNsdWRlU2VsZWN0aW9uIH07Ci0g
ICAgdm9pZCBwYWludENvbnRlbnRzRm9yU25hcHNob3QoR3JhcGhpY3NDb250ZXh0KiwgY29uc3Qg
SW50UmVjdCYgaW1hZ2VSZWN0LCBTZWxlY3Rpb25JblNuYXBob3Qgc2hvdWxkUGFpbnRTZWxlY3Rp
b24pOworICAgIGVudW0gQ29vcmRpbmF0ZVNwYWNlRm9yU25hcHNob3QgeyBEb2N1bWVudENvb3Jk
aW5hdGVzLCBWaWV3Q29vcmRpbmF0ZXMgfTsKKyAgICB2b2lkIHBhaW50Q29udGVudHNGb3JTbmFw
c2hvdChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0JiBpbWFnZVJlY3QsIFNlbGVjdGlv
bkluU25hcGhvdCBzaG91bGRQYWludFNlbGVjdGlvbiwgQ29vcmRpbmF0ZVNwYWNlRm9yU25hcHNo
b3QpOwogCiAgICAgdmlydHVhbCB2b2lkIHBhaW50T3ZlcmhhbmdBcmVhcyhHcmFwaGljc0NvbnRl
eHQqLCBjb25zdCBJbnRSZWN0JiBob3Jpem9udGFsT3ZlcmhhbmdBcmVhLCBjb25zdCBJbnRSZWN0
JiB2ZXJ0aWNhbE92ZXJoYW5nQXJlYSwgY29uc3QgSW50UmVjdCYgZGlydHlSZWN0KTsKICAgICB2
aXJ0dWFsIHZvaWQgcGFpbnRTY3JvbGxDb3JuZXIoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50
UmVjdCYgY29ybmVyUmVjdCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjUzMjMpCisrKyBT
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyOSBAQAor
MjAxMi0wOC0xMCAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CisKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzNjkzCisgICAgICAgIFtXSzJd
IFJFR1JFU1NJT04oMTI1MDkxKTogcGl4ZWwgcmVzdWx0cyBkb24ndCBzb3cgc2Nyb2xsYmFycyAK
KyAgICAgICAgYW55bW9yZQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgaXMgYSByZWdyZXNzaW9uIGZyb20gaHR0cDovL3RyYWMud2Via2l0Lm9y
Zy9jaGFuZ2VzZXQvMTI1MDkxIAorICAgICAgICBpbiB3aGljaCBJIGZhaWxlZCB0byBub3RpY2Vk
IHRoYXQgCisgICAgICAgIFdLQnVuZGxlUGFnZUNyZWF0ZVNuYXBzaG90SW5WaWV3Q29vcmRpbmF0
ZXMoKSBkaWQgYWN0dWFsbHkgZG8gCisgICAgICAgIHNvbWV0aGluZyBkaWZmZXJlbnQgdGhhbiAK
KyAgICAgICAgV0tCdW5kbGVQYWdlQ3JlYXRlU25hcHNob3RJbkRvY3VtZW50Q29vcmRpbmF0ZXMo
KS4gU3BlY2lmaWNhbGx5LCAKKyAgICAgICAgaXQgdXNlZCBTY3JvbGxWaWV3OjpwYWludCgpIHRv
IHBhaW50IGluc3RlYWQgb2YgCisgICAgICAgIEZyYW1lVmlldzo6cGFpbnRDb250ZW50cygpLiBT
byB0aGlzIHBhdGNoIHJlc3RvcmVzIHRoYXQgCisgICAgICAgIGZ1bmN0aW9uYWxpdHkgYnkgYWRk
aW5nIGEgdmFsdWUgdG8gU25hcHNob3RPcHRpb25zIGluZGljYXRpbmcgCisgICAgICAgIHdoZXRo
ZXIgdGhlIHNuYXBzaG90IHNob3VsZCBiZSB0YWtlbiBpbiBWaWV3Q29vcmRpbmF0ZXMgCisgICAg
ICAgIChvdGhlcndpc2UgaXQgZGVmYXVsdHMgdG8gRG9jdW1lbnRDb29yZGluYXRlcykuCisKKyAg
ICAgICAgKiBTaGFyZWQvQVBJL2MvV0tJbWFnZS5oOgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9X
S1NoYXJlZEFQSUNhc3QuaDoKKyAgICAgICAgKFdlYktpdDo6dG9TbmFwc2hvdE9wdGlvbnMpOgor
ICAgICAgICAqIFNoYXJlZC9JbWFnZU9wdGlvbnMuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNjYWxlZFNuYXBz
aG90V2l0aE9wdGlvbnMpOgorCiAyMDEyLTA4LTA5ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBw
bGUuY29tPgogCiAgICAgICAgIENyYXNoIGV4aXRpbmcgZnJvbSBIVE1MNSBGUyBtb2RlIHRvIG5v
cm1hbCBtb2RlIHZpYSBFU0Mga2V5CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvSW1hZ2VP
cHRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0ltYWdlT3B0aW9u
cy5oCShyZXZpc2lvbiAxMjUwOTEpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvSW1hZ2VPcHRp
b25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDggQEAgZW51bSBJbWFnZU9wdGlvbnMg
ewogCiBlbnVtIHsKICAgICBTbmFwc2hvdE9wdGlvbnNTaGFyZWFibGUgPSAxIDw8IDAsCi0gICAg
U25hcHNob3RPcHRpb25zRXhjbHVkZVNlbGVjdGlvbkhpZ2hsaWdodGluZyA9IDEgPDwgMQorICAg
IFNuYXBzaG90T3B0aW9uc0V4Y2x1ZGVTZWxlY3Rpb25IaWdobGlnaHRpbmcgPSAxIDw8IDEsCisg
ICAgU25hcHNob3RPcHRpb25zSW5WaWV3Q29vcmRpbmF0ZXMgPSAxIDw8IDIKIH07CiB0eXBlZGVm
IHVpbnQzMl90IFNuYXBzaG90T3B0aW9uczsKIApJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVk
L0FQSS9jL1dLSW1hZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tJbWFnZS5oCShyZXZpc2lvbiAxMjUwOTEpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QVBJL2MvV0tJbWFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw4IEBAIHR5cGVkZWYg
dWludDMyX3QgV0tJbWFnZU9wdGlvbnM7CiAKIGVudW0gewogICAgIGtXS1NuYXBzaG90T3B0aW9u
c1NoYXJlYWJsZSA9IDEgPDwgMCwKLSAgICBrV0tTbmFwc2hvdE9wdGlvbnNFeGNsdWRlU2VsZWN0
aW9uSGlnaGxpZ2h0aW5nID0gMSA8PCAxCisgICAga1dLU25hcHNob3RPcHRpb25zRXhjbHVkZVNl
bGVjdGlvbkhpZ2hsaWdodGluZyA9IDEgPDwgMSwKKyAgICBrV0tTbmFwc2hvdE9wdGlvbnNJblZp
ZXdDb29yZGluYXRlcyA9IDEgPDwgMgogfTsKIHR5cGVkZWYgdWludDMyX3QgV0tTbmFwc2hvdE9w
dGlvbnM7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNh
c3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTaGFyZWRB
UElDYXN0LmgJKHJldmlzaW9uIDEyNTA5MSkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkv
Yy9XS1NoYXJlZEFQSUNhc3QuaAkod29ya2luZyBjb3B5KQpAQCAtNzc2LDYgKzc3Niw4IEBAIGlu
bGluZSBTbmFwc2hvdE9wdGlvbnMgdG9TbmFwc2hvdE9wdGlvbnMKICAgICAgICAgc25hcHNob3RP
cHRpb25zIHw9IFNuYXBzaG90T3B0aW9uc1NoYXJlYWJsZTsKICAgICBpZiAod2tTbmFwc2hvdE9w
dGlvbnMgJiBrV0tTbmFwc2hvdE9wdGlvbnNFeGNsdWRlU2VsZWN0aW9uSGlnaGxpZ2h0aW5nKQog
ICAgICAgICBzbmFwc2hvdE9wdGlvbnMgfD0gU25hcHNob3RPcHRpb25zRXhjbHVkZVNlbGVjdGlv
bkhpZ2hsaWdodGluZzsKKyAgICBpZiAod2tTbmFwc2hvdE9wdGlvbnMgJiBrV0tTbmFwc2hvdE9w
dGlvbnNJblZpZXdDb29yZGluYXRlcykKKyAgICAgICAgc25hcHNob3RPcHRpb25zIHw9IFNuYXBz
aG90T3B0aW9uc0luVmlld0Nvb3JkaW5hdGVzOwogCiAgICAgcmV0dXJuIHNuYXBzaG90T3B0aW9u
czsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAJKHJldmlzaW9uIDEyNTA5MSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIyMyw3ICsxMjIzLDExIEBAIFBh
c3NSZWZQdHI8V2ViSW1hZ2U+IFdlYlBhZ2U6OnNjYWxlZFNuYXAKICAgICBpZiAob3B0aW9ucyAm
IFNuYXBzaG90T3B0aW9uc0V4Y2x1ZGVTZWxlY3Rpb25IaWdobGlnaHRpbmcpCiAgICAgICAgIHNo
b3VsZFBhaW50U2VsZWN0aW9uID0gRnJhbWVWaWV3OjpFeGNsdWRlU2VsZWN0aW9uOwogCi0gICAg
ZnJhbWVWaWV3LT5wYWludENvbnRlbnRzRm9yU25hcHNob3QoZ3JhcGhpY3NDb250ZXh0LmdldCgp
LCByZWN0LCBzaG91bGRQYWludFNlbGVjdGlvbik7CisgICAgRnJhbWVWaWV3OjpDb29yZGluYXRl
U3BhY2VGb3JTbmFwc2hvdCBjb29yZGluYXRlU3BhY2UgPSBGcmFtZVZpZXc6OkRvY3VtZW50Q29v
cmRpbmF0ZXM7CisgICAgaWYgKG9wdGlvbnMgJiBTbmFwc2hvdE9wdGlvbnNJblZpZXdDb29yZGlu
YXRlcykKKyAgICAgICAgY29vcmRpbmF0ZVNwYWNlID0gRnJhbWVWaWV3OjpWaWV3Q29vcmRpbmF0
ZXM7CisKKyAgICBmcmFtZVZpZXctPnBhaW50Q29udGVudHNGb3JTbmFwc2hvdChncmFwaGljc0Nv
bnRleHQuZ2V0KCksIHJlY3QsIHNob3VsZFBhaW50U2VsZWN0aW9uLCBjb29yZGluYXRlU3BhY2Up
OwogCiAgICAgcmV0dXJuIHNuYXBzaG90LnJlbGVhc2UoKTsKIH0KSW5kZXg6IFRvb2xzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNTMyNSkKKysr
IFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA4
LTEwICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTM2OTMKKyAgICAgICAgW1dLMl0gUkVHUkVT
U0lPTigxMjUwOTEpOiBwaXhlbCByZXN1bHRzIGRvbid0IHNvdyBzY3JvbGxiYXJzIAorICAgICAg
ICBhbnltb3JlCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVXNlIG5ldyBBUEkgV0tCdW5kbGVQYWdlQ3JlYXRlU25hcHNob3RXaXRoT3B0aW9ucygpLgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQ
YWdlLmNwcDoKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGVQYWdlOjpkdW1wKToKKwogMjAx
Mi0wOC0xMCAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KIAogICAgICAg
ICBBZGQgc3VwcG9ydCBmb3IgU3RyaW5nIGluaXRpYWxpemF0aW9uIGZyb20gbGl0ZXJhbCB0byBX
VEZTdHJpbmcKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGVQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHAJKHJldmlzaW9uIDEyNTA1MCkK
KysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQ
YWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzc2LDcgKzc3Niw3IEBAIHZvaWQgSW5qZWN0ZWRC
dW5kbGVQYWdlOjpkdW1wKCkKICAgICAgICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmR1bXBC
YWNrRm9yd2FyZExpc3RzRm9yQWxsUGFnZXMoKTsKIAogICAgIGlmIChJbmplY3RlZEJ1bmRsZTo6
c2hhcmVkKCkuc2hvdWxkRHVtcFBpeGVscygpICYmIEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5s
YXlvdXRUZXN0Q29udHJvbGxlcigpLT5zaG91bGREdW1wUGl4ZWxzKCkpIHsKLSAgICAgICAgSW5q
ZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnNldFBpeGVsUmVzdWx0KGFkb3B0V0soV0tCdW5kbGVQYWdl
Q3JlYXRlU25hcHNob3RJblZpZXdDb29yZGluYXRlcyhtX3BhZ2UsIFdLQnVuZGxlRnJhbWVHZXRW
aXNpYmxlQ29udGVudEJvdW5kcyhXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUobV9wYWdlKSksIGtX
S0ltYWdlT3B0aW9uc1NoYXJlYWJsZSkpLmdldCgpKTsKKyAgICAgICAgSW5qZWN0ZWRCdW5kbGU6
OnNoYXJlZCgpLnNldFBpeGVsUmVzdWx0KGFkb3B0V0soV0tCdW5kbGVQYWdlQ3JlYXRlU25hcHNo
b3RXaXRoT3B0aW9ucyhtX3BhZ2UsIFdLQnVuZGxlRnJhbWVHZXRWaXNpYmxlQ29udGVudEJvdW5k
cyhXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUobV9wYWdlKSksIGtXS1NuYXBzaG90T3B0aW9uc1No
YXJlYWJsZSB8IGtXS1NuYXBzaG90T3B0aW9uc0luVmlld0Nvb3JkaW5hdGVzKSkuZ2V0KCkpOwog
ICAgICAgICBpZiAoV0tCdW5kbGVQYWdlSXNUcmFja2luZ1JlcGFpbnRzKG1fcGFnZSkpCiAgICAg
ICAgICAgICBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuc2V0UmVwYWludFJlY3RzKGFkb3B0V0so
V0tCdW5kbGVQYWdlQ29weVRyYWNrZWRSZXBhaW50UmVjdHMobV9wYWdlKSkuZ2V0KCkpOwogICAg
IH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157923</attachid>
            <date>2012-08-12 23:13:35 -0700</date>
            <delta_ts>2012-08-15 12:42:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>for-review.txt</filename>
            <type>text/plain</type>
            <size>11596</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNTM1MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA4LTEyICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTM2OTMKKyAgICAgICAgW1dLMl0gUkVHUkVTU0lPTigxMjUwOTEp
OiBwaXhlbCByZXN1bHRzIGRvbid0IHNvdyBzY3JvbGxiYXJzIAorICAgICAgICBhbnltb3JlCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBh
IHJlZ3Jlc3Npb24gZnJvbSBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMjUwOTEg
CisgICAgICAgIGluIHdoaWNoIEkgZmFpbGVkIHRvIG5vdGljZWQgdGhhdCAKKyAgICAgICAgV0tC
dW5kbGVQYWdlQ3JlYXRlU25hcHNob3RJblZpZXdDb29yZGluYXRlcygpIGRpZCBhY3R1YWxseSBk
byAKKyAgICAgICAgc29tZXRoaW5nIGRpZmZlcmVudCB0aGFuIAorICAgICAgICBXS0J1bmRsZVBh
Z2VDcmVhdGVTbmFwc2hvdEluRG9jdW1lbnRDb29yZGluYXRlcygpLiBTcGVjaWZpY2FsbHksIAor
ICAgICAgICBpdCB1c2VkIFNjcm9sbFZpZXc6OnBhaW50KCkgdG8gcGFpbnQgaW5zdGVhZCBvZiAK
KyAgICAgICAgRnJhbWVWaWV3OjpwYWludENvbnRlbnRzKCkuIFNvIHRoaXMgcGF0Y2ggcmVzdG9y
ZXMgdGhhdCAKKyAgICAgICAgZnVuY3Rpb25hbGl0eSBieSBhZGRpbmcgYSB2YWx1ZSB0byBTbmFw
c2hvdE9wdGlvbnMgaW5kaWNhdGluZyAKKyAgICAgICAgd2hldGhlciB0aGUgc25hcHNob3Qgc2hv
dWxkIGJlIHRha2VuIGluIFZpZXdDb29yZGluYXRlcyAKKyAgICAgICAgKG90aGVyd2lzZSBpdCBk
ZWZhdWx0cyB0byBEb2N1bWVudENvb3JkaW5hdGVzKS4KKworICAgICAgICBGcmFtZVZpZXc6OiBw
YWludENvbnRlbnRzRm9yU25hcHNob3QoKSBub3cgdGFrZXMgYSBuZXcgcGFyYW1ldGVyIAorICAg
ICAgICB0aGF0IGluZGljYXRlcyB3aGV0aGVyIHRvIHRha2UgdGhlIHNuYXBzaG90IGluIGRvY3Vt
ZW50IAorICAgICAgICBjb29yZGluYXRlcyBvciB2aWV3IGNvb3JkaW5hdGVzLgorICAgICAgICAq
IFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6cGFpbnRDb250ZW50c0ZvclNuYXBzaG90KToKKyAgICAgICAg
KiBwYWdlL0ZyYW1lVmlldy5oOgorCiAyMDEyLTA4LTExICBBYmhpc2hlayBBcnlhICA8aW5mZXJu
b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgkocmV2aXNpb24gMTI1MzUzKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4JKHdvcmtpbmcgY29weSkKQEAgLTk1Niw3ICs5NTYsNyBAQCBfX1pON1dlYkNvcmU5RnJhbWVW
aWV3MjFmbHVzaERlZmVycmVkUmVwCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MjJzZXRCYXNlQmFj
a2dyb3VuZENvbG9yRVJLTlNfNUNvbG9yRQogX19aTjdXZWJDb3JlOUZyYW1lVmlldzIzdXBkYXRl
Q2FuSGF2ZVNjcm9sbGJhcnNFdgogX19aTjdXZWJDb3JlOUZyYW1lVmlldzI0Zm9yY2VMYXlvdXRG
b3JQYWdpbmF0aW9uRVJLTlNfOUZsb2F0U2l6ZUVTM19mTlNfMTlBZGp1c3RWaWV3U2l6ZU9yTm90
RQotX19aTjdXZWJDb3JlOUZyYW1lVmlldzI0cGFpbnRDb250ZW50c0ZvclNuYXBzaG90RVBOU18x
NUdyYXBoaWNzQ29udGV4dEVSS05TXzdJbnRSZWN0RU5TMF8xOFNlbGVjdGlvbkluU25hcGhvdEUK
K19fWk43V2ViQ29yZTlGcmFtZVZpZXcyNHBhaW50Q29udGVudHNGb3JTbmFwc2hvdEVQTlNfMTVH
cmFwaGljc0NvbnRleHRFUktOU183SW50UmVjdEVOUzBfMThTZWxlY3Rpb25JblNuYXBob3RFTlMw
XzI2Q29vcmRpbmF0ZVNwYWNlRm9yU25hcHNob3RFCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MjZh
ZGp1c3RQYWdlSGVpZ2h0RGVwcmVjYXRlZEVQZmZmZgogX19aTjdXZWJDb3JlOUZyYW1lVmlldzI5
c2V0U2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW5FYgogX19aTjdXZWJDb3JlOUZyYW1lVmlldzM3
dXBkYXRlTGF5b3V0QW5kU3R5bGVJZk5lZWRlZFJlY3Vyc2l2ZUV2CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCShyZXZpc2lvbiAxMjUzNTMpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxNDYsNyArMzE0Niw3IEBAIHZvaWQg
RnJhbWVWaWV3OjpzZXROb2RlVG9EcmF3KE5vZGUqIG5vZGUKICAgICBtX25vZGVUb0RyYXcgPSBu
b2RlOwogfQogCi12b2lkIEZyYW1lVmlldzo6cGFpbnRDb250ZW50c0ZvclNuYXBzaG90KEdyYXBo
aWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgaW1hZ2VSZWN0LCBTZWxlY3Rpb25J
blNuYXBob3Qgc2hvdWxkUGFpbnRTZWxlY3Rpb24pCit2b2lkIEZyYW1lVmlldzo6cGFpbnRDb250
ZW50c0ZvclNuYXBzaG90KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYg
aW1hZ2VSZWN0LCBTZWxlY3Rpb25JblNuYXBob3Qgc2hvdWxkUGFpbnRTZWxlY3Rpb24sIENvb3Jk
aW5hdGVTcGFjZUZvclNuYXBzaG90IGNvb3JkaW5hdGVTcGFjZSkKIHsKICAgICB1cGRhdGVMYXlv
dXRBbmRTdHlsZUlmTmVlZGVkUmVjdXJzaXZlKCk7CiAKQEAgLTMxNjQsNyArMzE2NCwxMyBAQCB2
b2lkIEZyYW1lVmlldzo6cGFpbnRDb250ZW50c0ZvclNuYXBzaG90CiAgICAgICAgIH0KICAgICB9
CiAKLSAgICBwYWludENvbnRlbnRzKGNvbnRleHQsIGltYWdlUmVjdCk7CisgICAgaWYgKGNvb3Jk
aW5hdGVTcGFjZSA9PSBEb2N1bWVudENvb3JkaW5hdGVzKQorICAgICAgICBwYWludENvbnRlbnRz
KGNvbnRleHQsIGltYWdlUmVjdCk7CisgICAgZWxzZSB7CisgICAgICAgIC8vIEEgc25hcHNob3Qg
aW4gVmlld0Nvb3JkaW5hdGVzIHdpbGwgaW5jbHVkZSBhIHNjcm9sbGJhciwgYW5kIHRoZSBzbmFw
c2hvdCB3aWxsIGNvbnRhaW4KKyAgICAgICAgLy8gd2hhdGV2ZXIgY29udGVudCB0aGUgZG9jdW1l
bnQgaXMgY3VycmVudGx5IHNjcm9sbGVkIHRvLgorICAgICAgICBwYWludChjb250ZXh0LCBpbWFn
ZVJlY3QpOworICAgIH0KIAogICAgIC8vIFJlc3RvcmUgc2VsZWN0aW9uLgogICAgIGlmIChzaG91
bGRQYWludFNlbGVjdGlvbiA9PSBFeGNsdWRlU2VsZWN0aW9uKSB7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmgJKHJldmlzaW9uIDEyNTM1MykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTI0Nyw3ICsyNDcsOCBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXROb2RlVG9EcmF3KE5vZGUqKTsKIAogICAgIGVudW0gU2VsZWN0aW9uSW5TbmFwaG90
IHsgSW5jbHVkZVNlbGVjdGlvbiwgRXhjbHVkZVNlbGVjdGlvbiB9OwotICAgIHZvaWQgcGFpbnRD
b250ZW50c0ZvclNuYXBzaG90KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmIGltYWdl
UmVjdCwgU2VsZWN0aW9uSW5TbmFwaG90IHNob3VsZFBhaW50U2VsZWN0aW9uKTsKKyAgICBlbnVt
IENvb3JkaW5hdGVTcGFjZUZvclNuYXBzaG90IHsgRG9jdW1lbnRDb29yZGluYXRlcywgVmlld0Nv
b3JkaW5hdGVzIH07CisgICAgdm9pZCBwYWludENvbnRlbnRzRm9yU25hcHNob3QoR3JhcGhpY3ND
b250ZXh0KiwgY29uc3QgSW50UmVjdCYgaW1hZ2VSZWN0LCBTZWxlY3Rpb25JblNuYXBob3Qgc2hv
dWxkUGFpbnRTZWxlY3Rpb24sIENvb3JkaW5hdGVTcGFjZUZvclNuYXBzaG90KTsKIAogICAgIHZp
cnR1YWwgdm9pZCBwYWludE92ZXJoYW5nQXJlYXMoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50
UmVjdCYgaG9yaXpvbnRhbE92ZXJoYW5nQXJlYSwgY29uc3QgSW50UmVjdCYgdmVydGljYWxPdmVy
aGFuZ0FyZWEsIGNvbnN0IEludFJlY3QmIGRpcnR5UmVjdCk7CiAgICAgdmlydHVhbCB2b2lkIHBh
aW50U2Nyb2xsQ29ybmVyKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmIGNvcm5lclJl
Y3QpOwpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMTI1Mzg0KQorKysgU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTItMDgtMTIgIEJl
dGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MzY5MworICAgICAgICBbV0syXSBSRUdSRVNTSU9OKDEy
NTA5MSk6IHBpeGVsIHJlc3VsdHMgZG9uJ3Qgc293IHNjcm9sbGJhcnMgCisgICAgICAgIGFueW1v
cmUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlz
IGlzIGEgcmVncmVzc2lvbiBmcm9tIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEy
NTA5MSAKKyAgICAgICAgaW4gd2hpY2ggSSBmYWlsZWQgdG8gbm90aWNlZCB0aGF0IAorICAgICAg
ICBXS0J1bmRsZVBhZ2VDcmVhdGVTbmFwc2hvdEluVmlld0Nvb3JkaW5hdGVzKCkgZGlkIGFjdHVh
bGx5IGRvIAorICAgICAgICBzb21ldGhpbmcgZGlmZmVyZW50IHRoYW4gCisgICAgICAgIFdLQnVu
ZGxlUGFnZUNyZWF0ZVNuYXBzaG90SW5Eb2N1bWVudENvb3JkaW5hdGVzKCkuIFNwZWNpZmljYWxs
eSwgCisgICAgICAgIGl0IHVzZWQgU2Nyb2xsVmlldzo6cGFpbnQoKSB0byBwYWludCBpbnN0ZWFk
IG9mIAorICAgICAgICBGcmFtZVZpZXc6OnBhaW50Q29udGVudHMoKS4gU28gdGhpcyBwYXRjaCBy
ZXN0b3JlcyB0aGF0IAorICAgICAgICBmdW5jdGlvbmFsaXR5IGJ5IGFkZGluZyBhIHZhbHVlIHRv
IFNuYXBzaG90T3B0aW9ucyBpbmRpY2F0aW5nIAorICAgICAgICB3aGV0aGVyIHRoZSBzbmFwc2hv
dCBzaG91bGQgYmUgdGFrZW4gaW4gVmlld0Nvb3JkaW5hdGVzIAorICAgICAgICAob3RoZXJ3aXNl
IGl0IGRlZmF1bHRzIHRvIERvY3VtZW50Q29vcmRpbmF0ZXMpLgorCisgICAgICAgICogU2hhcmVk
L0FQSS9jL1dLSW1hZ2UuaDoKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0
Lmg6CisgICAgICAgIChXZWJLaXQ6OnRvU25hcHNob3RPcHRpb25zKToKKyAgICAgICAgKiBTaGFy
ZWQvSW1hZ2VPcHRpb25zLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzY2FsZWRTbmFwc2hvdFdpdGhPcHRpb25z
KToKKworICAgICAgICBFdmVuIHRob3VnaCB3ZSBwbGFuIHRvIGRlcHJlY2F0ZSB0aGlzIEFQSSwg
aXQgc2hvdWxkIGtlZXAgZG9pbmcgdGhlIHJpZ2h0IHRoaW5nIAorICAgICAgICB1bnRpbCBpdCdz
IGdvbmUuCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZVBhZ2UuY3BwOgorICAgICAgICAoV0tCdW5kbGVQYWdlQ3JlYXRlU25hcHNob3RJblZpZXdDb29y
ZGluYXRlcyk6CisKIDIwMTItMDgtMTIgIE51bm8gTG9wZXMgIDxubG9wZXNAYXBwbGUuY29tPgog
CiAgICAgICAgIEZpeCBidWlsZCB3aXRoIHJlY2VudCBjbGFuZy4KSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9JbWFnZU9wdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvSW1hZ2VPcHRpb25zLmgJKHJldmlzaW9uIDEyNTM1MykKKysrIFNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9JbWFnZU9wdGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNyArMzQsOCBAQCBl
bnVtIEltYWdlT3B0aW9ucyB7CiAKIGVudW0gewogICAgIFNuYXBzaG90T3B0aW9uc1NoYXJlYWJs
ZSA9IDEgPDwgMCwKLSAgICBTbmFwc2hvdE9wdGlvbnNFeGNsdWRlU2VsZWN0aW9uSGlnaGxpZ2h0
aW5nID0gMSA8PCAxCisgICAgU25hcHNob3RPcHRpb25zRXhjbHVkZVNlbGVjdGlvbkhpZ2hsaWdo
dGluZyA9IDEgPDwgMSwKKyAgICBTbmFwc2hvdE9wdGlvbnNJblZpZXdDb29yZGluYXRlcyA9IDEg
PDwgMgogfTsKIHR5cGVkZWYgdWludDMyX3QgU25hcHNob3RPcHRpb25zOwogCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tJbWFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0ltYWdlLmgJKHJldmlzaW9uIDEyNTM1MykKKysrIFNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0ltYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDcg
KzQwLDggQEAgdHlwZWRlZiB1aW50MzJfdCBXS0ltYWdlT3B0aW9uczsKIAogZW51bSB7CiAgICAg
a1dLU25hcHNob3RPcHRpb25zU2hhcmVhYmxlID0gMSA8PCAwLAotICAgIGtXS1NuYXBzaG90T3B0
aW9uc0V4Y2x1ZGVTZWxlY3Rpb25IaWdobGlnaHRpbmcgPSAxIDw8IDEKKyAgICBrV0tTbmFwc2hv
dE9wdGlvbnNFeGNsdWRlU2VsZWN0aW9uSGlnaGxpZ2h0aW5nID0gMSA8PCAxLAorICAgIGtXS1Nu
YXBzaG90T3B0aW9uc0luVmlld0Nvb3JkaW5hdGVzID0gMSA8PCAyCiB9OwogdHlwZWRlZiB1aW50
MzJfdCBXS1NuYXBzaG90T3B0aW9uczsKIApJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLU2hhcmVkQVBJQ2FzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaAkocmV2aXNpb24gMTI1MzUzKQorKysgU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC03
NzYsNiArNzc2LDggQEAgaW5saW5lIFNuYXBzaG90T3B0aW9ucyB0b1NuYXBzaG90T3B0aW9ucwog
ICAgICAgICBzbmFwc2hvdE9wdGlvbnMgfD0gU25hcHNob3RPcHRpb25zU2hhcmVhYmxlOwogICAg
IGlmICh3a1NuYXBzaG90T3B0aW9ucyAmIGtXS1NuYXBzaG90T3B0aW9uc0V4Y2x1ZGVTZWxlY3Rp
b25IaWdobGlnaHRpbmcpCiAgICAgICAgIHNuYXBzaG90T3B0aW9ucyB8PSBTbmFwc2hvdE9wdGlv
bnNFeGNsdWRlU2VsZWN0aW9uSGlnaGxpZ2h0aW5nOworICAgIGlmICh3a1NuYXBzaG90T3B0aW9u
cyAmIGtXS1NuYXBzaG90T3B0aW9uc0luVmlld0Nvb3JkaW5hdGVzKQorICAgICAgICBzbmFwc2hv
dE9wdGlvbnMgfD0gU25hcHNob3RPcHRpb25zSW5WaWV3Q29vcmRpbmF0ZXM7CiAKICAgICByZXR1
cm4gc25hcHNob3RPcHRpb25zOwogfQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNw
cAkocmV2aXNpb24gMTI1MzUzKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOTUsNyAr
Mjk1LDkgQEAgV0tJbWFnZVJlZiBXS0J1bmRsZVBhZ2VDcmVhdGVTbmFwc2hvdFdpdAogCiBXS0lt
YWdlUmVmIFdLQnVuZGxlUGFnZUNyZWF0ZVNuYXBzaG90SW5WaWV3Q29vcmRpbmF0ZXMoV0tCdW5k
bGVQYWdlUmVmIHBhZ2VSZWYsIFdLUmVjdCByZWN0LCBXS0ltYWdlT3B0aW9ucyBvcHRpb25zKQog
ewotICAgIFJlZlB0cjxXZWJJbWFnZT4gd2ViSW1hZ2UgPSB0b0ltcGwocGFnZVJlZiktPnNjYWxl
ZFNuYXBzaG90V2l0aE9wdGlvbnModG9JbnRSZWN0KHJlY3QpLCAxLCBzbmFwc2hvdE9wdGlvbnNG
cm9tSW1hZ2VPcHRpb25zKG9wdGlvbnMpKTsKKyAgICBTbmFwc2hvdE9wdGlvbnMgc25hcHNob3RP
cHRpb25zID0gc25hcHNob3RPcHRpb25zRnJvbUltYWdlT3B0aW9ucyhvcHRpb25zKTsKKyAgICBz
bmFwc2hvdE9wdGlvbnMgfD0gU25hcHNob3RPcHRpb25zSW5WaWV3Q29vcmRpbmF0ZXM7CisgICAg
UmVmUHRyPFdlYkltYWdlPiB3ZWJJbWFnZSA9IHRvSW1wbChwYWdlUmVmKS0+c2NhbGVkU25hcHNo
b3RXaXRoT3B0aW9ucyh0b0ludFJlY3QocmVjdCksIDEsIHNuYXBzaG90T3B0aW9ucyk7CiAgICAg
cmV0dXJuIHRvQVBJKHdlYkltYWdlLnJlbGVhc2UoKS5sZWFrUmVmKCkpOwogfQogCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lv
biAxMjUzNTMpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMjQsNyArMTIyNCwxMSBAQCBQYXNzUmVmUHRyPFdlYklt
YWdlPiBXZWJQYWdlOjpzY2FsZWRTbmFwCiAgICAgaWYgKG9wdGlvbnMgJiBTbmFwc2hvdE9wdGlv
bnNFeGNsdWRlU2VsZWN0aW9uSGlnaGxpZ2h0aW5nKQogICAgICAgICBzaG91bGRQYWludFNlbGVj
dGlvbiA9IEZyYW1lVmlldzo6RXhjbHVkZVNlbGVjdGlvbjsKIAotICAgIGZyYW1lVmlldy0+cGFp
bnRDb250ZW50c0ZvclNuYXBzaG90KGdyYXBoaWNzQ29udGV4dC5nZXQoKSwgcmVjdCwgc2hvdWxk
UGFpbnRTZWxlY3Rpb24pOworICAgIEZyYW1lVmlldzo6Q29vcmRpbmF0ZVNwYWNlRm9yU25hcHNo
b3QgY29vcmRpbmF0ZVNwYWNlID0gRnJhbWVWaWV3OjpEb2N1bWVudENvb3JkaW5hdGVzOworICAg
IGlmIChvcHRpb25zICYgU25hcHNob3RPcHRpb25zSW5WaWV3Q29vcmRpbmF0ZXMpCisgICAgICAg
IGNvb3JkaW5hdGVTcGFjZSA9IEZyYW1lVmlldzo6Vmlld0Nvb3JkaW5hdGVzOworCisgICAgZnJh
bWVWaWV3LT5wYWludENvbnRlbnRzRm9yU25hcHNob3QoZ3JhcGhpY3NDb250ZXh0LmdldCgpLCBy
ZWN0LCBzaG91bGRQYWludFNlbGVjdGlvbiwgY29vcmRpbmF0ZVNwYWNlKTsKIAogICAgIHJldHVy
biBzbmFwc2hvdC5yZWxlYXNlKCk7CiB9CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjUzNTMpCisrKyBUb29scy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0wOC0xMiAgQmV0aCBEYWtp
biAgPGJkYWtpbkBhcHBsZS5jb20+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTkzNjkzCisgICAgICAgIFtXSzJdIFJFR1JFU1NJT04oMTI1MDkxKTog
cGl4ZWwgcmVzdWx0cyBkb24ndCBzb3cgc2Nyb2xsYmFycyAKKyAgICAgICAgYW55bW9yZQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBuZXcgQVBJ
IFdLQnVuZGxlUGFnZUNyZWF0ZVNuYXBzaG90V2l0aE9wdGlvbnMoKS4KKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHA6CisgICAg
ICAgIChXVFI6OkluamVjdGVkQnVuZGxlUGFnZTo6ZHVtcCk6CisKIDIwMTItMDgtMTEgIEd5dXlv
dW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBCdW1w
IGhhcmZidXp6IGRlcGVuZGVuY3kgdG8gdjAuOS4yCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2Uu
Y3BwCShyZXZpc2lvbiAxMjUzNTMpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3Niw3ICs3
NzYsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlUGFnZTo6ZHVtcCgpCiAgICAgICAgIEluamVjdGVk
QnVuZGxlOjpzaGFyZWQoKS5kdW1wQmFja0ZvcndhcmRMaXN0c0ZvckFsbFBhZ2VzKCk7CiAKICAg
ICBpZiAoSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnNob3VsZER1bXBQaXhlbHMoKSAmJiBJbmpl
Y3RlZEJ1bmRsZTo6c2hhcmVkKCkubGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2hvdWxkRHVtcFBp
eGVscygpKSB7Ci0gICAgICAgIEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5zZXRQaXhlbFJlc3Vs
dChhZG9wdFdLKFdLQnVuZGxlUGFnZUNyZWF0ZVNuYXBzaG90SW5WaWV3Q29vcmRpbmF0ZXMobV9w
YWdlLCBXS0J1bmRsZUZyYW1lR2V0VmlzaWJsZUNvbnRlbnRCb3VuZHMoV0tCdW5kbGVQYWdlR2V0
TWFpbkZyYW1lKG1fcGFnZSkpLCBrV0tJbWFnZU9wdGlvbnNTaGFyZWFibGUpKS5nZXQoKSk7Cisg
ICAgICAgIEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5zZXRQaXhlbFJlc3VsdChhZG9wdFdLKFdL
QnVuZGxlUGFnZUNyZWF0ZVNuYXBzaG90V2l0aE9wdGlvbnMobV9wYWdlLCBXS0J1bmRsZUZyYW1l
R2V0VmlzaWJsZUNvbnRlbnRCb3VuZHMoV0tCdW5kbGVQYWdlR2V0TWFpbkZyYW1lKG1fcGFnZSkp
LCBrV0tTbmFwc2hvdE9wdGlvbnNTaGFyZWFibGUgfCBrV0tTbmFwc2hvdE9wdGlvbnNJblZpZXdD
b29yZGluYXRlcykpLmdldCgpKTsKICAgICAgICAgaWYgKFdLQnVuZGxlUGFnZUlzVHJhY2tpbmdS
ZXBhaW50cyhtX3BhZ2UpKQogICAgICAgICAgICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnNl
dFJlcGFpbnRSZWN0cyhhZG9wdFdLKFdLQnVuZGxlUGFnZUNvcHlUcmFja2VkUmVwYWludFJlY3Rz
KG1fcGFnZSkpLmdldCgpKTsKICAgICB9Cg==
</data>
<flag name="review"
          id="167928"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>