<?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>102452</bug_id>
          
          <creation_ts>2012-11-15 17:59:37 -0800</creation_ts>
          <short_desc>Plumbing showPaintRects out of InspectorPageAgent to use a different drawing implementation if available.</short_desc>
          <delta_ts>2012-11-27 10:53:23 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter>egraether</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>caseq</cc>
    
    <cc>dglazkov</cc>
    
    <cc>egraether</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>nduca</cc>
    
    <cc>pfeldman</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>768779</commentid>
    <comment_count>0</comment_count>
    <who name="">egraether</who>
    <bug_when>2012-11-15 17:59:37 -0800</bug_when>
    <thetext>Plumbing showPaintRects out of InspectorPageAgent to use a different drawing implementation if available.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768785</commentid>
    <comment_count>1</comment_count>
      <attachid>174580</attachid>
    <who name="">egraether</who>
    <bug_when>2012-11-15 18:04:42 -0800</bug_when>
    <thetext>Created attachment 174580
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768796</commentid>
    <comment_count>2</comment_count>
      <attachid>174580</attachid>
    <who name="">egraether</who>
    <bug_when>2012-11-15 18:18:24 -0800</bug_when>
    <thetext>Comment on attachment 174580
Patch

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

To make the showPaintRects checkbox in the Web Inspector&apos;s settings activate the paint rects in the HUDLayer, I implemented a similar plumbing than the one that was used for showFPSCounter.

&gt; Source/WebCore/inspector/InspectorPageAgent.cpp:902
&gt; +    if (!m_enabled || !m_state-&gt;getBoolean(PageAgentState::showPaintRects) || m_client-&gt;canShowPaintRects())

This extra check disables the painting of the paint rects into the InspectorOverlay.

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:838
&gt; +        return page()-&gt;settings()-&gt;forceCompositingMode();

This time a good check if the HUDLayer can draw the paint rects is necessary, because the fallback to the software paint rects needs to work. This check is the best I found so far, but it&apos;s value can change when page switches happen. This causes the paint rects then to switch between software and GPU rendering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769592</commentid>
    <comment_count>3</comment_count>
      <attachid>174747</attachid>
    <who name="">egraether</who>
    <bug_when>2012-11-16 12:52:01 -0800</bug_when>
    <thetext>Created attachment 174747
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769595</commentid>
    <comment_count>4</comment_count>
    <who name="">egraether</who>
    <bug_when>2012-11-16 12:53:05 -0800</bug_when>
    <thetext>caseq can you please have a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769597</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-16 12:55:06 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771994</commentid>
    <comment_count>6</comment_count>
      <attachid>174747</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-11-20 10:41:36 -0800</bug_when>
    <thetext>Comment on attachment 174747
Patch

LGTM. Pavel?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772011</commentid>
    <comment_count>7</comment_count>
      <attachid>174747</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-11-20 10:51:21 -0800</bug_when>
    <thetext>Comment on attachment 174747
Patch

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

Looks good overall, couple of naming nits and it can land.

&gt; Source/WebCore/inspector/InspectorClient.h:75
&gt; +    virtual bool canShowPaintRects() { return false; }

So its semantics is a bit different: it tells you whether embedder should handle paint rects. I&apos;d name it overridesShowPaintRects().

&gt; Source/WebKit/chromium/public/WebView.h:474
&gt; +    virtual bool canShowHUDLayer() = 0;

Should this be called isAcceleratedCompositingActive ? Just to make things more clear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775840</commentid>
    <comment_count>8</comment_count>
      <attachid>176055</attachid>
    <who name="">egraether</who>
    <bug_when>2012-11-26 13:42:59 -0800</bug_when>
    <thetext>Created attachment 176055
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776977</commentid>
    <comment_count>9</comment_count>
      <attachid>176055</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-27 10:53:18 -0800</bug_when>
    <thetext>Comment on attachment 176055
Patch

Clearing flags on attachment: 176055

Committed r135881: &lt;http://trac.webkit.org/changeset/135881&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776978</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-27 10:53:23 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174580</attachid>
            <date>2012-11-15 18:04:42 -0800</date>
            <delta_ts>2012-11-16 12:51:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102452-20121115180238.patch</filename>
            <type>text/plain</type>
            <size>10695</size>
            <attacher>egraether</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0Njg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBhOGU4OTI3ODJjMjEx
NDNmZDNlMzVhODI0NjEzNWZjYTM2NjNkZGI5Li43MDNhMmRjMjc3MGYyYWE2NDVjNjNmYTdhZDM2
OGYxZWU4NTFlMTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0xMS0xNSAg
RWJlcmhhcmQgR3JhZXRoZXIgIDxlZ3JhZXRoZXJAZ29vZ2xlLmNvbT4KKworICAgICAgICBQbHVt
YmluZyBzaG93UGFpbnRSZWN0cyBvdXQgb2YgSW5zcGVjdG9yUGFnZUFnZW50IHRvIHVzZSBhIGRp
ZmZlcmVudCBkcmF3aW5nIGltcGxlbWVudGF0aW9uIGlmIGF2YWlsYWJsZS4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjQ1MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgY2hhbmdlIGFsbG93cyB0
aGUgc2hvd1BhaW50UmVjdHMgc2V0dGluZyBmcm9tIHRoZSBXZWIgSW5zcGVjdG9yJ3Mgc2V0dGlu
Z3MgdG8gbm90aWZ5IGl0J3Mgc3RhdGUgdG8gSW5zcGVjdG9yQ2xpZW50IHRvIGFsbG93IGZvciBh
IGRpZmZlcmVudCB3YXkgb2YgZHJhd2luZyB0aGUgcGFpbnQgcmVjdHMgaWYgYXZhaWxhYmxlLgor
CisgICAgICAgICogY2hyb21pdW0vcHVibGljL1dlYkxheWVyVHJlZVZpZXcuaDoKKyAgICAgICAg
KFdlYkxheWVyVHJlZVZpZXcpOgorICAgICAgICAoV2ViS2l0OjpXZWJMYXllclRyZWVWaWV3Ojpz
ZXRTaG93UGFpbnRSZWN0cyk6CisKIDIwMTItMTEtMTQgIERhbmEgSmFuc2VucyAgPGRhbmFrakBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBNYXRjaCB0aGUgTGF5ZXJUcmVlU2V0
dGluZyBkZWZhdWx0IGZvciBhY2NlbGVyYXRlZEFuaW1hdGlvbkVuYWJsZWQgaW4gdGhlIFdlYkxh
eWVyVHJlZVNldHRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiNzhlZjA2ZTQ0NjIzY2Q1NzgwZmZkNGYyNTg0
N2ZhMGJlNjEyNmFmLi5mOTY1NjlhNWZhZGI1ZDAyOGZlZmRiMzJmMWIxY2MyMzIzMWE3NzllIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMTEtMTUgIEViZXJoYXJkIEdyYWV0aGVy
ICA8ZWdyYWV0aGVyQGdvb2dsZS5jb20+CisKKyAgICAgICAgUGx1bWJpbmcgc2hvd1BhaW50UmVj
dHMgb3V0IG9mIEluc3BlY3RvclBhZ2VBZ2VudCB0byB1c2UgYSBkaWZmZXJlbnQgZHJhd2luZyBp
bXBsZW1lbnRhdGlvbiBpZiBhdmFpbGFibGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI0NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGlzIGNoYW5nZSBhbGxvd3MgdGhlIHNob3dQYWludFJlY3Rz
IHNldHRpbmcgZnJvbSB0aGUgV2ViIEluc3BlY3RvcidzIHNldHRpbmdzIHRvIG5vdGlmeSBpdCdz
IHN0YXRlIHRvIEluc3BlY3RvckNsaWVudCB0byBhbGxvdyBmb3IgYSBkaWZmZXJlbnQgd2F5IG9m
IGRyYXdpbmcgdGhlIHBhaW50IHJlY3RzIGlmIGF2YWlsYWJsZS4KKworICAgICAgICBObyBuZXcg
dGVzdHMuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50Lmg6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JDbGllbnQ6OmNhblNob3dQYWludFJlY3RzKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckNsaWVudDo6c2V0U2hvd1BhaW50UmVjdHMpOgorICAgICAgICAo
SW5zcGVjdG9yQ2xpZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6c2V0U2hvd1BhaW50
UmVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFnZW50OjpkaWRQYWludCk6
CisKIDIwMTItMTEtMTQgIEpvc2h1YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBJbmRleGVkREI6IEluZGV4aW5nIHRlc3RzIGFyZSBmbGFreS1jcmFzaGluZwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwppbmRleCAxZjk2NTM2ODhmYTU5MDllZGY3ZjhhMWU1YTljMmQ3MGRl
Mzc2YmRlLi4xOWU5ZDAwYmY1ZjA2OTc2NzI2Y2Q1NmFhZWRiYzljYzExYWY1Njg4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTExLTE1ICBFYmVyaGFy
ZCBHcmFldGhlciAgPGVncmFldGhlckBnb29nbGUuY29tPgorCisgICAgICAgIFBsdW1iaW5nIHNo
b3dQYWludFJlY3RzIG91dCBvZiBJbnNwZWN0b3JQYWdlQWdlbnQgdG8gdXNlIGEgZGlmZmVyZW50
IGRyYXdpbmcgaW1wbGVtZW50YXRpb24gaWYgYXZhaWxhYmxlLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyNDUyCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgYWxsb3dzIHRoZSBzaG93
UGFpbnRSZWN0cyBzZXR0aW5nIGZyb20gdGhlIFdlYiBJbnNwZWN0b3IncyBzZXR0aW5ncyB0byBu
b3RpZnkgaXQncyBzdGF0ZSB0byBJbnNwZWN0b3JDbGllbnQgdG8gYWxsb3cgZm9yIGEgZGlmZmVy
ZW50IHdheSBvZiBkcmF3aW5nIHRoZSBwYWludCByZWN0cyBpZiBhdmFpbGFibGUuCisKKyAgICAg
ICAgKiBwdWJsaWMvV2ViVmlldy5oOgorICAgICAgICAoV2ViVmlldyk6CisgICAgICAgICogc3Jj
L0luc3BlY3RvckNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbnNwZWN0b3JDbGll
bnRJbXBsOjpjYW5TaG93UGFpbnRSZWN0cyk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAo
V2ViS2l0OjpJbnNwZWN0b3JDbGllbnRJbXBsOjpzZXRTaG93UGFpbnRSZWN0cyk6CisgICAgICAg
IChXZWJLaXQ6Okluc3BlY3RvckNsaWVudEltcGw6OmNhblNob3dGUFNDb3VudGVyKToKKyAgICAg
ICAgKiBzcmMvSW5zcGVjdG9yQ2xpZW50SW1wbC5oOgorICAgICAgICAoSW5zcGVjdG9yQ2xpZW50
SW1wbCk6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViVmlld0ltcGw6OmNhblNob3dIVURMYXllcik6CisgICAgICAgIChXZWJLaXQpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2V0U2hvd1BhaW50UmVjdHMpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJWaWV3SW1wbDo6c2V0SXNBY2NlbGVyYXRlZENvbXBvc2l0aW5nQWN0aXZlKToKKyAg
ICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKFdlYlZpZXdJbXBsKToKKwogMjAx
Mi0xMS0xNCAgSm9zaHVhIEJlbGwgIDxqc2JlbGxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIElu
ZGV4ZWREQjogUmVtb3ZlIG1hZ2ljIG51bWJlcnMgaW4gcmVjb3JkIGNvbXBhcmF0b3IsIGhhbmRs
ZSBtaXNzaW5nIGNhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJs
aWMvV2ViTGF5ZXJUcmVlVmlldy5oIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9X
ZWJMYXllclRyZWVWaWV3LmgKaW5kZXggN2MzYjExMzk1YjkxODhjMTRjMDQ1MTRiNDdmZGVkOWI5
Mzk1OTljYi4uMzhiNjQ0OWFhY2VlMzcyZDdkMWE2YmIwMTNlMmFhYWNjYzlkYjI4MiAxMDA2NDQK
LS0tIGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJMYXllclRyZWVWaWV3LmgK
KysrIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJMYXllclRyZWVWaWV3LmgK
QEAgLTE4Miw2ICsxODIsOSBAQCBwdWJsaWM6CiAgICAgLy8gVG9nZ2xlcyB0aGUgRlBTIGNvdW50
ZXIgaW4gdGhlIEhVRCBsYXllcgogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG93RlBTQ291bnRlcihi
b29sKSB7IH0KIAorICAgIC8vIFRvZ2dsZXMgdGhlIHBhaW50IHJlY3RzIGluIHRoZSBIVUQgbGF5
ZXIKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvd1BhaW50UmVjdHMoYm9vbCkgeyB9CisKICAgICAv
LyBQcm92aWRlcyBhIGZvbnQgYXRsYXMgdG8gdXNlIGZvciBkZWJ1ZyB2aXN1YWxpemF0aW9ucy4g
VGhlIGF0bGFzIG11c3QgYmUgYSBiaXRtYXAgY29udGFpbmluZyBnbHlwaCBkYXRhLCBhIHRhYmxl
IG9mCiAgICAgLy8gQVNDSUkgY2hhcmFjdGVyIHZhbHVlcyB0byBhIHN1YnJlY3RhbmdsZSBvZiB0
aGUgYXRsYXMgcmVwcmVzZW50aW5nIHRoZSBjb3JyZXNwb25kaW5nIGdseXBoLCBhbmQgdGhlIGds
eXBoIGhlaWdodC4KICAgICB2aXJ0dWFsIHZvaWQgc2V0Rm9udEF0bGFzKFdlYlJlY3QgYXNjaWlU
b1JlY3RUYWJsZVsxMjhdLCBjb25zdCBTa0JpdG1hcCYsIGludCBmb250SGVpZ2h0KSB7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaAppbmRleCAyNGJkZTUxMWIx
ODNhMTliNjJiMjZhODEzMWM4YjljMjAyYzE4MmJkLi4zYzY1MzIzYjAyYjkyYmFlY2FhNGViZjI2
MmRmNjUyNGJkNTI5YTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNs
aWVudC5oCkBAIC03Miw2ICs3Miw5IEBAIHB1YmxpYzoKICAgICAgICAgLy8gRklYTUU6IFBsYXRm
b3JtcyBtYXkgd2FudCB0byBpbXBsZW1lbnQgdGhpcyAoc2VlIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04Mjg4NikuCiAgICAgfQogCisgICAgdmlydHVhbCBib29sIGNh
blNob3dQYWludFJlY3RzKCkgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2V0
U2hvd1BhaW50UmVjdHMoYm9vbCkgeyB9CisKICAgICB2aXJ0dWFsIGJvb2wgY2FuU2hvd0ZQU0Nv
dW50ZXIoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG93RlBTQ291
bnRlcihib29sKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
UGFnZUFnZW50LmNwcAppbmRleCAzMjYyYjFkMTMxOThkZGVhZTBiNGI0YTQ4Mzg3NjY2NTE4MWY5
MjIyLi5hZWMxYTY3NjQ2MjFhMmZjMmM0ZTRlODMwNDk1MzQwYmE5OGRlMWZkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtNzE0LDgg
KzcxNCwxMCBAQCB2b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6c2V0RGV2aWNlTWV0cmljc092ZXJy
aWRlKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgaW50CiB2b2lkIEluc3BlY3RvclBhZ2VBZ2Vu
dDo6c2V0U2hvd1BhaW50UmVjdHMoRXJyb3JTdHJpbmcqLCBib29sIHNob3cpCiB7CiAgICAgbV9z
dGF0ZS0+c2V0Qm9vbGVhbihQYWdlQWdlbnRTdGF0ZTo6c2hvd1BhaW50UmVjdHMsIHNob3cpOwot
ICAgIGlmICghc2hvdykKLSAgICAgICAgbV9wYWdlLT5tYWluRnJhbWUoKS0+dmlldygpLT5pbnZh
bGlkYXRlKCk7CisgICAgbV9jbGllbnQtPnNldFNob3dQYWludFJlY3RzKHNob3cpOworCisgICAg
aWYgKCFzaG93ICYmIG1haW5GcmFtZSgpICYmIG1haW5GcmFtZSgpLT52aWV3KCkpCisgICAgICAg
IG1haW5GcmFtZSgpLT52aWV3KCktPmludmFsaWRhdGUoKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JQ
YWdlQWdlbnQ6OmNhblNob3dGUFNDb3VudGVyKEVycm9yU3RyaW5nKiwgYm9vbCogb3V0UGFyYW0p
CkBAIC04OTcsNyArODk5LDcgQEAgdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmFwcGx5U2NyZWVu
SGVpZ2h0T3ZlcnJpZGUobG9uZyogaGVpZ2h0KQogCiB2b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6
ZGlkUGFpbnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBMYXlvdXRSZWN0JiByZWN0
KQogewotICAgIGlmICghbV9lbmFibGVkIHx8ICFtX3N0YXRlLT5nZXRCb29sZWFuKFBhZ2VBZ2Vu
dFN0YXRlOjpzaG93UGFpbnRSZWN0cykpCisgICAgaWYgKCFtX2VuYWJsZWQgfHwgIW1fc3RhdGUt
PmdldEJvb2xlYW4oUGFnZUFnZW50U3RhdGU6OnNob3dQYWludFJlY3RzKSB8fCBtX2NsaWVudC0+
Y2FuU2hvd1BhaW50UmVjdHMoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgc3RhdGljIGludCBj
b2xvclNlbGVjdG9yID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaApp
bmRleCAyZWMxYjFiYWRhMGFlZDlmNTA1M2NjN2I4YzIwNjc5MjI4YmUxZDU2Li5kNTEyNWU4YmNi
M2JhMmRmMjAxMDJmMTMxNjNiNjc2ODYwNDBhODVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViVmlldy5oCkBAIC00NzEsNiArNDcxLDggQEAgcHVibGljOgogCiAgICAgdmlydHVh
bCBib29sIGlzU2VsZWN0aW9uRWRpdGFibGUoKSBjb25zdCA9IDA7CiAKKyAgICB2aXJ0dWFsIGJv
b2wgY2FuU2hvd0hVRExheWVyKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRTaG93UGFpbnRS
ZWN0cyhib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldFNob3dGUFNDb3VudGVyKGJvb2wp
ID0gMDsKIAogICAgIC8vIEJlbmNobWFya2luZyBzdXBwb3J0IC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0luc3BlY3RvckNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvSW5zcGVjdG9yQ2xpZW50SW1wbC5jcHAKaW5kZXggMjIwYjdkYjc0MzA2NTI0NzIy
ZThhM2NhNWZmYTM2ZGU3OGU0MjcwYy4uMDEyNmEyM2M3YjhiNzNlODk1MTQ5MDA4OGQyY2I1NmE5
YWMzMGNkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9y
Q2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9y
Q2xpZW50SW1wbC5jcHAKQEAgLTE2Myw5ICsxNjMsMTkgQEAgdm9pZCBJbnNwZWN0b3JDbGllbnRJ
bXBsOjphdXRvWm9vbVBhZ2VUb0ZpdFdpZHRoKCkKICAgICAgICAgYWdlbnQtPmF1dG9ab29tUGFn
ZVRvRml0V2lkdGgoKTsKIH0KIAorYm9vbCBJbnNwZWN0b3JDbGllbnRJbXBsOjpjYW5TaG93UGFp
bnRSZWN0cygpCit7CisgICAgcmV0dXJuIG1faW5zcGVjdGVkV2ViVmlldy0+Y2FuU2hvd0hVRExh
eWVyKCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yQ2xpZW50SW1wbDo6c2V0U2hvd1BhaW50UmVjdHMo
Ym9vbCBzaG93KQoreworICAgIG1faW5zcGVjdGVkV2ViVmlldy0+c2V0U2hvd1BhaW50UmVjdHMo
c2hvdyk7Cit9CisKIGJvb2wgSW5zcGVjdG9yQ2xpZW50SW1wbDo6Y2FuU2hvd0ZQU0NvdW50ZXIo
KQogewotICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBtX2luc3BlY3RlZFdlYlZpZXctPmNh
blNob3dIVURMYXllcigpOwogfQogCiB2b2lkIEluc3BlY3RvckNsaWVudEltcGw6OnNldFNob3dG
UFNDb3VudGVyKGJvb2wgc2hvdykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0luc3BlY3RvckNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lu
c3BlY3RvckNsaWVudEltcGwuaAppbmRleCBhNzU5MjU3YWY4NWNlODAxODE0ODJjYzMzNDYyM2Ux
NGI2YzE4YjM3Li5jZDJiNzZhNjA2YzI1ZWJhNWI5ZTU3ODZhNDRkNDIzYjQ0ODMyODg0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JDbGllbnRJbXBsLmgK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yQ2xpZW50SW1wbC5oCkBA
IC03Nyw2ICs3Nyw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgb3ZlcnJpZGVEZXZpY2VN
ZXRyaWNzKGludCwgaW50LCBmbG9hdCwgYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIGF1dG9ab29t
UGFnZVRvRml0V2lkdGgoKTsKIAorICAgIHZpcnR1YWwgYm9vbCBjYW5TaG93UGFpbnRSZWN0cygp
OworICAgIHZpcnR1YWwgdm9pZCBzZXRTaG93UGFpbnRSZWN0cyhib29sKTsKKwogICAgIHZpcnR1
YWwgYm9vbCBjYW5TaG93RlBTQ291bnRlcigpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG93RlBT
Q291bnRlcihib29sKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViVmlld0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwu
Y3BwCmluZGV4IGM3NzY3MDE0ZmIxZTY0NmRmMzg3YWU2Y2M5YzUwZDg2MWJiZjViYzAuLjkzMzIy
NzhjNTgwNmM4MzE5NThkYmZjZDM4ZWY1NzhhZmI4ZDZjMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAgLTgzMiw2ICs4MzIsMTMgQEAgV2ViVmlld0Jl
bmNobWFya1N1cHBvcnQqIFdlYlZpZXdJbXBsOjpiZW5jaG1hcmtTdXBwb3J0KCkKICAgICByZXR1
cm4gJm1fYmVuY2htYXJrU3VwcG9ydDsKIH0KIAorYm9vbCBXZWJWaWV3SW1wbDo6Y2FuU2hvd0hV
RExheWVyKCkKK3sKKyAgICBpZiAocGFnZSgpICYmIHBhZ2UoKS0+c2V0dGluZ3MoKSkKKyAgICAg
ICAgcmV0dXJuIHBhZ2UoKS0+c2V0dGluZ3MoKS0+Zm9yY2VDb21wb3NpdGluZ01vZGUoKTsKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgV2ViVmlld0ltcGw6OnNldFNob3dGUFNDb3VudGVy
KGJvb2wgc2hvdykKIHsKICAgICBpZiAoaXNBY2NlbGVyYXRlZENvbXBvc2l0aW5nQWN0aXZlKCkp
IHsKQEAgLTg0Myw2ICs4NTAsMTQgQEAgdm9pZCBXZWJWaWV3SW1wbDo6c2V0U2hvd0ZQU0NvdW50
ZXIoYm9vbCBzaG93KQogICAgIH0KIH0KIAordm9pZCBXZWJWaWV3SW1wbDo6c2V0U2hvd1BhaW50
UmVjdHMoYm9vbCBzaG93KQoreworICAgIGlmIChpc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdBY3Rp
dmUoKSkgeworICAgICAgICBUUkFDRV9FVkVOVDAoIndlYmtpdCIsICJXZWJWaWV3SW1wbDo6c2V0
U2hvd1BhaW50UmVjdHMiKTsKKyAgICAgICAgbV9sYXllclRyZWVWaWV3LT5zZXRTaG93UGFpbnRS
ZWN0cyhzaG93KTsKKyAgICB9Cit9CisKIGJvb2wgV2ViVmlld0ltcGw6OmhhbmRsZUtleUV2ZW50
KGNvbnN0IFdlYktleWJvYXJkRXZlbnQmIGV2ZW50KQogewogICAgIEFTU0VSVCgoZXZlbnQudHlw
ZSA9PSBXZWJJbnB1dEV2ZW50OjpSYXdLZXlEb3duKQpAQCAtNDAxNyw3ICs0MDMyLDggQEAgdm9p
ZCBXZWJWaWV3SW1wbDo6c2V0SXNBY2NlbGVyYXRlZENvbXBvc2l0aW5nQWN0aXZlKGJvb2wgYWN0
aXZlKQogCiAgICAgICAgICAgICBpZiAobGF5ZXJUcmVlVmlld1NldHRpbmdzLnNob3dQbGF0Zm9y
bUxheWVyVHJlZSkKICAgICAgICAgICAgICAgICBsb2FkRm9udEF0bGFzSWZOZWNlc3NhcnkoKTsK
LQorICAgICAgICAgICAgaWYgKHNldHRpbmdzSW1wbCgpLT5zaG93UGFpbnRSZWN0cygpKQorICAg
ICAgICAgICAgICAgIHNldFNob3dQYWludFJlY3RzKHRydWUpOwogICAgICAgICAgICAgaWYgKHNl
dHRpbmdzSW1wbCgpLT5zaG93RlBTQ291bnRlcigpKQogICAgICAgICAgICAgICAgIHNldFNob3dG
UFNDb3VudGVyKHRydWUpOwogICAgICAgICB9IGVsc2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggOWYwNTYxODBiMzg5MDY0Yzg1MGQ0N2U1NDE5Zjk3ZjI5
NmY4ZWM0NC4uYzBhMjg5MDcwY2U2OWE1NThjYzc5YzA0OTA5Y2ZhNGFjYzA1ZWI3OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC0zMDksNiArMzA5LDggQEAg
cHVibGljOgogI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIHRyYW5zZmVyQWN0aXZlV2hlZWxGbGlu
Z0FuaW1hdGlvbihjb25zdCBXZWJBY3RpdmVXaGVlbEZsaW5nUGFyYW1ldGVycyYpOwogICAgIHZp
cnR1YWwgV2ViVmlld0JlbmNobWFya1N1cHBvcnQqIGJlbmNobWFya1N1cHBvcnQoKTsKKyAgICB2
aXJ0dWFsIGJvb2wgY2FuU2hvd0hVRExheWVyKCk7CisgICAgdmlydHVhbCB2b2lkIHNldFNob3dQ
YWludFJlY3RzKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG93RlBTQ291bnRlcihib29s
KTsKIAogICAgIC8vIFdlYkxheWVyVHJlZVZpZXdDbGllbnQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174747</attachid>
            <date>2012-11-16 12:52:01 -0800</date>
            <delta_ts>2012-11-26 13:42:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102452-20121116124956.patch</filename>
            <type>text/plain</type>
            <size>12335</size>
            <attacher>egraether</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0OTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBlN2ZmYjZiZDk5NmM3
MmZlZmNmNGQ2YzQzMWE3ZjJhOWMzNmY3NDk2Li41MDIwZTQ3MjRmNzU5YTIyYzg3ZjNkM2M3YjBm
NmI1ZDI3MzIxYmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0xMS0xNiAg
RWJlcmhhcmQgR3JhZXRoZXIgIDxlZ3JhZXRoZXJAZ29vZ2xlLmNvbT4KKworICAgICAgICBQbHVt
YmluZyBzaG93UGFpbnRSZWN0cyBvdXQgb2YgSW5zcGVjdG9yUGFnZUFnZW50IHRvIHVzZSBhIGRp
ZmZlcmVudCBkcmF3aW5nIGltcGxlbWVudGF0aW9uIGlmIGF2YWlsYWJsZS4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjQ1MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgY2hhbmdlIG1ha2VzIHRo
ZSBzaG93UGFpbnRSZWN0cyBzZXR0aW5nIGluIHRoZSBXZWIgSW5zcGVjdG9yJ3Mgc2V0dGluZ3Mg
bm90aWZ5IEluc3BlY3RvckNsaWVudAorICAgICAgICB3aGVuIGNoYW5nZWQuIEFuZCB0aGUgZGVm
YXVsdCBwYWludCByZWN0cyBkcmF3aW5nIGlzIG5vdCB1c2VkIGlmIGFuIGFsdGVybmF0aXZlIGlz
IGF2YWlsYWJsZS4KKyAgICAgICAgVGhpcyBhbGxvd3MgQ2hyb21pdW0gdG8gZHJhdyB0aGUgcGFp
bnQgcmVjdHMgaW4gdGhlIGNvbXBvc2l0b3IncyBIVURMYXllci4KKworICAgICAgICAqIGNocm9t
aXVtL3B1YmxpYy9XZWJMYXllclRyZWVWaWV3Lmg6CisgICAgICAgIChXZWJMYXllclRyZWVWaWV3
KToKKyAgICAgICAgKFdlYktpdDo6V2ViTGF5ZXJUcmVlVmlldzo6c2V0U2hvd1BhaW50UmVjdHMp
OgorCiAyMDEyLTExLTE1ICBTY290dCBWaW9sZXQgIDxza3lAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFtjaHJvbWl1bV0gQ3JlYXRlIGRlZmF1bHQgZGlyZWN0b3J5IHNvIHRoYXQgY3EgY2FuIGFw
cGx5IHBhdGNoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzRlMDRmYzA1Yjc0YzFjZjY2MjM5MjdjMDdjMTM0Nzcy
ODRmMGJhMy4uMmQzM2VlNDhiM2NjNDE0N2E2ODNhODQ2ZWU0NmE3OTU5MTA5YTVhYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTExLTE2ICBFYmVyaGFyZCBHcmFldGhlciAgPGVn
cmFldGhlckBnb29nbGUuY29tPgorCisgICAgICAgIFBsdW1iaW5nIHNob3dQYWludFJlY3RzIG91
dCBvZiBJbnNwZWN0b3JQYWdlQWdlbnQgdG8gdXNlIGEgZGlmZmVyZW50IGRyYXdpbmcgaW1wbGVt
ZW50YXRpb24gaWYgYXZhaWxhYmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTAyNDUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgbWFrZXMgdGhlIHNob3dQYWludFJlY3RzIHNldHRp
bmcgaW4gdGhlIFdlYiBJbnNwZWN0b3IncyBzZXR0aW5ncyBub3RpZnkgSW5zcGVjdG9yQ2xpZW50
CisgICAgICAgIHdoZW4gY2hhbmdlZC4gQW5kIHRoZSBkZWZhdWx0IHBhaW50IHJlY3RzIGRyYXdp
bmcgaXMgbm90IHVzZWQgaWYgYW4gYWx0ZXJuYXRpdmUgaXMgYXZhaWxhYmxlLgorICAgICAgICBU
aGlzIGFsbG93cyBDaHJvbWl1bSB0byBkcmF3IHRoZSBwYWludCByZWN0cyBpbiB0aGUgY29tcG9z
aXRvcidzIEhVRExheWVyLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNs
aWVudDo6Y2FuU2hvd1BhaW50UmVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ2xp
ZW50OjpzZXRTaG93UGFpbnRSZWN0cyk6CisgICAgICAgIChJbnNwZWN0b3JDbGllbnQpOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwOgorICAgICAgICAoUGFnZUFn
ZW50U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFnZW50OjpyZXN0b3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6ZGlzYWJsZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6OnNldFNob3dQYWludFJlY3RzKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6ZGlkUGFpbnQpOgorCiAyMDEyLTEx
LTE1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFByaXZh
dGUgQnJvd3NpbmcgaXMgYSBwZXItcGFnZSBzZXR0aW5nIHRoYXQgc2V0cyBhIGdsb2JhbCB2YWx1
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBiOWY5OTUxMjNjNDNlMGVjZDAyODEwODE0
YmIxMDFjMTFhYmExNzhkLi40MDQwMzcxYjM1ZjI3ZWVjNmM5YjEyZWVlYmMxZjhjM2IwZjU2ZmFi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTExLTE2
ICBFYmVyaGFyZCBHcmFldGhlciAgPGVncmFldGhlckBnb29nbGUuY29tPgorCisgICAgICAgIFBs
dW1iaW5nIHNob3dQYWludFJlY3RzIG91dCBvZiBJbnNwZWN0b3JQYWdlQWdlbnQgdG8gdXNlIGEg
ZGlmZmVyZW50IGRyYXdpbmcgaW1wbGVtZW50YXRpb24gaWYgYXZhaWxhYmxlLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyNDUyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgbWFrZXMg
dGhlIHNob3dQYWludFJlY3RzIHNldHRpbmcgaW4gdGhlIFdlYiBJbnNwZWN0b3IncyBzZXR0aW5n
cyBub3RpZnkgSW5zcGVjdG9yQ2xpZW50CisgICAgICAgIHdoZW4gY2hhbmdlZC4gQW5kIHRoZSBk
ZWZhdWx0IHBhaW50IHJlY3RzIGRyYXdpbmcgaXMgbm90IHVzZWQgaWYgYW4gYWx0ZXJuYXRpdmUg
aXMgYXZhaWxhYmxlLgorICAgICAgICBUaGlzIGFsbG93cyBDaHJvbWl1bSB0byBkcmF3IHRoZSBw
YWludCByZWN0cyBpbiB0aGUgY29tcG9zaXRvcidzIEhVRExheWVyLgorCisgICAgICAgICogcHVi
bGljL1dlYlZpZXcuaDoKKyAgICAgICAgKFdlYlZpZXcpOgorICAgICAgICAqIHNyYy9JbnNwZWN0
b3JDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5zcGVjdG9yQ2xpZW50SW1wbDo6
Y2FuU2hvd1BhaW50UmVjdHMpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6
SW5zcGVjdG9yQ2xpZW50SW1wbDo6c2V0U2hvd1BhaW50UmVjdHMpOgorICAgICAgICAqIHNyYy9J
bnNwZWN0b3JDbGllbnRJbXBsLmg6CisgICAgICAgIChJbnNwZWN0b3JDbGllbnRJbXBsKToKKyAg
ICAgICAgKiBzcmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1w
bDo6Y2FuU2hvd0hVRExheWVyKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlZpZXdJbXBsOjpzZXRTaG93UGFpbnRSZWN0cyk6CisgICAgICAgIChXZWJLaXQ6OldlYlZp
ZXdJbXBsOjpzZXRJc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdBY3RpdmUpOgorICAgICAgICAqIHNy
Yy9XZWJWaWV3SW1wbC5oOgorICAgICAgICAoV2ViVmlld0ltcGwpOgorCiAyMDEyLTExLTE2ICBQ
ZXRlciBCZXZlcmxvbyAgPHBldGVyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2Vk
LiAgUm9sbGVkIERFUFMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVi
bGljL1dlYkxheWVyVHJlZVZpZXcuaCBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMv
V2ViTGF5ZXJUcmVlVmlldy5oCmluZGV4IDdjM2IxMTM5NWI5MTg4YzE0YzA0NTE0YjQ3ZmRlZDli
OTM5NTk5Y2IuLjM4YjY0NDlhYWNlZTM3MmQ3ZDFhNmJiMDEzZTJhYWFjY2M5ZGIyODIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXJUcmVlVmlldy5o
CisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXJUcmVlVmlldy5o
CkBAIC0xODIsNiArMTgyLDkgQEAgcHVibGljOgogICAgIC8vIFRvZ2dsZXMgdGhlIEZQUyBjb3Vu
dGVyIGluIHRoZSBIVUQgbGF5ZXIKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvd0ZQU0NvdW50ZXIo
Ym9vbCkgeyB9CiAKKyAgICAvLyBUb2dnbGVzIHRoZSBwYWludCByZWN0cyBpbiB0aGUgSFVEIGxh
eWVyCisgICAgdmlydHVhbCB2b2lkIHNldFNob3dQYWludFJlY3RzKGJvb2wpIHsgfQorCiAgICAg
Ly8gUHJvdmlkZXMgYSBmb250IGF0bGFzIHRvIHVzZSBmb3IgZGVidWcgdmlzdWFsaXphdGlvbnMu
IFRoZSBhdGxhcyBtdXN0IGJlIGEgYml0bWFwIGNvbnRhaW5pbmcgZ2x5cGggZGF0YSwgYSB0YWJs
ZSBvZgogICAgIC8vIEFTQ0lJIGNoYXJhY3RlciB2YWx1ZXMgdG8gYSBzdWJyZWN0YW5nbGUgb2Yg
dGhlIGF0bGFzIHJlcHJlc2VudGluZyB0aGUgY29ycmVzcG9uZGluZyBnbHlwaCwgYW5kIHRoZSBn
bHlwaCBoZWlnaHQuCiAgICAgdmlydHVhbCB2b2lkIHNldEZvbnRBdGxhcyhXZWJSZWN0IGFzY2lp
VG9SZWN0VGFibGVbMTI4XSwgY29uc3QgU2tCaXRtYXAmLCBpbnQgZm9udEhlaWdodCkgeyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50LmgKaW5kZXggMjRiZGU1MTFi
MTgzYTE5YjYyYjI2YTgxMzFjOGI5YzIwMmMxODJiZC4uM2M2NTMyM2IwMmI5MmJhZWNhYTRlYmYy
NjJkZjY1MjRiZDUyOWEzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
bGllbnQuaApAQCAtNzIsNiArNzIsOSBAQCBwdWJsaWM6CiAgICAgICAgIC8vIEZJWE1FOiBQbGF0
Zm9ybXMgbWF5IHdhbnQgdG8gaW1wbGVtZW50IHRoaXMgKHNlZSBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI4ODYpLgogICAgIH0KIAorICAgIHZpcnR1YWwgYm9vbCBj
YW5TaG93UGFpbnRSZWN0cygpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCB2b2lkIHNl
dFNob3dQYWludFJlY3RzKGJvb2wpIHsgfQorCiAgICAgdmlydHVhbCBib29sIGNhblNob3dGUFND
b3VudGVyKCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvd0ZQU0Nv
dW50ZXIoYm9vbCkgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JQYWdlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clBhZ2VBZ2VudC5jcHAKaW5kZXggZGU3M2YyMmEyNWRiNzYxMTc0ZTJlMjRmNTI1N2M3MzRmMmJh
MzUyNy4uMDY1NzYyNjM1NGUyOWQ0NzY2MDQwNGQ3YzRhMTNhZTU1OGFmODQ5MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKQEAgLTkzLDcg
KzkzLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIgcGFnZUFnZW50U2NyZWVuSGVpZ2h0T3ZlcnJpZGVb
XSA9ICJwYWdlQWdlbnRTY3JlZW5IZWlnaHRPdmVycmkKIHN0YXRpYyBjb25zdCBjaGFyIHBhZ2VB
Z2VudEZvbnRTY2FsZUZhY3Rvck92ZXJyaWRlW10gPSAicGFnZUFnZW50Rm9udFNjYWxlRmFjdG9y
T3ZlcnJpZGUiOwogc3RhdGljIGNvbnN0IGNoYXIgcGFnZUFnZW50Rml0V2luZG93W10gPSAicGFn
ZUFnZW50Rml0V2luZG93IjsKIHN0YXRpYyBjb25zdCBjaGFyIHBhZ2VBZ2VudFNob3dGUFNDb3Vu
dGVyW10gPSAicGFnZUFnZW50U2hvd0ZQU0NvdW50ZXIiOwotc3RhdGljIGNvbnN0IGNoYXIgc2hv
d1BhaW50UmVjdHNbXSA9ICJzaG93UGFpbnRSZWN0cyI7CitzdGF0aWMgY29uc3QgY2hhciBwYWdl
QWdlbnRTaG93UGFpbnRSZWN0c1tdID0gInBhZ2VBZ2VudFNob3dQYWludFJlY3RzIjsKICNpZiBF
TkFCTEUoVE9VQ0hfRVZFTlRTKQogc3RhdGljIGNvbnN0IGNoYXIgdG91Y2hFdmVudEVtdWxhdGlv
bkVuYWJsZWRbXSA9ICJ0b3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZCI7CiAjZW5kaWYKQEAgLTM1
OSw2ICszNTksOCBAQCB2b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6cmVzdG9yZSgpCiAgICAgICAg
IGVuYWJsZSgmZXJyb3IpOwogICAgICAgICBib29sIHNjcmlwdEV4ZWN1dGlvbkRpc2FibGVkID0g
bV9zdGF0ZS0+Z2V0Qm9vbGVhbihQYWdlQWdlbnRTdGF0ZTo6cGFnZUFnZW50U2NyaXB0RXhlY3V0
aW9uRGlzYWJsZWQpOwogICAgICAgICBzZXRTY3JpcHRFeGVjdXRpb25EaXNhYmxlZCgwLCBzY3Jp
cHRFeGVjdXRpb25EaXNhYmxlZCk7CisgICAgICAgIGJvb2wgc2hvd1BhaW50UmVjdHMgPSBtX3N0
YXRlLT5nZXRCb29sZWFuKFBhZ2VBZ2VudFN0YXRlOjpwYWdlQWdlbnRTaG93UGFpbnRSZWN0cyk7
CisgICAgICAgIHNldFNob3dQYWludFJlY3RzKDAsIHNob3dQYWludFJlY3RzKTsKICAgICAgICAg
Ym9vbCBzaG93RlBTQ291bnRlciA9IG1fc3RhdGUtPmdldEJvb2xlYW4oUGFnZUFnZW50U3RhdGU6
OnBhZ2VBZ2VudFNob3dGUFNDb3VudGVyKTsKICAgICAgICAgc2V0U2hvd0ZQU0NvdW50ZXIoMCwg
c2hvd0ZQU0NvdW50ZXIpOwogCkBAIC0zODcsNiArMzg5LDcgQEAgdm9pZCBJbnNwZWN0b3JQYWdl
QWdlbnQ6OmRpc2FibGUoRXJyb3JTdHJpbmcqKQogICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+
c2V0SW5zcGVjdG9yUGFnZUFnZW50KDApOwogCiAgICAgc2V0U2NyaXB0RXhlY3V0aW9uRGlzYWJs
ZWQoMCwgZmFsc2UpOworICAgIHNldFNob3dQYWludFJlY3RzKDAsIGZhbHNlKTsKICAgICBzZXRT
aG93RlBTQ291bnRlcigwLCBmYWxzZSk7CiAKICAgICAvLyBXaGVuIGRpc2FibGluZyB0aGUgYWdl
bnQsIHJlc2V0IHRoZSBvdmVycmlkZSB2YWx1ZXMuCkBAIC03MTksOSArNzIyLDExIEBAIHZvaWQg
SW5zcGVjdG9yUGFnZUFnZW50OjpzZXREZXZpY2VNZXRyaWNzT3ZlcnJpZGUoRXJyb3JTdHJpbmcq
IGVycm9yU3RyaW5nLCBpbnQKIAogdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OnNldFNob3dQYWlu
dFJlY3RzKEVycm9yU3RyaW5nKiwgYm9vbCBzaG93KQogewotICAgIG1fc3RhdGUtPnNldEJvb2xl
YW4oUGFnZUFnZW50U3RhdGU6OnNob3dQYWludFJlY3RzLCBzaG93KTsKLSAgICBpZiAoIXNob3cp
Ci0gICAgICAgIG1fcGFnZS0+bWFpbkZyYW1lKCktPnZpZXcoKS0+aW52YWxpZGF0ZSgpOworICAg
IG1fc3RhdGUtPnNldEJvb2xlYW4oUGFnZUFnZW50U3RhdGU6OnBhZ2VBZ2VudFNob3dQYWludFJl
Y3RzLCBzaG93KTsKKyAgICBtX2NsaWVudC0+c2V0U2hvd1BhaW50UmVjdHMoc2hvdyk7CisKKyAg
ICBpZiAoIXNob3cgJiYgbWFpbkZyYW1lKCkgJiYgbWFpbkZyYW1lKCktPnZpZXcoKSkKKyAgICAg
ICAgbWFpbkZyYW1lKCktPnZpZXcoKS0+aW52YWxpZGF0ZSgpOwogfQogCiB2b2lkIEluc3BlY3Rv
clBhZ2VBZ2VudDo6Y2FuU2hvd0ZQU0NvdW50ZXIoRXJyb3JTdHJpbmcqLCBib29sKiBvdXRQYXJh
bSkKQEAgLTkwMyw3ICs5MDgsNyBAQCB2b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6YXBwbHlTY3Jl
ZW5IZWlnaHRPdmVycmlkZShsb25nKiBoZWlnaHQpCiAKIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50
OjpkaWRQYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IExheW91dFJlY3QmIHJl
Y3QpCiB7Ci0gICAgaWYgKCFtX2VuYWJsZWQgfHwgIW1fc3RhdGUtPmdldEJvb2xlYW4oUGFnZUFn
ZW50U3RhdGU6OnNob3dQYWludFJlY3RzKSkKKyAgICBpZiAoIW1fZW5hYmxlZCB8fCAhbV9zdGF0
ZS0+Z2V0Qm9vbGVhbihQYWdlQWdlbnRTdGF0ZTo6cGFnZUFnZW50U2hvd1BhaW50UmVjdHMpIHx8
IG1fY2xpZW50LT5jYW5TaG93UGFpbnRSZWN0cygpKQogICAgICAgICByZXR1cm47CiAKICAgICBz
dGF0aWMgaW50IGNvbG9yU2VsZWN0b3IgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViVmlldy5oCmluZGV4IDJlYzFiMWJhZGEwYWVkOWY1MDUzY2M3YjhjMjA2NzkyMjhiZTFkNTYu
LmQ1MTI1ZThiY2IzYmEyZGYyMDEwMmYxMzE2M2I2NzY4NjA0MGE4NWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmgKQEAgLTQ3MSw2ICs0NzEsOCBAQCBwdWJsaWM6CiAK
ICAgICB2aXJ0dWFsIGJvb2wgaXNTZWxlY3Rpb25FZGl0YWJsZSgpIGNvbnN0ID0gMDsKIAorICAg
IHZpcnR1YWwgYm9vbCBjYW5TaG93SFVETGF5ZXIoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNl
dFNob3dQYWludFJlY3RzKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvd0ZQU0Nv
dW50ZXIoYm9vbCkgPSAwOwogCiAgICAgLy8gQmVuY2htYXJraW5nIHN1cHBvcnQgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JDbGllbnRJbXBsLmNwcAppbmRleCAyMjBiN2Ri
NzQzMDY1MjQ3MjJlOGEzY2E1ZmZhMzZkZTc4ZTQyNzBjLi40ODhhZTBjNDYzMjdlYjcwM2RkNjhl
MmNlNDc2ZDMwMGE5MjBjMGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9JbnNwZWN0b3JDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9JbnNwZWN0b3JDbGllbnRJbXBsLmNwcApAQCAtMTYzLDYgKzE2MywxNiBAQCB2b2lkIEluc3Bl
Y3RvckNsaWVudEltcGw6OmF1dG9ab29tUGFnZVRvRml0V2lkdGgoKQogICAgICAgICBhZ2VudC0+
YXV0b1pvb21QYWdlVG9GaXRXaWR0aCgpOwogfQogCitib29sIEluc3BlY3RvckNsaWVudEltcGw6
OmNhblNob3dQYWludFJlY3RzKCkKK3sKKyAgICByZXR1cm4gbV9pbnNwZWN0ZWRXZWJWaWV3LT5j
YW5TaG93SFVETGF5ZXIoKTsKK30KKwordm9pZCBJbnNwZWN0b3JDbGllbnRJbXBsOjpzZXRTaG93
UGFpbnRSZWN0cyhib29sIHNob3cpCit7CisgICAgbV9pbnNwZWN0ZWRXZWJWaWV3LT5zZXRTaG93
UGFpbnRSZWN0cyhzaG93KTsKK30KKwogYm9vbCBJbnNwZWN0b3JDbGllbnRJbXBsOjpjYW5TaG93
RlBTQ291bnRlcigpCiB7CiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9JbnNwZWN0b3JDbGllbnRJbXBsLmgKaW5kZXggYTc1OTI1N2FmODVjZTgwMTgx
NDgyY2MzMzQ2MjNlMTRiNmMxOGIzNy4uY2QyYjc2YTYwNmMyNWViYTViOWU1Nzg2YTQ0ZDQyM2I0
NDgzMjg4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9y
Q2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckNs
aWVudEltcGwuaApAQCAtNzcsNiArNzcsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIG92
ZXJyaWRlRGV2aWNlTWV0cmljcyhpbnQsIGludCwgZmxvYXQsIGJvb2wpOwogICAgIHZpcnR1YWwg
dm9pZCBhdXRvWm9vbVBhZ2VUb0ZpdFdpZHRoKCk7CiAKKyAgICB2aXJ0dWFsIGJvb2wgY2FuU2hv
d1BhaW50UmVjdHMoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvd1BhaW50UmVjdHMoYm9vbCk7
CisKICAgICB2aXJ0dWFsIGJvb2wgY2FuU2hvd0ZQU0NvdW50ZXIoKTsKICAgICB2aXJ0dWFsIHZv
aWQgc2V0U2hvd0ZQU0NvdW50ZXIoYm9vbCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmNwcAppbmRleCAwNjUxNmU0YThmYjEwMzNmN2I5MjBiNjZkOTZhNzdiMmJk
ZWQ5ODA2Li5kNDk5MDkwMjBiNjNjNGMyYjQxMjk1NGNkOGExZmRlMGY2MTZjYWI5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC04MzIsNiArODMyLDEx
IEBAIFdlYlZpZXdCZW5jaG1hcmtTdXBwb3J0KiBXZWJWaWV3SW1wbDo6YmVuY2htYXJrU3VwcG9y
dCgpCiAgICAgcmV0dXJuICZtX2JlbmNobWFya1N1cHBvcnQ7CiB9CiAKK2Jvb2wgV2ViVmlld0lt
cGw6OmNhblNob3dIVURMYXllcigpCit7CisgICAgcmV0dXJuIGlzQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0FjdGl2ZSgpOworfQorCiB2b2lkIFdlYlZpZXdJbXBsOjpzZXRTaG93RlBTQ291bnRlcihi
b29sIHNob3cpCiB7CiAgICAgaWYgKGlzQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0FjdGl2ZSgpKSB7
CkBAIC04NDMsNiArODQ4LDE1IEBAIHZvaWQgV2ViVmlld0ltcGw6OnNldFNob3dGUFNDb3VudGVy
KGJvb2wgc2hvdykKICAgICB9CiB9CiAKK3ZvaWQgV2ViVmlld0ltcGw6OnNldFNob3dQYWludFJl
Y3RzKGJvb2wgc2hvdykKK3sKKyAgICBpZiAoaXNBY2NlbGVyYXRlZENvbXBvc2l0aW5nQWN0aXZl
KCkpIHsKKyAgICAgICAgVFJBQ0VfRVZFTlQwKCJ3ZWJraXQiLCAiV2ViVmlld0ltcGw6OnNldFNo
b3dQYWludFJlY3RzIik7CisgICAgICAgIG1fbGF5ZXJUcmVlVmlldy0+c2V0U2hvd1BhaW50UmVj
dHMoc2hvdyk7CisgICAgfQorICAgIHNldHRpbmdzSW1wbCgpLT5zZXRTaG93UGFpbnRSZWN0cyhz
aG93KTsKK30KKwogYm9vbCBXZWJWaWV3SW1wbDo6aGFuZGxlS2V5RXZlbnQoY29uc3QgV2ViS2V5
Ym9hcmRFdmVudCYgZXZlbnQpCiB7CiAgICAgQVNTRVJUKChldmVudC50eXBlID09IFdlYklucHV0
RXZlbnQ6OlJhd0tleURvd24pCkBAIC00MDI0LDcgKzQwMzgsOCBAQCB2b2lkIFdlYlZpZXdJbXBs
OjpzZXRJc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdBY3RpdmUoYm9vbCBhY3RpdmUpCiAKICAgICAg
ICAgICAgIGlmIChsYXllclRyZWVWaWV3U2V0dGluZ3Muc2hvd1BsYXRmb3JtTGF5ZXJUcmVlKQog
ICAgICAgICAgICAgICAgIGxvYWRGb250QXRsYXNJZk5lY2Vzc2FyeSgpOwotCisgICAgICAgICAg
ICBpZiAoc2V0dGluZ3NJbXBsKCktPnNob3dQYWludFJlY3RzKCkpCisgICAgICAgICAgICAgICAg
c2V0U2hvd1BhaW50UmVjdHModHJ1ZSk7CiAgICAgICAgICAgICBpZiAoc2V0dGluZ3NJbXBsKCkt
PnNob3dGUFNDb3VudGVyKCkpCiAgICAgICAgICAgICAgICAgc2V0U2hvd0ZQU0NvdW50ZXIodHJ1
ZSk7CiAgICAgICAgIH0gZWxzZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0lt
cGwuaAppbmRleCA5ZjA1NjE4MGIzODkwNjRjODUwZDQ3ZTU0MTlmOTdmMjk2ZjhlYzQ0Li5jMGEy
ODkwNzBjZTY5YTU1OGNjNzljMDQ5MDljZmE0YWNjMDVlYjc5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKQEAgLTMwOSw2ICszMDksOCBAQCBwdWJsaWM6CiAjZW5k
aWYKICAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJBY3RpdmVXaGVlbEZsaW5nQW5pbWF0aW9uKGNv
bnN0IFdlYkFjdGl2ZVdoZWVsRmxpbmdQYXJhbWV0ZXJzJik7CiAgICAgdmlydHVhbCBXZWJWaWV3
QmVuY2htYXJrU3VwcG9ydCogYmVuY2htYXJrU3VwcG9ydCgpOworICAgIHZpcnR1YWwgYm9vbCBj
YW5TaG93SFVETGF5ZXIoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvd1BhaW50UmVjdHMoYm9v
bCk7CiAgICAgdmlydHVhbCB2b2lkIHNldFNob3dGUFNDb3VudGVyKGJvb2wpOwogCiAgICAgLy8g
V2ViTGF5ZXJUcmVlVmlld0NsaWVudAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176055</attachid>
            <date>2012-11-26 13:42:59 -0800</date>
            <delta_ts>2012-11-27 10:53:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102452-20121126134037.patch</filename>
            <type>text/plain</type>
            <size>11587</size>
            <attacher>egraether</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCA3ZTdlMTBkYTI1MmY5
ODYzMDYzZTNhY2FkZDk2NzlhYTg0N2NiYjg1Li4wYTRjMjg1NzhhNzcyYzMxMGJkNDY4NWZlYTBl
NjQ0ZWQ5NjgyNjQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0xMS0yNiAg
RWJlcmhhcmQgR3JhZXRoZXIgIDxlZ3JhZXRoZXJAZ29vZ2xlLmNvbT4KKworICAgICAgICBQbHVt
YmluZyBzaG93UGFpbnRSZWN0cyBvdXQgb2YgSW5zcGVjdG9yUGFnZUFnZW50IHRvIHVzZSBhIGRp
ZmZlcmVudCBkcmF3aW5nIGltcGxlbWVudGF0aW9uIGlmIGF2YWlsYWJsZS4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjQ1MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgY2hhbmdlIG1ha2VzIHRo
ZSBzaG93UGFpbnRSZWN0cyBzZXR0aW5nIGluIHRoZSBXZWIgSW5zcGVjdG9yJ3Mgc2V0dGluZ3Mg
bm90aWZ5IEluc3BlY3RvckNsaWVudAorICAgICAgICB3aGVuIGNoYW5nZWQuIEFuZCB0aGUgZGVm
YXVsdCBwYWludCByZWN0cyBkcmF3aW5nIGlzIG5vdCB1c2VkIGlmIGFuIGFsdGVybmF0aXZlIGlz
IGF2YWlsYWJsZS4KKyAgICAgICAgVGhpcyBhbGxvd3MgQ2hyb21pdW0gdG8gZHJhdyB0aGUgcGFp
bnQgcmVjdHMgaW4gdGhlIGNvbXBvc2l0b3IncyBIVURMYXllci4KKworICAgICAgICAqIGNocm9t
aXVtL3B1YmxpYy9XZWJMYXllclRyZWVWaWV3Lmg6CisgICAgICAgIChXZWJMYXllclRyZWVWaWV3
KToKKyAgICAgICAgKFdlYktpdDo6V2ViTGF5ZXJUcmVlVmlldzo6c2V0U2hvd1BhaW50UmVjdHMp
OgorCiAyMDEyLTExLTIzICBTYW1pIEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFtjaHJvbWl1bV0gUmVtb3ZlIFdlYlNjcmVlbkluZm8ue2hvcml6b250YWwsdmVy
dGljYWx9RFBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjg2NDM4NTU4ODllZDNiNzI3MjlkZjJhNDJhNGZkMGEw
MWVhOWNhOC4uZmQ4ZGU5MDNiYWZhMTg0ZjMxNmM3NWEyNjliNmU1Y2VmZmFmYjkzMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTExLTI2ICBFYmVyaGFyZCBHcmFldGhlciAgPGVn
cmFldGhlckBnb29nbGUuY29tPgorCisgICAgICAgIFBsdW1iaW5nIHNob3dQYWludFJlY3RzIG91
dCBvZiBJbnNwZWN0b3JQYWdlQWdlbnQgdG8gdXNlIGEgZGlmZmVyZW50IGRyYXdpbmcgaW1wbGVt
ZW50YXRpb24gaWYgYXZhaWxhYmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTAyNDUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgbWFrZXMgdGhlIHNob3dQYWludFJlY3RzIHNldHRp
bmcgaW4gdGhlIFdlYiBJbnNwZWN0b3IncyBzZXR0aW5ncyBub3RpZnkgSW5zcGVjdG9yQ2xpZW50
CisgICAgICAgIHdoZW4gY2hhbmdlZC4gQW5kIHRoZSBkZWZhdWx0IHBhaW50IHJlY3RzIGRyYXdp
bmcgaXMgbm90IHVzZWQgaWYgYW4gYWx0ZXJuYXRpdmUgaXMgYXZhaWxhYmxlLgorICAgICAgICBU
aGlzIGFsbG93cyBDaHJvbWl1bSB0byBkcmF3IHRoZSBwYWludCByZWN0cyBpbiB0aGUgY29tcG9z
aXRvcidzIEhVRExheWVyLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNs
aWVudDo6b3ZlcnJpZGVzU2hvd1BhaW50UmVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yQ2xpZW50OjpzZXRTaG93UGFpbnRSZWN0cyk6CisgICAgICAgIChJbnNwZWN0b3JDbGllbnQp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwOgorICAgICAgICAo
UGFnZUFnZW50U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFnZW50Ojpy
ZXN0b3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6ZGlzYWJsZSk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6OnNldFNob3dQYWludFJlY3Rz
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6ZGlkUGFpbnQpOgorCiAy
MDEyLTExLTI2ICBKYWUgSHl1biBQYXJrICA8amFlLnBhcmtAY29tcGFueTEwMC5uZXQ+CiAKICAg
ICAgICAgUmVtb3ZlIHJlZHVuZGFudCBhc3NpZ25tZW50IGluIFRleHR1cmVNYXBwZXJMYXllcjo6
Zmx1c2hDb21wb3NpdGluZ1N0YXRlU2VsZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA5
MTBiM2Y5MTQwNGZkZjAzZTJjZmRmZWNjYTZiN2JmZDY5N2EyMzAzLi5lMmY0MDE3Y2U1OWQwMTg2
ZWRiNGM1NzRmMDBlYTUwNzgyNWIwODcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI4IEBACisyMDEyLTExLTI2ICBFYmVyaGFyZCBHcmFldGhlciAgPGVncmFldGhlckBn
b29nbGUuY29tPgorCisgICAgICAgIFBsdW1iaW5nIHNob3dQYWludFJlY3RzIG91dCBvZiBJbnNw
ZWN0b3JQYWdlQWdlbnQgdG8gdXNlIGEgZGlmZmVyZW50IGRyYXdpbmcgaW1wbGVtZW50YXRpb24g
aWYgYXZhaWxhYmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAyNDUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhpcyBjaGFuZ2UgbWFrZXMgdGhlIHNob3dQYWludFJlY3RzIHNldHRpbmcgaW4gdGhl
IFdlYiBJbnNwZWN0b3IncyBzZXR0aW5ncyBub3RpZnkgSW5zcGVjdG9yQ2xpZW50CisgICAgICAg
IHdoZW4gY2hhbmdlZC4gQW5kIHRoZSBkZWZhdWx0IHBhaW50IHJlY3RzIGRyYXdpbmcgaXMgbm90
IHVzZWQgaWYgYW4gYWx0ZXJuYXRpdmUgaXMgYXZhaWxhYmxlLgorICAgICAgICBUaGlzIGFsbG93
cyBDaHJvbWl1bSB0byBkcmF3IHRoZSBwYWludCByZWN0cyBpbiB0aGUgY29tcG9zaXRvcidzIEhV
RExheWVyLgorCisgICAgICAgICogcHVibGljL1dlYlZpZXcuaDoKKyAgICAgICAgKFdlYlZpZXcp
OgorICAgICAgICAqIHNyYy9JbnNwZWN0b3JDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6SW5zcGVjdG9yQ2xpZW50SW1wbDo6b3ZlcnJpZGVzU2hvd1BhaW50UmVjdHMpOgorICAgICAg
ICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6SW5zcGVjdG9yQ2xpZW50SW1wbDo6c2V0U2hv
d1BhaW50UmVjdHMpOgorICAgICAgICAqIHNyYy9JbnNwZWN0b3JDbGllbnRJbXBsLmg6CisgICAg
ICAgIChJbnNwZWN0b3JDbGllbnRJbXBsKToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2V0U2hvd1BhaW50UmVjdHMpOgorICAg
ICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKFdl
YlZpZXdJbXBsKToKKwogMjAxMi0xMS0yNiAgTWlrZSBSZWVkICA8cmVlZEBnb29nbGUuY29tPgog
CiAgICAgICAgIGFkZCBTS19ESVNBQkxFX0RJVEhFUl8zMkJJVF9HUkFESUVOVCBkZWZpbmUsIGlu
IHByZXBhcmF0aW9uIGZvciByZWJhc2VsaW5pbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9y
bS9jaHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXJUcmVlVmlldy5oIGIvU291cmNlL1BsYXRmb3JtL2No
cm9taXVtL3B1YmxpYy9XZWJMYXllclRyZWVWaWV3LmgKaW5kZXggN2MzYjExMzk1YjkxODhjMTRj
MDQ1MTRiNDdmZGVkOWI5Mzk1OTljYi4uMzhiNjQ0OWFhY2VlMzcyZDdkMWE2YmIwMTNlMmFhYWNj
YzlkYjI4MiAxMDA2NDQKLS0tIGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJM
YXllclRyZWVWaWV3LmgKKysrIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJM
YXllclRyZWVWaWV3LmgKQEAgLTE4Miw2ICsxODIsOSBAQCBwdWJsaWM6CiAgICAgLy8gVG9nZ2xl
cyB0aGUgRlBTIGNvdW50ZXIgaW4gdGhlIEhVRCBsYXllcgogICAgIHZpcnR1YWwgdm9pZCBzZXRT
aG93RlBTQ291bnRlcihib29sKSB7IH0KIAorICAgIC8vIFRvZ2dsZXMgdGhlIHBhaW50IHJlY3Rz
IGluIHRoZSBIVUQgbGF5ZXIKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvd1BhaW50UmVjdHMoYm9v
bCkgeyB9CisKICAgICAvLyBQcm92aWRlcyBhIGZvbnQgYXRsYXMgdG8gdXNlIGZvciBkZWJ1ZyB2
aXN1YWxpemF0aW9ucy4gVGhlIGF0bGFzIG11c3QgYmUgYSBiaXRtYXAgY29udGFpbmluZyBnbHlw
aCBkYXRhLCBhIHRhYmxlIG9mCiAgICAgLy8gQVNDSUkgY2hhcmFjdGVyIHZhbHVlcyB0byBhIHN1
YnJlY3RhbmdsZSBvZiB0aGUgYXRsYXMgcmVwcmVzZW50aW5nIHRoZSBjb3JyZXNwb25kaW5nIGds
eXBoLCBhbmQgdGhlIGdseXBoIGhlaWdodC4KICAgICB2aXJ0dWFsIHZvaWQgc2V0Rm9udEF0bGFz
KFdlYlJlY3QgYXNjaWlUb1JlY3RUYWJsZVsxMjhdLCBjb25zdCBTa0JpdG1hcCYsIGludCBmb250
SGVpZ2h0KSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaApp
bmRleCAyNGJkZTUxMWIxODNhMTliNjJiMjZhODEzMWM4YjljMjAyYzE4MmJkLi41OTYxYTNjNjUx
ZmVkZjhjMDBmODM4MTUxZjNmZjQwYTA3ODEyOGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNsaWVudC5oCkBAIC03Miw2ICs3Miw5IEBAIHB1YmxpYzoKICAgICAgICAg
Ly8gRklYTUU6IFBsYXRmb3JtcyBtYXkgd2FudCB0byBpbXBsZW1lbnQgdGhpcyAoc2VlIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Mjg4NikuCiAgICAgfQogCisgICAg
dmlydHVhbCBib29sIG92ZXJyaWRlc1Nob3dQYWludFJlY3RzKCkgeyByZXR1cm4gZmFsc2U7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvd1BhaW50UmVjdHMoYm9vbCkgeyB9CisKICAgICB2aXJ0
dWFsIGJvb2wgY2FuU2hvd0ZQU0NvdW50ZXIoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1
YWwgdm9pZCBzZXRTaG93RlBTQ291bnRlcihib29sKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAppbmRleCAxMzNkZTk4YTdlY2ViZDNm
OTUyODE1Yjk3ODViNjZlOTI2ZWQ4ZWJjLi4xYTQ2ZTlhMTZjODU5ZmIwMTZlMzljZjIwNWZkZDIx
ZjFjM2RlYTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
UGFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFn
ZUFnZW50LmNwcApAQCAtOTMsNyArOTMsNyBAQCBzdGF0aWMgY29uc3QgY2hhciBwYWdlQWdlbnRT
Y3JlZW5IZWlnaHRPdmVycmlkZVtdID0gInBhZ2VBZ2VudFNjcmVlbkhlaWdodE92ZXJyaQogc3Rh
dGljIGNvbnN0IGNoYXIgcGFnZUFnZW50Rm9udFNjYWxlRmFjdG9yT3ZlcnJpZGVbXSA9ICJwYWdl
QWdlbnRGb250U2NhbGVGYWN0b3JPdmVycmlkZSI7CiBzdGF0aWMgY29uc3QgY2hhciBwYWdlQWdl
bnRGaXRXaW5kb3dbXSA9ICJwYWdlQWdlbnRGaXRXaW5kb3ciOwogc3RhdGljIGNvbnN0IGNoYXIg
cGFnZUFnZW50U2hvd0ZQU0NvdW50ZXJbXSA9ICJwYWdlQWdlbnRTaG93RlBTQ291bnRlciI7Ci1z
dGF0aWMgY29uc3QgY2hhciBzaG93UGFpbnRSZWN0c1tdID0gInNob3dQYWludFJlY3RzIjsKK3N0
YXRpYyBjb25zdCBjaGFyIHBhZ2VBZ2VudFNob3dQYWludFJlY3RzW10gPSAicGFnZUFnZW50U2hv
d1BhaW50UmVjdHMiOwogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiBzdGF0aWMgY29uc3QgY2hh
ciB0b3VjaEV2ZW50RW11bGF0aW9uRW5hYmxlZFtdID0gInRvdWNoRXZlbnRFbXVsYXRpb25FbmFi
bGVkIjsKICNlbmRpZgpAQCAtMzU5LDYgKzM1OSw4IEBAIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50
OjpyZXN0b3JlKCkKICAgICAgICAgZW5hYmxlKCZlcnJvcik7CiAgICAgICAgIGJvb2wgc2NyaXB0
RXhlY3V0aW9uRGlzYWJsZWQgPSBtX3N0YXRlLT5nZXRCb29sZWFuKFBhZ2VBZ2VudFN0YXRlOjpw
YWdlQWdlbnRTY3JpcHRFeGVjdXRpb25EaXNhYmxlZCk7CiAgICAgICAgIHNldFNjcmlwdEV4ZWN1
dGlvbkRpc2FibGVkKDAsIHNjcmlwdEV4ZWN1dGlvbkRpc2FibGVkKTsKKyAgICAgICAgYm9vbCBz
aG93UGFpbnRSZWN0cyA9IG1fc3RhdGUtPmdldEJvb2xlYW4oUGFnZUFnZW50U3RhdGU6OnBhZ2VB
Z2VudFNob3dQYWludFJlY3RzKTsKKyAgICAgICAgc2V0U2hvd1BhaW50UmVjdHMoMCwgc2hvd1Bh
aW50UmVjdHMpOwogICAgICAgICBib29sIHNob3dGUFNDb3VudGVyID0gbV9zdGF0ZS0+Z2V0Qm9v
bGVhbihQYWdlQWdlbnRTdGF0ZTo6cGFnZUFnZW50U2hvd0ZQU0NvdW50ZXIpOwogICAgICAgICBz
ZXRTaG93RlBTQ291bnRlcigwLCBzaG93RlBTQ291bnRlcik7CiAKQEAgLTM5Myw2ICszOTUsNyBA
QCB2b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6ZGlzYWJsZShFcnJvclN0cmluZyopCiAgICAgbV9p
bnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JQYWdlQWdlbnQoMCk7CiAKICAgICBzZXRT
Y3JpcHRFeGVjdXRpb25EaXNhYmxlZCgwLCBmYWxzZSk7CisgICAgc2V0U2hvd1BhaW50UmVjdHMo
MCwgZmFsc2UpOwogICAgIHNldFNob3dGUFNDb3VudGVyKDAsIGZhbHNlKTsKIAogICAgIC8vIFdo
ZW4gZGlzYWJsaW5nIHRoZSBhZ2VudCwgcmVzZXQgdGhlIG92ZXJyaWRlIHZhbHVlcy4KQEAgLTcy
NSw5ICs3MjgsMTEgQEAgdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OnNldERldmljZU1ldHJpY3NP
dmVycmlkZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGludAogCiB2b2lkIEluc3BlY3RvclBh
Z2VBZ2VudDo6c2V0U2hvd1BhaW50UmVjdHMoRXJyb3JTdHJpbmcqLCBib29sIHNob3cpCiB7Ci0g
ICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihQYWdlQWdlbnRTdGF0ZTo6c2hvd1BhaW50UmVjdHMsIHNo
b3cpOwotICAgIGlmICghc2hvdykKLSAgICAgICAgbV9wYWdlLT5tYWluRnJhbWUoKS0+dmlldygp
LT5pbnZhbGlkYXRlKCk7CisgICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihQYWdlQWdlbnRTdGF0ZTo6
cGFnZUFnZW50U2hvd1BhaW50UmVjdHMsIHNob3cpOworICAgIG1fY2xpZW50LT5zZXRTaG93UGFp
bnRSZWN0cyhzaG93KTsKKworICAgIGlmICghc2hvdyAmJiBtYWluRnJhbWUoKSAmJiBtYWluRnJh
bWUoKS0+dmlldygpKQorICAgICAgICBtYWluRnJhbWUoKS0+dmlldygpLT5pbnZhbGlkYXRlKCk7
CiB9CiAKIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpjYW5TaG93RlBTQ291bnRlcihFcnJvclN0
cmluZyosIGJvb2wqIG91dFBhcmFtKQpAQCAtOTA5LDcgKzkxNCw3IEBAIHZvaWQgSW5zcGVjdG9y
UGFnZUFnZW50OjphcHBseVNjcmVlbkhlaWdodE92ZXJyaWRlKGxvbmcqIGhlaWdodCkKIAogdm9p
ZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmRpZFBhaW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwg
Y29uc3QgTGF5b3V0UmVjdCYgcmVjdCkKIHsKLSAgICBpZiAoIW1fZW5hYmxlZCB8fCAhbV9zdGF0
ZS0+Z2V0Qm9vbGVhbihQYWdlQWdlbnRTdGF0ZTo6c2hvd1BhaW50UmVjdHMpKQorICAgIGlmICgh
bV9lbmFibGVkIHx8IG1fY2xpZW50LT5vdmVycmlkZXNTaG93UGFpbnRSZWN0cygpIHx8ICFtX3N0
YXRlLT5nZXRCb29sZWFuKFBhZ2VBZ2VudFN0YXRlOjpwYWdlQWdlbnRTaG93UGFpbnRSZWN0cykp
CiAgICAgICAgIHJldHVybjsKIAogICAgIHN0YXRpYyBpbnQgY29sb3JTZWxlY3RvciA9IDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmggYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmgKaW5kZXggMmVjMWIxYmFkYTBhZWQ5
ZjUwNTNjYzdiOGMyMDY3OTIyOGJlMWQ1Ni4uN2E3ZDNmNGM3YjVlYWRhNGYyYmZkM2EzODA2NmZj
MjIzOWE0YTQ1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
Vmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaApAQCAt
NDcxLDYgKzQ3MSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBpc1NlbGVjdGlvbkVk
aXRhYmxlKCkgY29uc3QgPSAwOwogCisgICAgdmlydHVhbCB2b2lkIHNldFNob3dQYWludFJlY3Rz
KGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvd0ZQU0NvdW50ZXIoYm9vbCkgPSAw
OwogCiAgICAgLy8gQmVuY2htYXJraW5nIHN1cHBvcnQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvSW5zcGVjdG9yQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9JbnNwZWN0b3JDbGllbnRJbXBsLmNwcAppbmRleCAyMjBiN2RiNzQzMDY1MjQ3MjJlOGEz
Y2E1ZmZhMzZkZTc4ZTQyNzBjLi4zZDY5Mzc2ZDczNTY4NTA0N2YwZjI4Nzk5NzMxZTNmNzNjNWJl
Yzg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JDbGll
bnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JDbGll
bnRJbXBsLmNwcApAQCAtMTYzLDYgKzE2MywxNiBAQCB2b2lkIEluc3BlY3RvckNsaWVudEltcGw6
OmF1dG9ab29tUGFnZVRvRml0V2lkdGgoKQogICAgICAgICBhZ2VudC0+YXV0b1pvb21QYWdlVG9G
aXRXaWR0aCgpOwogfQogCitib29sIEluc3BlY3RvckNsaWVudEltcGw6Om92ZXJyaWRlc1Nob3dQ
YWludFJlY3RzKCkKK3sKKyAgICByZXR1cm4gbV9pbnNwZWN0ZWRXZWJWaWV3LT5pc0FjY2VsZXJh
dGVkQ29tcG9zaXRpbmdBY3RpdmUoKTsKK30KKwordm9pZCBJbnNwZWN0b3JDbGllbnRJbXBsOjpz
ZXRTaG93UGFpbnRSZWN0cyhib29sIHNob3cpCit7CisgICAgbV9pbnNwZWN0ZWRXZWJWaWV3LT5z
ZXRTaG93UGFpbnRSZWN0cyhzaG93KTsKK30KKwogYm9vbCBJbnNwZWN0b3JDbGllbnRJbXBsOjpj
YW5TaG93RlBTQ291bnRlcigpCiB7CiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JDbGllbnRJbXBsLmgKaW5kZXggYTc1OTI1N2FmODVj
ZTgwMTgxNDgyY2MzMzQ2MjNlMTRiNmMxOGIzNy4uYjllM2I4NDE5MjI2NzY4MmM1MTQ4MTg3ODM3
MTRkMTFmNzA1Yjc4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5z
cGVjdG9yQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3Bl
Y3RvckNsaWVudEltcGwuaApAQCAtNzcsNiArNzcsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIG92ZXJyaWRlRGV2aWNlTWV0cmljcyhpbnQsIGludCwgZmxvYXQsIGJvb2wpOwogICAgIHZp
cnR1YWwgdm9pZCBhdXRvWm9vbVBhZ2VUb0ZpdFdpZHRoKCk7CiAKKyAgICB2aXJ0dWFsIGJvb2wg
b3ZlcnJpZGVzU2hvd1BhaW50UmVjdHMoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvd1BhaW50
UmVjdHMoYm9vbCk7CisKICAgICB2aXJ0dWFsIGJvb2wgY2FuU2hvd0ZQU0NvdW50ZXIoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0U2hvd0ZQU0NvdW50ZXIoYm9vbCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCA3YWExMjA0OGZiNjBkY2Y2MjA5NWIw
YjFkNjIwYjhiOWI4MjU1M2QxLi5jNWJhYjQ0OWY5ZjRhN2U1YmY2MDkwYjQxZmRiMGJiYjRkMjUx
YmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC04
NDgsNiArODQ4LDE1IEBAIHZvaWQgV2ViVmlld0ltcGw6OnNldFNob3dGUFNDb3VudGVyKGJvb2wg
c2hvdykKICAgICBzZXR0aW5nc0ltcGwoKS0+c2V0U2hvd0ZQU0NvdW50ZXIoc2hvdyk7CiB9CiAK
K3ZvaWQgV2ViVmlld0ltcGw6OnNldFNob3dQYWludFJlY3RzKGJvb2wgc2hvdykKK3sKKyAgICBp
ZiAoaXNBY2NlbGVyYXRlZENvbXBvc2l0aW5nQWN0aXZlKCkpIHsKKyAgICAgICAgVFJBQ0VfRVZF
TlQwKCJ3ZWJraXQiLCAiV2ViVmlld0ltcGw6OnNldFNob3dQYWludFJlY3RzIik7CisgICAgICAg
IG1fbGF5ZXJUcmVlVmlldy0+c2V0U2hvd1BhaW50UmVjdHMoc2hvdyk7CisgICAgfQorICAgIHNl
dHRpbmdzSW1wbCgpLT5zZXRTaG93UGFpbnRSZWN0cyhzaG93KTsKK30KKwogYm9vbCBXZWJWaWV3
SW1wbDo6aGFuZGxlS2V5RXZlbnQoY29uc3QgV2ViS2V5Ym9hcmRFdmVudCYgZXZlbnQpCiB7CiAg
ICAgQVNTRVJUKChldmVudC50eXBlID09IFdlYklucHV0RXZlbnQ6OlJhd0tleURvd24pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAppbmRleCBkYTVmNjliOWVkNWU3NDNi
NjQzZjM5NzBmMjFhN2NmNjc5MzdmMTQwLi5lN2FkNTE4ZGQ2Y2YyM2RhYzIyOTYxZGUwMTA1YzNh
NTBjZTBjODkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3
SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKQEAg
LTMwOCw2ICszMDgsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICB2aXJ0dWFsIHZvaWQgdHJhbnNm
ZXJBY3RpdmVXaGVlbEZsaW5nQW5pbWF0aW9uKGNvbnN0IFdlYkFjdGl2ZVdoZWVsRmxpbmdQYXJh
bWV0ZXJzJik7CiAgICAgdmlydHVhbCBXZWJWaWV3QmVuY2htYXJrU3VwcG9ydCogYmVuY2htYXJr
U3VwcG9ydCgpOworICAgIHZpcnR1YWwgdm9pZCBzZXRTaG93UGFpbnRSZWN0cyhib29sKTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0U2hvd0ZQU0NvdW50ZXIoYm9vbCk7CiAKICAgICAvLyBXZWJMYXll
clRyZWVWaWV3Q2xpZW50Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>