<?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>130072</bug_id>
          
          <creation_ts>2014-03-11 01:41:22 -0700</creation_ts>
          <short_desc>[EFL] Revise AcceleratedCompositingEfl implementation.</short_desc>
          <delta_ts>2014-03-12 21:47:09 -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>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Linux</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>
          
          <blocked>79766</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hyowon Kim">hw1008.kim</reporter>
          <assigned_to name="Hyowon Kim">hw1008.kim</assigned_to>
          <cc>bunhere</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>989293</commentid>
    <comment_count>0</comment_count>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-03-11 01:41:22 -0700</bug_when>
    <thetext>I think this would be the last bug to enable accelerated compositing on WK1 efl.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989304</commentid>
    <comment_count>1</comment_count>
      <attachid>226399</attachid>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-03-11 02:07:18 -0700</bug_when>
    <thetext>Created attachment 226399
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989333</commentid>
    <comment_count>2</comment_count>
      <attachid>226399</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-03-11 03:04:08 -0700</bug_when>
    <thetext>Comment on attachment 226399
Patch

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

&gt; Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp:81
&gt; +    ewk_view_mark_for_sync(m_view);

It&apos;s quite complex.

What do you think about keeping a reference of compositingObject in AcceleratedCompositingContext ?

&gt; Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp:107
&gt; +    return m_rootGraphicsLayer &amp;&amp; m_textureMapper;

Does we have situation which one of them is valid ?

&gt; Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp:132
&gt; +        m_syncTimer.startOneShot(1.0 / 60.0);

We&apos;d better to mentione constant value like below
const double frameRate = 60;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989494</commentid>
    <comment_count>3</comment_count>
      <attachid>226463</attachid>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-03-11 18:51:11 -0700</bug_when>
    <thetext>Created attachment 226463
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989496</commentid>
    <comment_count>4</comment_count>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-03-11 18:55:13 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp:81
&gt; &gt; +    ewk_view_mark_for_sync(m_view);
&gt; 
&gt; It&apos;s quite complex.
&gt; 
&gt; What do you think about keeping a reference of compositingObject in AcceleratedCompositingContext ?

All sync requests will call ewk_view_mark_for_sync().
And compositingObject will be removed in next patches.

&gt; 
&gt; &gt; Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp:107
&gt; &gt; +    return m_rootGraphicsLayer &amp;&amp; m_textureMapper;
&gt; 
&gt; Does we have situation which one of them is valid ?

Yes, m_rootGraphicsLayer could be 0 while m_textureMapper is vaild.

&gt; &gt; Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp:132
&gt; &gt; +        m_syncTimer.startOneShot(1.0 / 60.0);
&gt; 
&gt; We&apos;d better to mentione constant value like below
&gt; const double frameRate = 60;

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989576</commentid>
    <comment_count>5</comment_count>
      <attachid>226490</attachid>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-03-12 03:32:47 -0700</bug_when>
    <thetext>Created attachment 226490
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989577</commentid>
    <comment_count>6</comment_count>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-03-12 03:35:50 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; &gt; &gt; Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp:81
&gt; &gt; &gt; +    ewk_view_mark_for_sync(m_view);
&gt; &gt; 
&gt; &gt; It&apos;s quite complex.
&gt; &gt; 
&gt; &gt; What do you think about keeping a reference of compositingObject in AcceleratedCompositingContext ?
&gt; 
&gt; All sync requests will call ewk_view_mark_for_sync().
&gt; And compositingObject will be removed in next patches.
&gt; 

ewkView and compositingObject will be passed to AcceleratedCompositing.
Thank you for good comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989582</commentid>
    <comment_count>7</comment_count>
      <attachid>226490</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-03-12 03:59:29 -0700</bug_when>
    <thetext>Comment on attachment 226490
Patch

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

&gt; Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.h:51
&gt; +    bool enabled();

Public function name is too simple :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989583</commentid>
    <comment_count>8</comment_count>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-03-12 04:05:11 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.h:51
&gt; &gt; +    bool enabled();
&gt; 
&gt; Public function name is too simple :(

If it&apos;s moved to private, its name is ok?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989584</commentid>
    <comment_count>9</comment_count>
      <attachid>226490</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-03-12 04:06:19 -0700</bug_when>
    <thetext>Comment on attachment 226490
Patch

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

&gt; Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp:37
&gt; +    OwnPtr&lt;AcceleratedCompositingContext&gt; context = adoptPtr(new AcceleratedCompositingContext(ewkView, compositingObject));

Can&apos;t we use c++11 std::unique_ptr ?

&gt;&gt; Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.h:51
&gt;&gt; +    bool enabled();
&gt; 
&gt; Public function name is too simple :(

Ah. this name comes from super class. I see.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989585</commentid>
    <comment_count>10</comment_count>
      <attachid>226490</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-03-12 04:07:19 -0700</bug_when>
    <thetext>Comment on attachment 226490
Patch

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

&gt; Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp:31
&gt; +const double compositingFrameRate = 1.0 / 60.0;

FrameRate is 60 :)

&gt;&gt; Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.h:51
&gt;&gt; +    bool enabled();
&gt; 
&gt; Public function name is too simple :(

I agree. how about needComposite() or canComposite()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989589</commentid>
    <comment_count>11</comment_count>
      <attachid>226494</attachid>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-03-12 04:25:17 -0700</bug_when>
    <thetext>Created attachment 226494
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989591</commentid>
    <comment_count>12</comment_count>
      <attachid>226494</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-03-12 04:27:12 -0700</bug_when>
    <thetext>Comment on attachment 226494
Patch

LGTM. Ryuan might have a final look before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989592</commentid>
    <comment_count>13</comment_count>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-03-12 04:28:49 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 226490 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=226490&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp:37
&gt; &gt; +    OwnPtr&lt;AcceleratedCompositingContext&gt; context = adoptPtr(new AcceleratedCompositingContext(ewkView, compositingObject));
&gt; 
&gt; Can&apos;t we use c++11 std::unique_ptr ?

Good. Done.
 
&gt; &gt;&gt; Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.h:51
&gt; &gt;&gt; +    bool enabled();
&gt; &gt; 
&gt; &gt; Public function name is too simple :(
&gt; 
&gt; Ah. this name comes from super class. I see.

enabled() has been replaced with canComposite().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989593</commentid>
    <comment_count>14</comment_count>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-03-12 04:31:34 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 226490 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=226490&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp:31
&gt; &gt; +const double compositingFrameRate = 1.0 / 60.0;
&gt; 
&gt; FrameRate is 60 :)

Right. Done.
 
&gt; &gt;&gt; Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.h:51
&gt; &gt;&gt; +    bool enabled();
&gt; &gt; 
&gt; &gt; Public function name is too simple :(
&gt; 
&gt; I agree. how about needComposite() or canComposite()?

We chose canCompsite(). :) Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989923</commentid>
    <comment_count>15</comment_count>
      <attachid>226494</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-03-12 21:47:00 -0700</bug_when>
    <thetext>Comment on attachment 226494
Patch

Clearing flags on attachment: 226494

Committed r165525: &lt;http://trac.webkit.org/changeset/165525&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989924</commentid>
    <comment_count>16</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-03-12 21:47:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226399</attachid>
            <date>2014-03-11 02:07:18 -0700</date>
            <delta_ts>2014-03-11 18:49:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130072-20140311180716.patch</filename>
            <type>text/plain</type>
            <size>10574</size>
            <attacher name="Hyowon Kim">hw1008.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1NDMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggZWI3YWI5MmUy
NjU2OWIwNjMwYjU4NWJlODcyODVjNmI2MzAyN2I4Zi4uNzU4ZTk3NjZmM2FiODg2OTVkZjM5Njk0
ZWI5YzVlMjdmNjA5N2EzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE0
LTAzLTExICBIeW93b24gS2ltICA8aHcxMDA4LmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXSBSZXZpc2UgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VmbCBpbXBsZW1lbnRhdGlvbi4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMDA3MgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
cmV2aXNlcyB0aGUgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VmbCBjbGFzcyBpbXBsZW1lbnRhdGlv
biAKKyAgICAgICAgc2ltaWxhciB3aXRoIGd0ayBwb3J0LgorICAgICAgICBBbmQgYWNjZWxlcmF0
ZWQgY29tcG9zaXRpbmcgd2lsbCBiZSBlbmFibGVkIGJ5IGRlZmF1bHQgb24gV0sxIGVmbC4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0RWZs
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpBY2NlbGVy
YXRlZENvbXBvc2l0aW5nQ29udGV4dDo6c3luY0xheWVycyk6CisgICAgICAgIChXZWJDb3JlOjpB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6cmVzaXplKToKKyAgICAgICAgKFdlYkNvcmU6
OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjplbmFibGVkKToKKyAgICAgICAgKFdlYkNv
cmU6OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpmbHVzaEFuZFJlbmRlckxheWVycyk6
CisgICAgICAgIChXZWJDb3JlOjpBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6Zmx1c2hQ
ZW5kaW5nTGF5ZXJDaGFuZ2VzKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdDb250ZXh0Ojpjb21wb3NpdGVMYXllcnNUb0NvbnRleHQpOgorICAgICAgICAoV2ViQ29y
ZTo6QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmF0dGFjaFJvb3RHcmFwaGljc0xheWVy
KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4
dEVmbC5oOgorICAgICAgICAqIGV3ay9ld2tfdmlldy5jcHA6IAorICAgICAgICAoX2V3a192aWV3
X3ByaXZfbmV3KTogc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQodHJ1ZSkKKyAgICAg
ICAgKF9ld2tfdmlld19hY2NlbGVyYXRlZF9jb21wb3NpdGluZ19jYik6IAorICAgICAgICAoZXdr
X3ZpZXdfbmF0aXZlX3N1cmZhY2Vfc2V0KTogc2V0IGEgbmV3IG5hdGl2ZSBzdXJmYWNlIHRvIHRo
ZSBjb21wb3NpdGluZ09iamVjdC4KKyAgICAgICAgKiBld2svZXdrX3ZpZXdfcHJpdmF0ZS5oOgor
CiAyMDE0LTAzLTEwICBIeW93b24gS2ltICA8aHcxMDA4LmtpbUBzYW1zdW5nLmNvbT4KIAogICAg
ICAgICBbRUZMXSBNb2RpZnkgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgcmVsYXRlZCBmdW5jdGlv
bnMgaW4gZXdrX3ZpZXcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEVmbC5jcHAK
aW5kZXggYWNkMDg4NmMwN2YxNTA4YmZhNDMwMmM3N2QxYzJjMDkwZWY2MjU3MC4uZWMzYmMyZjFk
MWI5MDdhOTY4NmY0NmVjZDVmMjc5NTY3MDE4NDQ3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9lZmwvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9z
aXRpbmdDb250ZXh0RWZsLmNwcApAQCAtNDMsNyArNDMsNyBAQCBQYXNzT3duUHRyPEFjY2VsZXJh
dGVkQ29tcG9zaXRpbmdDb250ZXh0PiBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6Y3Jl
YXRlKAogCiBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6QWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHQoKQogICAgIDogbV92aWV3KDApCi0gICAgLCBtX3Jvb3RUZXh0dXJlTWFwcGVy
TGF5ZXIoMCkKKyAgICAsIG1fc3luY1RpbWVyKHRoaXMsICZBY2NlbGVyYXRlZENvbXBvc2l0aW5n
Q29udGV4dDo6c3luY0xheWVycykKIHsKIH0KIApAQCAtNzYsNiArNzYsMTEgQEAgYm9vbCBBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6aW5pdGlhbGl6ZShIb3N0V2luZG93KiBob3N0V2lu
ZG93KQogICAgIHJldHVybiByZXNpemUod2ViVmlld1NpemUpOwogfQogCit2b2lkIEFjY2VsZXJh
dGVkQ29tcG9zaXRpbmdDb250ZXh0OjpzeW5jTGF5ZXJzKFRpbWVyPEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdDb250ZXh0PiopCit7CisgICAgZXdrX3ZpZXdfbWFya19mb3Jfc3luYyhtX3ZpZXcpOwor
fQorCiBib29sIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpyZXNpemUoY29uc3QgSW50
U2l6ZSYgc2l6ZSkKIHsKICAgICBzdGF0aWMgRXZhc19HTF9Db25maWcgZXZhc0dMQ29uZmlnID0g
ewpAQCAtOTAsMzMgKzk1LDYzIEBAIGJvb2wgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6
OnJlc2l6ZShjb25zdCBJbnRTaXplJiBzaXplKQogICAgIGlmICghbV9ldmFzR0xTdXJmYWNlKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBFdmFzX05hdGl2ZV9TdXJmYWNlIG5hdGl2ZVN1
cmZhY2U7CisgICAgZXZhc19nbF9uYXRpdmVfc3VyZmFjZV9nZXQobV9ldmFzR0wuZ2V0KCksIG1f
ZXZhc0dMU3VyZmFjZS0+c3VyZmFjZSgpLCAmbmF0aXZlU3VyZmFjZSk7CisKKyAgICBld2tfdmll
d19uYXRpdmVfc3VyZmFjZV9zZXQobV92aWV3LCAmbmF0aXZlU3VyZmFjZSk7CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLXZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnN5bmNMYXll
cnNOb3coKQorYm9vbCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6ZW5hYmxlZCgpCiB7
Ci0gICAgaWYgKG1fcm9vdEdyYXBoaWNzTGF5ZXIpCi0gICAgICAgIG1fcm9vdEdyYXBoaWNzTGF5
ZXItPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUZvclRoaXNMYXllck9ubHkoKTsKLQotICAgIEVXS1By
aXZhdGU6OmNvcmVQYWdlKG1fdmlldyktPm1haW5GcmFtZSgpLnZpZXcoKS0+Zmx1c2hDb21wb3Np
dGluZ1N0YXRlSW5jbHVkaW5nU3ViZnJhbWVzKCk7CisgICAgcmV0dXJuIG1fcm9vdEdyYXBoaWNz
TGF5ZXIgJiYgbV90ZXh0dXJlTWFwcGVyOwogfQogCi12b2lkIEFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdDb250ZXh0OjpyZW5kZXJMYXllcnMoKQordm9pZCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29u
dGV4dDo6Zmx1c2hBbmRSZW5kZXJMYXllcnMoKQogewotICAgIGlmICghbV9yb290R3JhcGhpY3NM
YXllcikKKyAgICBpZiAoIWVuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgTWFpbkZy
YW1lJiBmcmFtZSA9IEVXS1ByaXZhdGU6OmNvcmVQYWdlKG1fdmlldyktPm1haW5GcmFtZSgpOwor
ICAgIGlmICghZnJhbWUuY29udGVudFJlbmRlcmVyKCkgfHwgIWZyYW1lLnZpZXcoKSkKKyAgICAg
ICAgcmV0dXJuOworICAgIGZyYW1lLnZpZXcoKS0+dXBkYXRlTGF5b3V0QW5kU3R5bGVJZk5lZWRl
ZFJlY3Vyc2l2ZSgpOworCisgICAgaWYgKCFlbmFibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAog
ICAgIGlmICghZXZhc19nbF9tYWtlX2N1cnJlbnQobV9ldmFzR0wuZ2V0KCksIG1fZXZhc0dMU3Vy
ZmFjZS0+c3VyZmFjZSgpLCBtX2V2YXNHTENvbnRleHQtPmNvbnRleHQoKSkpCiAgICAgICAgIHJl
dHVybjsKIAorICAgIGlmICghZmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIGNvbXBvc2l0ZUxheWVyc1RvQ29udGV4dCgpOworCisgICAgaWYgKHRvVGV4
dHVyZU1hcHBlckxheWVyKG1fcm9vdEdyYXBoaWNzTGF5ZXIuZ2V0KCkpLT5kZXNjZW5kYW50c09y
U2VsZkhhdmVSdW5uaW5nQW5pbWF0aW9ucygpICYmICFtX3N5bmNUaW1lci5pc0FjdGl2ZSgpKQor
ICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoMS4wIC8gNjAuMCk7Cit9CisKK2Jvb2wg
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygp
Cit7CisgICAgbV9yb290R3JhcGhpY3NMYXllci0+Zmx1c2hDb21wb3NpdGluZ1N0YXRlRm9yVGhp
c0xheWVyT25seSgpOworICAgIHJldHVybiBFV0tQcml2YXRlOjpjb3JlUGFnZShtX3ZpZXcpLT5t
YWluRnJhbWUoKS52aWV3KCktPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1l
cygpOworfQorCit2b2lkIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0Ojpjb21wb3NpdGVM
YXllcnNUb0NvbnRleHQoKQorewogICAgIEV2YXNfQ29vcmQgd2lkdGggPSAwOwogICAgIEV2YXNf
Q29vcmQgaGVpZ2h0ID0gMDsKICAgICBldmFzX29iamVjdF9nZW9tZXRyeV9nZXQobV92aWV3LCAw
LCAwLCAmd2lkdGgsICZoZWlnaHQpOworCiAgICAgZXZhc19nbF9hcGlfZ2V0KG1fZXZhc0dMLmdl
dCgpKS0+Z2xWaWV3cG9ydCgwLCAwLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBldmFzX2dsX2FwaV9n
ZXQobV9ldmFzR0wuZ2V0KCkpLT5nbENsZWFyKEdMX0NPTE9SX0JVRkZFUl9CSVQpOwogCiAgICAg
bV90ZXh0dXJlTWFwcGVyLT5iZWdpblBhaW50aW5nKCk7Ci0gICAgbV9yb290VGV4dHVyZU1hcHBl
ckxheWVyLT5wYWludCgpOworICAgIG1fdGV4dHVyZU1hcHBlci0+YmVnaW5DbGlwKFRyYW5zZm9y
bWF0aW9uTWF0cml4KCksIEZsb2F0UmVjdCgwLCAwLCB3aWR0aCwgaGVpZ2h0KSk7CisgICAgdG9U
ZXh0dXJlTWFwcGVyTGF5ZXIobV9yb290R3JhcGhpY3NMYXllci5nZXQoKSktPnBhaW50KCk7CiAg
ICAgbV9mcHNDb3VudGVyLnVwZGF0ZUZQU0FuZERpc3BsYXkobV90ZXh0dXJlTWFwcGVyLmdldCgp
KTsKKyAgICBtX3RleHR1cmVNYXBwZXItPmVuZENsaXAoKTsKICAgICBtX3RleHR1cmVNYXBwZXIt
PmVuZFBhaW50aW5nKCk7CiB9CiAKQEAgLTEyNCwxOSArMTU5LDE5IEBAIHZvaWQgQWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmF0dGFjaFJvb3RHcmFwaGljc0xheWVyKEdyYXBoaWNzTGF5
ZXIqIHJvb3RMCiB7CiAgICAgaWYgKCFyb290TGF5ZXIpIHsKICAgICAgICAgbV9yb290R3JhcGhp
Y3NMYXllciA9IG51bGxwdHI7Ci0gICAgICAgIG1fcm9vdFRleHR1cmVNYXBwZXJMYXllciA9IDA7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBtX3Jvb3RHcmFwaGljc0xheWVyID0gV2Vi
Q29yZTo6R3JhcGhpY3NMYXllcjo6Y3JlYXRlKDAsIDApOwotICAgIG1fcm9vdFRleHR1cmVNYXBw
ZXJMYXllciA9IHRvVGV4dHVyZU1hcHBlckxheWVyKG1fcm9vdEdyYXBoaWNzTGF5ZXIuZ2V0KCkp
OworICAgIG1fcm9vdEdyYXBoaWNzTGF5ZXIgPSBHcmFwaGljc0xheWVyOjpjcmVhdGUoMCwgMCk7
CiAgICAgbV9yb290R3JhcGhpY3NMYXllci0+YWRkQ2hpbGQocm9vdExheWVyKTsKICAgICBtX3Jv
b3RHcmFwaGljc0xheWVyLT5zZXREcmF3c0NvbnRlbnQoZmFsc2UpOwogICAgIG1fcm9vdEdyYXBo
aWNzTGF5ZXItPnNldE1hc2tzVG9Cb3VuZHMoZmFsc2UpOwotICAgIG1fcm9vdEdyYXBoaWNzTGF5
ZXItPnNldFNpemUoV2ViQ29yZTo6SW50U2l6ZSgxLCAxKSk7CisgICAgbV9yb290R3JhcGhpY3NM
YXllci0+c2V0U2l6ZShJbnRTaXplKDEsIDEpKTsKKworICAgIGV2YXNfZ2xfbWFrZV9jdXJyZW50
KG1fZXZhc0dMLmdldCgpLCBtX2V2YXNHTFN1cmZhY2UtPnN1cmZhY2UoKSwgbV9ldmFzR0xDb250
ZXh0LT5jb250ZXh0KCkpOwogCiAgICAgbV90ZXh0dXJlTWFwcGVyID0gVGV4dHVyZU1hcHBlckdM
OjpjcmVhdGUoKTsKLSAgICBtX3Jvb3RUZXh0dXJlTWFwcGVyTGF5ZXItPnNldFRleHR1cmVNYXBw
ZXIobV90ZXh0dXJlTWFwcGVyLmdldCgpKTsKKyAgICB0b1RleHR1cmVNYXBwZXJMYXllcihtX3Jv
b3RHcmFwaGljc0xheWVyLmdldCgpKS0+c2V0VGV4dHVyZU1hcHBlcihtX3RleHR1cmVNYXBwZXIu
Z2V0KCkpOwogCiAgICAgbV9yb290R3JhcGhpY3NMYXllci0+Zmx1c2hDb21wb3NpdGluZ1N0YXRl
Rm9yVGhpc0xheWVyT25seSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwuaCBiL1NvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0RWZs
LmgKaW5kZXggNzUwN2M5MTdkNjE1OGMyZmRlMjQzMjVhYzQ1ZDM3Yjc5MTJlYTFmZi4uZjlhMjBk
YTIyZjkyNzFkMTU2YTVlYWY2YjhiN2NkMzY1MDE0ZTljMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBv
c2l0aW5nQ29udGV4dEVmbC5oCkBAIC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSAiRXZhc0dMQ29u
dGV4dC5oIgogI2luY2x1ZGUgIkV2YXNHTFN1cmZhY2UuaCIKICNpbmNsdWRlICJUZXh0dXJlTWFw
cGVyRlBTQ291bnRlci5oIgorI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogCkBAIC00MSwxMCArNDIsMTUgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgfkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0KCk7CiAK
ICAgICBib29sIHJlc2l6ZShjb25zdCBJbnRTaXplJik7CisgICAgdm9pZCBhdHRhY2hSb290R3Jh
cGhpY3NMYXllcihHcmFwaGljc0xheWVyKiByb290TGF5ZXIpOwogCi0gICAgdmlydHVhbCB2b2lk
IHN5bmNMYXllcnNOb3coKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVuZGVyTGF5ZXJzKCk7Ci0gICAg
dmlydHVhbCB2b2lkIGF0dGFjaFJvb3RHcmFwaGljc0xheWVyKEdyYXBoaWNzTGF5ZXIqIHJvb3RM
YXllcik7CisgICAgdm9pZCBmbHVzaEFuZFJlbmRlckxheWVycygpOworICAgIGJvb2wgZmx1c2hQ
ZW5kaW5nTGF5ZXJDaGFuZ2VzKCk7CisgICAgdm9pZCBjb21wb3NpdGVMYXllcnNUb0NvbnRleHQo
KTsKKworICAgIGJvb2wgZW5hYmxlZCgpOworCisgICAgdm9pZCBzeW5jTGF5ZXJzKFRpbWVyPEFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0PiopOwogCiBwcml2YXRlOgogICAgIEFjY2VsZXJh
dGVkQ29tcG9zaXRpbmdDb250ZXh0KCk7CkBAIC01NSw3ICs2MSw3IEBAIHByaXZhdGU6CiAKICAg
ICBPd25QdHI8VGV4dHVyZU1hcHBlcj4gbV90ZXh0dXJlTWFwcGVyOwogICAgIHN0ZDo6dW5pcXVl
X3B0cjxHcmFwaGljc0xheWVyPiBtX3Jvb3RHcmFwaGljc0xheWVyOwotICAgIFRleHR1cmVNYXBw
ZXJMYXllciogbV9yb290VGV4dHVyZU1hcHBlckxheWVyOworICAgIFRpbWVyPEFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdDb250ZXh0PiBtX3N5bmNUaW1lcjsKIAogICAgIE93blB0cjxFdmFzX0dMPiBt
X2V2YXNHTDsKICAgICBPd25QdHI8RXZhc0dMQ29udGV4dD4gbV9ldmFzR0xDb250ZXh0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcCBiL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKaW5kZXggYTE3MzlhMGRhNDFhMThiODFmNjI1MThhYzNj
MjM3NDgzMTNmOGNlZi4uMDEzMDM0OGYwNGVhMTNjODczNWQxN2RjNTI2NTUzOTc4MzRiOTU3ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCkBAIC03NDYsNyArNzQ2LDcgQEAgc3RhdGlj
IEV3a19WaWV3X1ByaXZhdGVfRGF0YSogX2V3a192aWV3X3ByaXZfbmV3KEV3a19WaWV3X1NtYXJ0
X0RhdGEqIHNtYXJ0RGF0YSkKICAgICBwYWdlU2V0dGluZ3Muc2V0RnVsbFNjcmVlbkVuYWJsZWQo
dHJ1ZSk7CiAjZW5kaWYKICAgICBwYWdlU2V0dGluZ3Muc2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRh
dGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgcGFnZVNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdFbmFibGVkKGZhbHNlKTsKKyAgICBwYWdlU2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgY2hhciogZGVidWdWaXN1YWxzRW52aXJvbm1lbnQg
PSBnZXRlbnYoIldFQktJVF9TSE9XX0NPTVBPU0lUSU5HX0RFQlVHX1ZJU1VBTFMiKTsKICAgICBi
b29sIHNob3dEZWJ1Z1Zpc3VhbHMgPSBkZWJ1Z1Zpc3VhbHNFbnZpcm9ubWVudCAmJiAhc3RyY21w
KGRlYnVnVmlzdWFsc0Vudmlyb25tZW50LCAiMSIpOwogICAgIHBhZ2VTZXR0aW5ncy5zZXRTaG93
RGVidWdCb3JkZXJzKHNob3dEZWJ1Z1Zpc3VhbHMpOwpAQCAtNDYzMCwxMCArNDYzMCw4IEBAIHZv
aWQgX2V3a192aWV3X2FjY2VsZXJhdGVkX2NvbXBvc2l0aW5nX2NiKHZvaWQqIGRhdGEsIEV2YXNf
T2JqZWN0KikKIHsKICAgICBFd2tfVmlld19Qcml2YXRlX0RhdGEqIHByaXYgPSBzdGF0aWNfY2Fz
dDxFd2tfVmlld19Qcml2YXRlX0RhdGEqPihkYXRhKTsKIAotICAgIGlmIChwcml2LT5pc0NvbXBv
c2l0aW5nQWN0aXZlKSB7Ci0gICAgICAgIHByaXYtPmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250
ZXh0LT5zeW5jTGF5ZXJzTm93KCk7Ci0gICAgICAgIHByaXYtPmFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdDb250ZXh0LT5yZW5kZXJMYXllcnMoKTsKLSAgICB9CisgICAgaWYgKHByaXYtPmlzQ29tcG9z
aXRpbmdBY3RpdmUpCisgICAgICAgIHByaXYtPmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0
LT5mbHVzaEFuZFJlbmRlckxheWVycygpOwogfQogCiBib29sIF9ld2tfdmlld19hY2NlbGVyYXRl
ZF9jb21wb3NpdGluZ19jb250ZXh0X2NyZWF0ZV9pZl9uZWVkZWQoRXZhc19PYmplY3QqIGV3a1Zp
ZXcpCkBAIC00NzExLDYgKzQ3MDksMTUgQEAgdm9pZCBld2tfdmlld19tYXJrX2Zvcl9zeW5jKEV2
YXNfT2JqZWN0KiBld2tWaWV3KQogICAgIGV2YXNfb2JqZWN0X2ltYWdlX3BpeGVsc19kaXJ0eV9z
ZXQocHJpdi0+Y29tcG9zaXRpbmdPYmplY3QuZ2V0KCksIHRydWUpOwogfQogCit2b2lkIGV3a192
aWV3X25hdGl2ZV9zdXJmYWNlX3NldChFdmFzX09iamVjdCogZXdrVmlldywgRXZhc19OYXRpdmVf
U3VyZmFjZSogbmF0aXZlU3VyZmFjZSkKK3sKKyAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJO
KGV3a1ZpZXcsIHNtYXJ0RGF0YSk7CisgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNt
YXJ0RGF0YSwgcHJpdik7CisKKyAgICBpZiAocHJpdi0+Y29tcG9zaXRpbmdPYmplY3QpCisgICAg
ICAgIGV2YXNfb2JqZWN0X2ltYWdlX25hdGl2ZV9zdXJmYWNlX3NldChwcml2LT5jb21wb3NpdGlu
Z09iamVjdC5nZXQoKSwgbmF0aXZlU3VyZmFjZSk7Cit9CisKIHZvaWQgZXdrX3ZpZXdfY3Vyc29y
X3NldChFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgV2ViQ29yZTo6Q3Vyc29yJiBjdXJzb3Ip
CiB7CiAgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3X3ByaXZhdGUuaCBiL1Nv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld19wcml2YXRlLmgKaW5kZXggNDg3ZTI5MjI5YTM0
YWQyMGY4ZDdiYjJhZDQ5N2QzMGVhNDNiZGE5NS4uNDU4MzA3ODAyOTgwNzBlNmFmMDlmMmEzODE0
MjVhNjkwOGI4NjNhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3
X3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfcHJpdmF0ZS5o
CkBAIC0xNTEsNiArMTUxLDcgQEAgdm9pZCBld2tfdmlld19taXhlZF9jb250ZW50X3J1bl9zZXQo
RXZhc19PYmplY3QqIGV3a1ZpZXcsIGJvb2wgaGFzUnVuKTsKIAogdm9pZCBld2tfdmlld19yb290
X2dyYXBoaWNzX2xheWVyX3NldChFdmFzX09iamVjdCogZXdrVmlldywgV2ViQ29yZTo6R3JhcGhp
Y3NMYXllciogcm9vdExheWVyKTsKIHZvaWQgZXdrX3ZpZXdfbWFya19mb3Jfc3luYyhFdmFzX09i
amVjdCogZXdrVmlldyk7Cit2b2lkIGV3a192aWV3X25hdGl2ZV9zdXJmYWNlX3NldChFdmFzX09i
amVjdCogZXdrVmlldywgRXZhc19OYXRpdmVfU3VyZmFjZSogbmF0aXZlU3VyZmFjZSk7CiAKICNp
ZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiB2b2lkIGV3a192aWV3X2Z1bGxzY3JlZW5fZW50ZXIo
Y29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226463</attachid>
            <date>2014-03-11 18:51:11 -0700</date>
            <delta_ts>2014-03-12 03:32:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130072-20140312105043.patch</filename>
            <type>text/plain</type>
            <size>10938</size>
            <attacher name="Hyowon Kim">hw1008.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1NDMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggZWI3YWI5MmUy
NjU2OWIwNjMwYjU4NWJlODcyODVjNmI2MzAyN2I4Zi4uMDY0MjJhZTY0NGVhNzRiZWNhZTc4NjBk
NDNkNjkwOTI4ZTMxYTI2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE0
LTAzLTExICBIeW93b24gS2ltICA8aHcxMDA4LmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXSBSZXZpc2UgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VmbCBpbXBsZW1lbnRhdGlvbi4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMDA3MgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
cmV2aXNlcyB0aGUgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VmbCBjbGFzcyBpbXBsZW1lbnRhdGlv
bgorICAgICAgICBzaW1pbGFyIHdpdGggZ3RrIHBvcnQuCisgICAgICAgIEFuZCBhY2NlbGVyYXRl
ZCBjb21wb3NpdGluZyB3aWxsIGJlIGVuYWJsZWQgYnkgZGVmYXVsdCBvbiBXSzEgZWZsLgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OkFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2VsZXJh
dGVkQ29tcG9zaXRpbmdDb250ZXh0OjpzeW5jTGF5ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpyZXNpemUpOgorICAgICAgICAoV2ViQ29yZTo6
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmVuYWJsZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmZsdXNoQW5kUmVuZGVyTGF5ZXJzKToK
KyAgICAgICAgKFdlYkNvcmU6OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpmbHVzaFBl
bmRpbmdMYXllckNoYW5nZXMpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHQ6OmNvbXBvc2l0ZUxheWVyc1RvQ29udGV4dCk6CisgICAgICAgIChXZWJDb3Jl
OjpBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6YXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIp
OgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0
RWZsLmg6CisgICAgICAgICogZXdrL2V3a192aWV3LmNwcDoKKyAgICAgICAgKF9ld2tfdmlld19w
cml2X25ldyk6IHNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKHRydWUpCisgICAgICAg
IChfZXdrX3ZpZXdfYWNjZWxlcmF0ZWRfY29tcG9zaXRpbmdfY2IpOgorICAgICAgICAoZXdrX3Zp
ZXdfbmF0aXZlX3N1cmZhY2Vfc2V0KTogc2V0IGEgbmV3IG5hdGl2ZSBzdXJmYWNlIHRvIHRoZSBj
b21wb3NpdGluZ09iamVjdC4KKyAgICAgICAgKiBld2svZXdrX3ZpZXdfcHJpdmF0ZS5oOgorCiAy
MDE0LTAzLTEwICBIeW93b24gS2ltICA8aHcxMDA4LmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAg
ICBbRUZMXSBNb2RpZnkgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgcmVsYXRlZCBmdW5jdGlvbnMg
aW4gZXdrX3ZpZXcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEVmbC5jcHAKaW5k
ZXggYWNkMDg4NmMwN2YxNTA4YmZhNDMwMmM3N2QxYzJjMDkwZWY2MjU3MC4uN2QxZDEzZjZjYTgz
OWFkMjcyMzdkNjMxYzdmZTU4ZWQ1ZDQzZDk2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRp
bmdDb250ZXh0RWZsLmNwcApAQCAtMzAsNiArMzAsOCBAQAogI2luY2x1ZGUgIlRleHR1cmVNYXBw
ZXJMYXllci5oIgogI2luY2x1ZGUgImV3a192aWV3X3ByaXZhdGUuaCIKIAorY29uc3QgZG91Ymxl
IGNvbXBvc2l0aW5nRnJhbWVSYXRlID0gMS4wIC8gNjAuMDsKKwogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBQYXNzT3duUHRyPEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0PiBBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nQ29udGV4dDo6Y3JlYXRlKEhvc3RXaW5kb3cqIGhvc3RXaW5kb3cpCkBAIC00
Myw3ICs0NSw3IEBAIFBhc3NPd25QdHI8QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ+IEFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpjcmVhdGUoCiAKIEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdDb250ZXh0OjpBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dCgpCiAgICAgOiBtX3Zp
ZXcoMCkKLSAgICAsIG1fcm9vdFRleHR1cmVNYXBwZXJMYXllcigwKQorICAgICwgbV9zeW5jVGlt
ZXIodGhpcywgJkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpzeW5jTGF5ZXJzKQogewog
fQogCkBAIC03Niw2ICs3OCwxMSBAQCBib29sIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0
Ojppbml0aWFsaXplKEhvc3RXaW5kb3cqIGhvc3RXaW5kb3cpCiAgICAgcmV0dXJuIHJlc2l6ZSh3
ZWJWaWV3U2l6ZSk7CiB9CiAKK3ZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnN5
bmNMYXllcnMoVGltZXI8QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ+KikKK3sKKyAgICBl
d2tfdmlld19tYXJrX2Zvcl9zeW5jKG1fdmlldyk7Cit9CisKIGJvb2wgQWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0NvbnRleHQ6OnJlc2l6ZShjb25zdCBJbnRTaXplJiBzaXplKQogewogICAgIHN0YXRp
YyBFdmFzX0dMX0NvbmZpZyBldmFzR0xDb25maWcgPSB7CkBAIC05MCwzMyArOTcsNjMgQEAgYm9v
bCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6cmVzaXplKGNvbnN0IEludFNpemUmIHNp
emUpCiAgICAgaWYgKCFtX2V2YXNHTFN1cmZhY2UpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAor
ICAgIEV2YXNfTmF0aXZlX1N1cmZhY2UgbmF0aXZlU3VyZmFjZTsKKyAgICBldmFzX2dsX25hdGl2
ZV9zdXJmYWNlX2dldChtX2V2YXNHTC5nZXQoKSwgbV9ldmFzR0xTdXJmYWNlLT5zdXJmYWNlKCks
ICZuYXRpdmVTdXJmYWNlKTsKKworICAgIGV3a192aWV3X25hdGl2ZV9zdXJmYWNlX3NldChtX3Zp
ZXcsICZuYXRpdmVTdXJmYWNlKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBBY2NlbGVy
YXRlZENvbXBvc2l0aW5nQ29udGV4dDo6c3luY0xheWVyc05vdygpCitib29sIEFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdDb250ZXh0OjplbmFibGVkKCkKIHsKLSAgICBpZiAobV9yb290R3JhcGhpY3NM
YXllcikKLSAgICAgICAgbV9yb290R3JhcGhpY3NMYXllci0+Zmx1c2hDb21wb3NpdGluZ1N0YXRl
Rm9yVGhpc0xheWVyT25seSgpOwotCi0gICAgRVdLUHJpdmF0ZTo6Y29yZVBhZ2UobV92aWV3KS0+
bWFpbkZyYW1lKCkudmlldygpLT5mbHVzaENvbXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJmcmFt
ZXMoKTsKKyAgICByZXR1cm4gbV9yb290R3JhcGhpY3NMYXllciAmJiBtX3RleHR1cmVNYXBwZXI7
CiB9CiAKLXZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnJlbmRlckxheWVycygp
Cit2b2lkIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpmbHVzaEFuZFJlbmRlckxheWVy
cygpCiB7Ci0gICAgaWYgKCFtX3Jvb3RHcmFwaGljc0xheWVyKQorICAgIGlmICghZW5hYmxlZCgp
KQorICAgICAgICByZXR1cm47CisKKyAgICBNYWluRnJhbWUmIGZyYW1lID0gRVdLUHJpdmF0ZTo6
Y29yZVBhZ2UobV92aWV3KS0+bWFpbkZyYW1lKCk7CisgICAgaWYgKCFmcmFtZS5jb250ZW50UmVu
ZGVyZXIoKSB8fCAhZnJhbWUudmlldygpKQorICAgICAgICByZXR1cm47CisgICAgZnJhbWUudmll
dygpLT51cGRhdGVMYXlvdXRBbmRTdHlsZUlmTmVlZGVkUmVjdXJzaXZlKCk7CisKKyAgICBpZiAo
IWVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFldmFzX2dsX21ha2VfY3Vy
cmVudChtX2V2YXNHTC5nZXQoKSwgbV9ldmFzR0xTdXJmYWNlLT5zdXJmYWNlKCksIG1fZXZhc0dM
Q29udGV4dC0+Y29udGV4dCgpKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKCFmbHVzaFBl
bmRpbmdMYXllckNoYW5nZXMoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgY29tcG9zaXRlTGF5
ZXJzVG9Db250ZXh0KCk7CisKKyAgICBpZiAodG9UZXh0dXJlTWFwcGVyTGF5ZXIobV9yb290R3Jh
cGhpY3NMYXllci5nZXQoKSktPmRlc2NlbmRhbnRzT3JTZWxmSGF2ZVJ1bm5pbmdBbmltYXRpb25z
KCkgJiYgIW1fc3luY1RpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0
T25lU2hvdChjb21wb3NpdGluZ0ZyYW1lUmF0ZSk7Cit9CisKK2Jvb2wgQWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0NvbnRleHQ6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygpCit7CisgICAgbV9yb290
R3JhcGhpY3NMYXllci0+Zmx1c2hDb21wb3NpdGluZ1N0YXRlRm9yVGhpc0xheWVyT25seSgpOwor
ICAgIHJldHVybiBFV0tQcml2YXRlOjpjb3JlUGFnZShtX3ZpZXcpLT5tYWluRnJhbWUoKS52aWV3
KCktPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpOworfQorCit2b2lk
IEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0Ojpjb21wb3NpdGVMYXllcnNUb0NvbnRleHQo
KQorewogICAgIEV2YXNfQ29vcmQgd2lkdGggPSAwOwogICAgIEV2YXNfQ29vcmQgaGVpZ2h0ID0g
MDsKICAgICBldmFzX29iamVjdF9nZW9tZXRyeV9nZXQobV92aWV3LCAwLCAwLCAmd2lkdGgsICZo
ZWlnaHQpOworCiAgICAgZXZhc19nbF9hcGlfZ2V0KG1fZXZhc0dMLmdldCgpKS0+Z2xWaWV3cG9y
dCgwLCAwLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBldmFzX2dsX2FwaV9nZXQobV9ldmFzR0wuZ2V0
KCkpLT5nbENsZWFyKEdMX0NPTE9SX0JVRkZFUl9CSVQpOwogCiAgICAgbV90ZXh0dXJlTWFwcGVy
LT5iZWdpblBhaW50aW5nKCk7Ci0gICAgbV9yb290VGV4dHVyZU1hcHBlckxheWVyLT5wYWludCgp
OworICAgIG1fdGV4dHVyZU1hcHBlci0+YmVnaW5DbGlwKFRyYW5zZm9ybWF0aW9uTWF0cml4KCks
IEZsb2F0UmVjdCgwLCAwLCB3aWR0aCwgaGVpZ2h0KSk7CisgICAgdG9UZXh0dXJlTWFwcGVyTGF5
ZXIobV9yb290R3JhcGhpY3NMYXllci5nZXQoKSktPnBhaW50KCk7CiAgICAgbV9mcHNDb3VudGVy
LnVwZGF0ZUZQU0FuZERpc3BsYXkobV90ZXh0dXJlTWFwcGVyLmdldCgpKTsKKyAgICBtX3RleHR1
cmVNYXBwZXItPmVuZENsaXAoKTsKICAgICBtX3RleHR1cmVNYXBwZXItPmVuZFBhaW50aW5nKCk7
CiB9CiAKQEAgLTEyNCwxOSArMTYxLDIxIEBAIHZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Nv
bnRleHQ6OmF0dGFjaFJvb3RHcmFwaGljc0xheWVyKEdyYXBoaWNzTGF5ZXIqIHJvb3RMCiB7CiAg
ICAgaWYgKCFyb290TGF5ZXIpIHsKICAgICAgICAgbV9yb290R3JhcGhpY3NMYXllciA9IG51bGxw
dHI7Ci0gICAgICAgIG1fcm9vdFRleHR1cmVNYXBwZXJMYXllciA9IDA7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBtX3Jvb3RHcmFwaGljc0xheWVyID0gV2ViQ29yZTo6R3JhcGhpY3NM
YXllcjo6Y3JlYXRlKDAsIDApOwotICAgIG1fcm9vdFRleHR1cmVNYXBwZXJMYXllciA9IHRvVGV4
dHVyZU1hcHBlckxheWVyKG1fcm9vdEdyYXBoaWNzTGF5ZXIuZ2V0KCkpOworICAgIGlmICghbV90
ZXh0dXJlTWFwcGVyKSB7CisgICAgICAgIGV2YXNfZ2xfbWFrZV9jdXJyZW50KG1fZXZhc0dMLmdl
dCgpLCBtX2V2YXNHTFN1cmZhY2UtPnN1cmZhY2UoKSwgbV9ldmFzR0xDb250ZXh0LT5jb250ZXh0
KCkpOworICAgICAgICBtX3RleHR1cmVNYXBwZXIgPSBUZXh0dXJlTWFwcGVyR0w6OmNyZWF0ZSgp
OworICAgIH0KKworICAgIG1fcm9vdEdyYXBoaWNzTGF5ZXIgPSBHcmFwaGljc0xheWVyOjpjcmVh
dGUoMCwgMCk7CiAgICAgbV9yb290R3JhcGhpY3NMYXllci0+YWRkQ2hpbGQocm9vdExheWVyKTsK
ICAgICBtX3Jvb3RHcmFwaGljc0xheWVyLT5zZXREcmF3c0NvbnRlbnQoZmFsc2UpOwogICAgIG1f
cm9vdEdyYXBoaWNzTGF5ZXItPnNldE1hc2tzVG9Cb3VuZHMoZmFsc2UpOwotICAgIG1fcm9vdEdy
YXBoaWNzTGF5ZXItPnNldFNpemUoV2ViQ29yZTo6SW50U2l6ZSgxLCAxKSk7CisgICAgbV9yb290
R3JhcGhpY3NMYXllci0+c2V0U2l6ZShJbnRTaXplKDEsIDEpKTsKIAotICAgIG1fdGV4dHVyZU1h
cHBlciA9IFRleHR1cmVNYXBwZXJHTDo6Y3JlYXRlKCk7Ci0gICAgbV9yb290VGV4dHVyZU1hcHBl
ckxheWVyLT5zZXRUZXh0dXJlTWFwcGVyKG1fdGV4dHVyZU1hcHBlci5nZXQoKSk7CisgICAgdG9U
ZXh0dXJlTWFwcGVyTGF5ZXIobV9yb290R3JhcGhpY3NMYXllci5nZXQoKSktPnNldFRleHR1cmVN
YXBwZXIobV90ZXh0dXJlTWFwcGVyLmdldCgpKTsKIAogICAgIG1fcm9vdEdyYXBoaWNzTGF5ZXIt
PmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUZvclRoaXNMYXllck9ubHkoKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdD
b250ZXh0RWZsLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRl
ZENvbXBvc2l0aW5nQ29udGV4dEVmbC5oCmluZGV4IDc1MDdjOTE3ZDYxNThjMmZkZTI0MzI1YWM0
NWQzN2I3OTEyZWExZmYuLmY5YTIwZGEyMmY5MjcxZDE1NmE1ZWFmNmI4YjdjZDM2NTAxNGU5YzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVk
Q29tcG9zaXRpbmdDb250ZXh0RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1
cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwuaApAQCAtMjQsNiArMjQsNyBA
QAogI2luY2x1ZGUgIkV2YXNHTENvbnRleHQuaCIKICNpbmNsdWRlICJFdmFzR0xTdXJmYWNlLmgi
CiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuaCIKKyNpbmNsdWRlICJUaW1lci5o
IgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4K
IApAQCAtNDEsMTAgKzQyLDE1IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5BY2NlbGVyYXRlZENv
bXBvc2l0aW5nQ29udGV4dCgpOwogCiAgICAgYm9vbCByZXNpemUoY29uc3QgSW50U2l6ZSYpOwor
ICAgIHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoR3JhcGhpY3NMYXllciogcm9vdExheWVy
KTsKIAotICAgIHZpcnR1YWwgdm9pZCBzeW5jTGF5ZXJzTm93KCk7Ci0gICAgdmlydHVhbCB2b2lk
IHJlbmRlckxheWVycygpOwotICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hSb290R3JhcGhpY3NMYXll
cihHcmFwaGljc0xheWVyKiByb290TGF5ZXIpOworICAgIHZvaWQgZmx1c2hBbmRSZW5kZXJMYXll
cnMoKTsKKyAgICBib29sIGZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygpOworICAgIHZvaWQgY29t
cG9zaXRlTGF5ZXJzVG9Db250ZXh0KCk7CisKKyAgICBib29sIGVuYWJsZWQoKTsKKworICAgIHZv
aWQgc3luY0xheWVycyhUaW1lcjxBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dD4qKTsKIAog
cHJpdmF0ZToKICAgICBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dCgpOwpAQCAtNTUsNyAr
NjEsNyBAQCBwcml2YXRlOgogCiAgICAgT3duUHRyPFRleHR1cmVNYXBwZXI+IG1fdGV4dHVyZU1h
cHBlcjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8R3JhcGhpY3NMYXllcj4gbV9yb290R3JhcGhpY3NM
YXllcjsKLSAgICBUZXh0dXJlTWFwcGVyTGF5ZXIqIG1fcm9vdFRleHR1cmVNYXBwZXJMYXllcjsK
KyAgICBUaW1lcjxBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dD4gbV9zeW5jVGltZXI7CiAK
ICAgICBPd25QdHI8RXZhc19HTD4gbV9ldmFzR0w7CiAgICAgT3duUHRyPEV2YXNHTENvbnRleHQ+
IG1fZXZhc0dMQ29udGV4dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
dmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCmluZGV4IGExNzM5
YTBkYTQxYTE4YjgxZjYyNTE4YWMzYzIzNzQ4MzEzZjhjZWYuLjAxMzAzNDhmMDRlYTEzYzg3MzVk
MTdkYzUyNjU1Mzk3ODM0Yjk1N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfdmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcApAQCAt
NzQ2LDcgKzc0Niw3IEBAIHN0YXRpYyBFd2tfVmlld19Qcml2YXRlX0RhdGEqIF9ld2tfdmlld19w
cml2X25ldyhFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEpCiAgICAgcGFnZVNldHRpbmdz
LnNldEZ1bGxTY3JlZW5FbmFibGVkKHRydWUpOwogI2VuZGlmCiAgICAgcGFnZVNldHRpbmdzLnNl
dEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKHRydWUpOwotICAgIHBhZ2VTZXR0aW5n
cy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZChmYWxzZSk7CisgICAgcGFnZVNldHRp
bmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKHRydWUpOwogICAgIGNoYXIqIGRl
YnVnVmlzdWFsc0Vudmlyb25tZW50ID0gZ2V0ZW52KCJXRUJLSVRfU0hPV19DT01QT1NJVElOR19E
RUJVR19WSVNVQUxTIik7CiAgICAgYm9vbCBzaG93RGVidWdWaXN1YWxzID0gZGVidWdWaXN1YWxz
RW52aXJvbm1lbnQgJiYgIXN0cmNtcChkZWJ1Z1Zpc3VhbHNFbnZpcm9ubWVudCwgIjEiKTsKICAg
ICBwYWdlU2V0dGluZ3Muc2V0U2hvd0RlYnVnQm9yZGVycyhzaG93RGVidWdWaXN1YWxzKTsKQEAg
LTQ2MzAsMTAgKzQ2MzAsOCBAQCB2b2lkIF9ld2tfdmlld19hY2NlbGVyYXRlZF9jb21wb3NpdGlu
Z19jYih2b2lkKiBkYXRhLCBFdmFzX09iamVjdCopCiB7CiAgICAgRXdrX1ZpZXdfUHJpdmF0ZV9E
YXRhKiBwcml2ID0gc3RhdGljX2Nhc3Q8RXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKj4oZGF0YSk7CiAK
LSAgICBpZiAocHJpdi0+aXNDb21wb3NpdGluZ0FjdGl2ZSkgewotICAgICAgICBwcml2LT5hY2Nl
bGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC0+c3luY0xheWVyc05vdygpOwotICAgICAgICBwcml2
LT5hY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC0+cmVuZGVyTGF5ZXJzKCk7Ci0gICAgfQor
ICAgIGlmIChwcml2LT5pc0NvbXBvc2l0aW5nQWN0aXZlKQorICAgICAgICBwcml2LT5hY2NlbGVy
YXRlZENvbXBvc2l0aW5nQ29udGV4dC0+Zmx1c2hBbmRSZW5kZXJMYXllcnMoKTsKIH0KIAogYm9v
bCBfZXdrX3ZpZXdfYWNjZWxlcmF0ZWRfY29tcG9zaXRpbmdfY29udGV4dF9jcmVhdGVfaWZfbmVl
ZGVkKEV2YXNfT2JqZWN0KiBld2tWaWV3KQpAQCAtNDcxMSw2ICs0NzA5LDE1IEBAIHZvaWQgZXdr
X3ZpZXdfbWFya19mb3Jfc3luYyhFdmFzX09iamVjdCogZXdrVmlldykKICAgICBldmFzX29iamVj
dF9pbWFnZV9waXhlbHNfZGlydHlfc2V0KHByaXYtPmNvbXBvc2l0aW5nT2JqZWN0LmdldCgpLCB0
cnVlKTsKIH0KIAordm9pZCBld2tfdmlld19uYXRpdmVfc3VyZmFjZV9zZXQoRXZhc19PYmplY3Qq
IGV3a1ZpZXcsIEV2YXNfTmF0aXZlX1N1cmZhY2UqIG5hdGl2ZVN1cmZhY2UpCit7CisgICAgRVdL
X1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEpOworICAgIEVXS19WSUVX
X1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYpOworCisgICAgaWYgKHByaXYtPmNv
bXBvc2l0aW5nT2JqZWN0KQorICAgICAgICBldmFzX29iamVjdF9pbWFnZV9uYXRpdmVfc3VyZmFj
ZV9zZXQocHJpdi0+Y29tcG9zaXRpbmdPYmplY3QuZ2V0KCksIG5hdGl2ZVN1cmZhY2UpOworfQor
CiB2b2lkIGV3a192aWV3X2N1cnNvcl9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IFdl
YkNvcmU6OkN1cnNvciYgY3Vyc29yKQogewogICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4o
ZXdrVmlldywgc21hcnREYXRhKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfdmlld19wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfcHJpdmF0
ZS5oCmluZGV4IDQ4N2UyOTIyOWEzNGFkMjBmOGQ3YmIyYWQ0OTdkMzBlYTQzYmRhOTUuLjQ1ODMw
NzgwMjk4MDcwZTZhZjA5ZjJhMzgxNDI1YTY5MDhiODYzYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfdmlld19wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a192aWV3X3ByaXZhdGUuaApAQCAtMTUxLDYgKzE1MSw3IEBAIHZvaWQgZXdrX3ZpZXdf
bWl4ZWRfY29udGVudF9ydW5fc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBib29sIGhhc1J1bik7
CiAKIHZvaWQgZXdrX3ZpZXdfcm9vdF9ncmFwaGljc19sYXllcl9zZXQoRXZhc19PYmplY3QqIGV3
a1ZpZXcsIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqIHJvb3RMYXllcik7CiB2b2lkIGV3a192aWV3
X21hcmtfZm9yX3N5bmMoRXZhc19PYmplY3QqIGV3a1ZpZXcpOwordm9pZCBld2tfdmlld19uYXRp
dmVfc3VyZmFjZV9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV2YXNfTmF0aXZlX1N1cmZhY2Uq
IG5hdGl2ZVN1cmZhY2UpOwogCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogdm9pZCBld2tf
dmlld19mdWxsc2NyZWVuX2VudGVyKGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226490</attachid>
            <date>2014-03-12 03:32:47 -0700</date>
            <delta_ts>2014-03-12 04:24:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130072-20140312193224.patch</filename>
            <type>text/plain</type>
            <size>11986</size>
            <attacher name="Hyowon Kim">hw1008.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1NDMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggZWI3YWI5MmUy
NjU2OWIwNjMwYjU4NWJlODcyODVjNmI2MzAyN2I4Zi4uYTRlOTA5NjJhYzE1M2M1M2M4Y2JhYzk4
MjJjNTVjZGQ2MWU1NWY1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE0
LTAzLTEyICBIeW93b24gS2ltICA8aHcxMDA4LmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXSBSZXZpc2UgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VmbCBpbXBsZW1lbnRhdGlvbi4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMDA3MgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
cmV2aXNlcyB0aGUgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VmbCBjbGFzcyBpbXBsZW1lbnRhdGlv
bgorICAgICAgICBzaW1pbGFyIHdpdGggZ3RrIHBvcnQuCisgICAgICAgIEFuZCBhY2NlbGVyYXRl
ZCBjb21wb3NpdGluZyB3aWxsIGJlIGVuYWJsZWQgYnkgZGVmYXVsdCBvbiBXSzEgZWZsLgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmluaXRpYWxpemUpOgorICAgICAgICAoV2ViQ29yZTo6
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnN5bmNMYXllcnMpOgorICAgICAgICAoV2Vi
Q29yZTo6QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnJlc2l6ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6ZW5hYmxlZCk6CisgICAgICAg
IChXZWJDb3JlOjpBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6Zmx1c2hBbmRSZW5kZXJM
YXllcnMpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6
OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcyk6CisgICAgICAgIChXZWJDb3JlOjpBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nQ29udGV4dDo6Y29tcG9zaXRlTGF5ZXJzVG9Db250ZXh0KToKKyAgICAgICAg
KFdlYkNvcmU6OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjphdHRhY2hSb290R3JhcGhp
Y3NMYXllcik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z0NvbnRleHRFZmwuaDoKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuY3BwOgorICAgICAgICAoX2V3
a192aWV3X3ByaXZfbmV3KToKKyAgICAgICAgKF9ld2tfdmlld19hY2NlbGVyYXRlZF9jb21wb3Np
dGluZ19jYik6CisgICAgICAgIChfZXdrX3ZpZXdfYWNjZWxlcmF0ZWRfY29tcG9zaXRpbmdfY29u
dGV4dF9jcmVhdGVfaWZfbmVlZGVkKToKKwogMjAxNC0wMy0xMCAgSHlvd29uIEtpbSAgPGh3MTAw
OC5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0gTW9kaWZ5IGFjY2VsZXJhdGVkIGNv
bXBvc2l0aW5nIHJlbGF0ZWQgZnVuY3Rpb25zIGluIGV3a192aWV3LgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRl
eHRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0NvbnRleHRFZmwuY3BwCmluZGV4IGFjZDA4ODZjMDdmMTUwOGJmYTQzMDJjNzdk
MWMyYzA5MGVmNjI1NzAuLjkzOGUxYjVkMGYxNjc4YzNlY2M1YWQxMDFhZDViY2JhMDMwMzc0NjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVk
Q29tcG9zaXRpbmdDb250ZXh0RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEVmbC5jcHAKQEAgLTIyLDQxICsy
Miw0MCBAQAogI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKIAogI2luY2x1ZGUgIkFjY2VsZXJh
dGVkQ29tcG9zaXRpbmdDb250ZXh0RWZsLmgiCi0jaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5j
bHVkZSAiR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuaCIKLSNpbmNsdWRlICJIb3N0V2luZG93
LmgiCiAjaW5jbHVkZSAiTWFpbkZyYW1lLmgiCiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlckdMLmgi
CiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlckxheWVyLmgiCiAjaW5jbHVkZSAiZXdrX3ZpZXdfcHJp
dmF0ZS5oIgogCitjb25zdCBkb3VibGUgY29tcG9zaXRpbmdGcmFtZVJhdGUgPSAxLjAgLyA2MC4w
OworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NPd25QdHI8QWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHQ+IEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpjcmVhdGUoSG9zdFdp
bmRvdyogaG9zdFdpbmRvdykKK1Bhc3NPd25QdHI8QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRl
eHQ+IEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpjcmVhdGUoRXZhc19PYmplY3QqIGV3
a1ZpZXcsIEV2YXNfT2JqZWN0KiBjb21wb3NpdGluZ09iamVjdCkKIHsKLSAgICBPd25QdHI8QWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ+IGNvbnRleHQgPSBhZG9wdFB0cihuZXcgQWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0NvbnRleHQpOwotICAgIGlmICghY29udGV4dC0+aW5pdGlhbGl6ZSho
b3N0V2luZG93KSkKKyAgICBPd25QdHI8QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ+IGNv
bnRleHQgPSBhZG9wdFB0cihuZXcgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQoZXdrVmll
dywgY29tcG9zaXRpbmdPYmplY3QpKTsKKyAgICBpZiAoIWNvbnRleHQtPmluaXRpYWxpemUoKSkK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICByZXR1cm4gY29udGV4dC5yZWxlYXNlKCk7
CiB9CiAKLUFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpBY2NlbGVyYXRlZENvbXBvc2l0
aW5nQ29udGV4dCgpCi0gICAgOiBtX3ZpZXcoMCkKLSAgICAsIG1fcm9vdFRleHR1cmVNYXBwZXJM
YXllcigwKQorQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OkFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdDb250ZXh0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFdmFzX09iamVjdCogY29tcG9zaXRp
bmdPYmplY3QpCisgICAgOiBtX3ZpZXcoZXdrVmlldykKKyAgICAsIG1fY29tcG9zaXRpbmdPYmpl
Y3QoY29tcG9zaXRpbmdPYmplY3QpCisgICAgLCBtX3N5bmNUaW1lcih0aGlzLCAmQWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnN5bmNMYXllcnMpCiB7CisgICAgQVNTRVJUKG1fdmlldyk7
CisgICAgQVNTRVJUKG1fY29tcG9zaXRpbmdPYmplY3QpOwogfQogCiBBY2NlbGVyYXRlZENvbXBv
c2l0aW5nQ29udGV4dDo6fkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0KCkKIHsKIH0KIAot
Ym9vbCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6aW5pdGlhbGl6ZShIb3N0V2luZG93
KiBob3N0V2luZG93KQorYm9vbCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6aW5pdGlh
bGl6ZSgpCiB7Ci0gICAgbV92aWV3ID0gaG9zdFdpbmRvdy0+cGxhdGZvcm1QYWdlQ2xpZW50KCk7
Ci0gICAgaWYgKCFtX3ZpZXcpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQogICAgIG1fZXZhc0dM
ID0gYWRvcHRQdHIoZXZhc19nbF9uZXcoZXZhc19vYmplY3RfZXZhc19nZXQobV92aWV3KSkpOwog
ICAgIGlmICghbV9ldmFzR0wpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTc2LDYgKzc1LDEx
IEBAIGJvb2wgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmluaXRpYWxpemUoSG9zdFdp
bmRvdyogaG9zdFdpbmRvdykKICAgICByZXR1cm4gcmVzaXplKHdlYlZpZXdTaXplKTsKIH0KIAor
dm9pZCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6c3luY0xheWVycyhUaW1lcjxBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dD4qKQoreworICAgIGV3a192aWV3X21hcmtfZm9yX3N5
bmMobV92aWV3KTsKK30KKwogYm9vbCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6cmVz
aXplKGNvbnN0IEludFNpemUmIHNpemUpCiB7CiAgICAgc3RhdGljIEV2YXNfR0xfQ29uZmlnIGV2
YXNHTENvbmZpZyA9IHsKQEAgLTkwLDMzICs5NCw2MiBAQCBib29sIEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdDb250ZXh0OjpyZXNpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkKICAgICBpZiAoIW1fZXZh
c0dMU3VyZmFjZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgRXZhc19OYXRpdmVfU3Vy
ZmFjZSBuYXRpdmVTdXJmYWNlOworICAgIGV2YXNfZ2xfbmF0aXZlX3N1cmZhY2VfZ2V0KG1fZXZh
c0dMLmdldCgpLCBtX2V2YXNHTFN1cmZhY2UtPnN1cmZhY2UoKSwgJm5hdGl2ZVN1cmZhY2UpOwor
ICAgIGV2YXNfb2JqZWN0X2ltYWdlX25hdGl2ZV9zdXJmYWNlX3NldChtX2NvbXBvc2l0aW5nT2Jq
ZWN0LCAmbmF0aXZlU3VyZmFjZSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgQWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnN5bmNMYXllcnNOb3coKQorYm9vbCBBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nQ29udGV4dDo6ZW5hYmxlZCgpCiB7Ci0gICAgaWYgKG1fcm9vdEdyYXBoaWNz
TGF5ZXIpCi0gICAgICAgIG1fcm9vdEdyYXBoaWNzTGF5ZXItPmZsdXNoQ29tcG9zaXRpbmdTdGF0
ZUZvclRoaXNMYXllck9ubHkoKTsKLQotICAgIEVXS1ByaXZhdGU6OmNvcmVQYWdlKG1fdmlldykt
Pm1haW5GcmFtZSgpLnZpZXcoKS0+Zmx1c2hDb21wb3NpdGluZ1N0YXRlSW5jbHVkaW5nU3ViZnJh
bWVzKCk7CisgICAgcmV0dXJuIG1fcm9vdEdyYXBoaWNzTGF5ZXIgJiYgbV90ZXh0dXJlTWFwcGVy
OwogfQogCi12b2lkIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpyZW5kZXJMYXllcnMo
KQordm9pZCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6Zmx1c2hBbmRSZW5kZXJMYXll
cnMoKQogewotICAgIGlmICghbV9yb290R3JhcGhpY3NMYXllcikKKyAgICBpZiAoIWVuYWJsZWQo
KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgTWFpbkZyYW1lJiBmcmFtZSA9IEVXS1ByaXZhdGU6
OmNvcmVQYWdlKG1fdmlldyktPm1haW5GcmFtZSgpOworICAgIGlmICghZnJhbWUuY29udGVudFJl
bmRlcmVyKCkgfHwgIWZyYW1lLnZpZXcoKSkKKyAgICAgICAgcmV0dXJuOworICAgIGZyYW1lLnZp
ZXcoKS0+dXBkYXRlTGF5b3V0QW5kU3R5bGVJZk5lZWRlZFJlY3Vyc2l2ZSgpOworCisgICAgaWYg
KCFlbmFibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmICghZXZhc19nbF9tYWtlX2N1
cnJlbnQobV9ldmFzR0wuZ2V0KCksIG1fZXZhc0dMU3VyZmFjZS0+c3VyZmFjZSgpLCBtX2V2YXNH
TENvbnRleHQtPmNvbnRleHQoKSkpCiAgICAgICAgIHJldHVybjsKIAorICAgIGlmICghZmx1c2hQ
ZW5kaW5nTGF5ZXJDaGFuZ2VzKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGNvbXBvc2l0ZUxh
eWVyc1RvQ29udGV4dCgpOworCisgICAgaWYgKHRvVGV4dHVyZU1hcHBlckxheWVyKG1fcm9vdEdy
YXBoaWNzTGF5ZXIuZ2V0KCkpLT5kZXNjZW5kYW50c09yU2VsZkhhdmVSdW5uaW5nQW5pbWF0aW9u
cygpICYmICFtX3N5bmNUaW1lci5pc0FjdGl2ZSgpKQorICAgICAgICBtX3N5bmNUaW1lci5zdGFy
dE9uZVNob3QoY29tcG9zaXRpbmdGcmFtZVJhdGUpOworfQorCitib29sIEFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdDb250ZXh0OjpmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoKQoreworICAgIG1fcm9v
dEdyYXBoaWNzTGF5ZXItPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUZvclRoaXNMYXllck9ubHkoKTsK
KyAgICByZXR1cm4gRVdLUHJpdmF0ZTo6Y29yZVBhZ2UobV92aWV3KS0+bWFpbkZyYW1lKCkudmll
dygpLT5mbHVzaENvbXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJmcmFtZXMoKTsKK30KKwordm9p
ZCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6Y29tcG9zaXRlTGF5ZXJzVG9Db250ZXh0
KCkKK3sKICAgICBFdmFzX0Nvb3JkIHdpZHRoID0gMDsKICAgICBFdmFzX0Nvb3JkIGhlaWdodCA9
IDA7CiAgICAgZXZhc19vYmplY3RfZ2VvbWV0cnlfZ2V0KG1fdmlldywgMCwgMCwgJndpZHRoLCAm
aGVpZ2h0KTsKKwogICAgIGV2YXNfZ2xfYXBpX2dldChtX2V2YXNHTC5nZXQoKSktPmdsVmlld3Bv
cnQoMCwgMCwgd2lkdGgsIGhlaWdodCk7CisgICAgZXZhc19nbF9hcGlfZ2V0KG1fZXZhc0dMLmdl
dCgpKS0+Z2xDbGVhcihHTF9DT0xPUl9CVUZGRVJfQklUKTsKIAogICAgIG1fdGV4dHVyZU1hcHBl
ci0+YmVnaW5QYWludGluZygpOwotICAgIG1fcm9vdFRleHR1cmVNYXBwZXJMYXllci0+cGFpbnQo
KTsKKyAgICBtX3RleHR1cmVNYXBwZXItPmJlZ2luQ2xpcChUcmFuc2Zvcm1hdGlvbk1hdHJpeCgp
LCBGbG9hdFJlY3QoMCwgMCwgd2lkdGgsIGhlaWdodCkpOworICAgIHRvVGV4dHVyZU1hcHBlckxh
eWVyKG1fcm9vdEdyYXBoaWNzTGF5ZXIuZ2V0KCkpLT5wYWludCgpOwogICAgIG1fZnBzQ291bnRl
ci51cGRhdGVGUFNBbmREaXNwbGF5KG1fdGV4dHVyZU1hcHBlci5nZXQoKSk7CisgICAgbV90ZXh0
dXJlTWFwcGVyLT5lbmRDbGlwKCk7CiAgICAgbV90ZXh0dXJlTWFwcGVyLT5lbmRQYWludGluZygp
OwogfQogCkBAIC0xMjQsMTkgKzE1NywyMSBAQCB2b2lkIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdD
b250ZXh0OjphdHRhY2hSb290R3JhcGhpY3NMYXllcihHcmFwaGljc0xheWVyKiByb290TAogewog
ICAgIGlmICghcm9vdExheWVyKSB7CiAgICAgICAgIG1fcm9vdEdyYXBoaWNzTGF5ZXIgPSBudWxs
cHRyOwotICAgICAgICBtX3Jvb3RUZXh0dXJlTWFwcGVyTGF5ZXIgPSAwOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgbV9yb290R3JhcGhpY3NMYXllciA9IFdlYkNvcmU6OkdyYXBoaWNz
TGF5ZXI6OmNyZWF0ZSgwLCAwKTsKLSAgICBtX3Jvb3RUZXh0dXJlTWFwcGVyTGF5ZXIgPSB0b1Rl
eHR1cmVNYXBwZXJMYXllcihtX3Jvb3RHcmFwaGljc0xheWVyLmdldCgpKTsKKyAgICBpZiAoIW1f
dGV4dHVyZU1hcHBlcikgeworICAgICAgICBldmFzX2dsX21ha2VfY3VycmVudChtX2V2YXNHTC5n
ZXQoKSwgbV9ldmFzR0xTdXJmYWNlLT5zdXJmYWNlKCksIG1fZXZhc0dMQ29udGV4dC0+Y29udGV4
dCgpKTsKKyAgICAgICAgbV90ZXh0dXJlTWFwcGVyID0gVGV4dHVyZU1hcHBlckdMOjpjcmVhdGUo
KTsKKyAgICB9CisKKyAgICBtX3Jvb3RHcmFwaGljc0xheWVyID0gR3JhcGhpY3NMYXllcjo6Y3Jl
YXRlKDAsIDApOwogICAgIG1fcm9vdEdyYXBoaWNzTGF5ZXItPmFkZENoaWxkKHJvb3RMYXllcik7
CiAgICAgbV9yb290R3JhcGhpY3NMYXllci0+c2V0RHJhd3NDb250ZW50KGZhbHNlKTsKICAgICBt
X3Jvb3RHcmFwaGljc0xheWVyLT5zZXRNYXNrc1RvQm91bmRzKGZhbHNlKTsKLSAgICBtX3Jvb3RH
cmFwaGljc0xheWVyLT5zZXRTaXplKFdlYkNvcmU6OkludFNpemUoMSwgMSkpOworICAgIG1fcm9v
dEdyYXBoaWNzTGF5ZXItPnNldFNpemUoSW50U2l6ZSgxLCAxKSk7CiAKLSAgICBtX3RleHR1cmVN
YXBwZXIgPSBUZXh0dXJlTWFwcGVyR0w6OmNyZWF0ZSgpOwotICAgIG1fcm9vdFRleHR1cmVNYXBw
ZXJMYXllci0+c2V0VGV4dHVyZU1hcHBlcihtX3RleHR1cmVNYXBwZXIuZ2V0KCkpOworICAgIHRv
VGV4dHVyZU1hcHBlckxheWVyKG1fcm9vdEdyYXBoaWNzTGF5ZXIuZ2V0KCkpLT5zZXRUZXh0dXJl
TWFwcGVyKG1fdGV4dHVyZU1hcHBlci5nZXQoKSk7CiAKICAgICBtX3Jvb3RHcmFwaGljc0xheWVy
LT5mbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzTGF5ZXJPbmx5KCk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5n
Q29udGV4dEVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwuaAppbmRleCA3NTA3YzkxN2Q2MTU4YzJmZGUyNDMyNWFj
NDVkMzdiNzkxMmVhMWZmLi43ZGZhZGNjODYxM2Q1ODBlY2VjMmM2YzMzN2RkNjIxNGY1NmYzMTE2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRl
ZENvbXBvc2l0aW5nQ29udGV4dEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0RWZsLmgKQEAgLTI0LDYgKzI0LDcg
QEAKICNpbmNsdWRlICJFdmFzR0xDb250ZXh0LmgiCiAjaW5jbHVkZSAiRXZhc0dMU3VyZmFjZS5o
IgogI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJGUFNDb3VudGVyLmgiCisjaW5jbHVkZSAiVGltZXIu
aCIKICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+
CiAKQEAgLTM3LDI1ICszOCwzMSBAQCBjbGFzcyBUZXh0dXJlTWFwcGVyTGF5ZXI7CiBjbGFzcyBB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQpOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNz
T3duUHRyPEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0PiBjcmVhdGUoSG9zdFdpbmRvdyop
OworICAgIHN0YXRpYyBQYXNzT3duUHRyPEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0PiBj
cmVhdGUoRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV2YXNfT2JqZWN0KiBjb21wb3NpdGluZ09iamVj
dCk7CiAgICAgdmlydHVhbCB+QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQoKTsKIAogICAg
IGJvb2wgcmVzaXplKGNvbnN0IEludFNpemUmKTsKKyAgICB2b2lkIGF0dGFjaFJvb3RHcmFwaGlj
c0xheWVyKEdyYXBoaWNzTGF5ZXIqIHJvb3RMYXllcik7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc3lu
Y0xheWVyc05vdygpOwotICAgIHZpcnR1YWwgdm9pZCByZW5kZXJMYXllcnMoKTsKLSAgICB2aXJ0
dWFsIHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoR3JhcGhpY3NMYXllciogcm9vdExheWVy
KTsKKyAgICB2b2lkIGZsdXNoQW5kUmVuZGVyTGF5ZXJzKCk7CisgICAgYm9vbCBmbHVzaFBlbmRp
bmdMYXllckNoYW5nZXMoKTsKKyAgICB2b2lkIGNvbXBvc2l0ZUxheWVyc1RvQ29udGV4dCgpOwor
CisgICAgYm9vbCBlbmFibGVkKCk7CisKKyAgICB2b2lkIHN5bmNMYXllcnMoVGltZXI8QWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ+Kik7CiAKIHByaXZhdGU6Ci0gICAgQWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0NvbnRleHQoKTsKKyAgICBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dChF
dmFzX09iamVjdCogZXdrVmlldywgRXZhc19PYmplY3QqIGNvbXBvc2l0aW5nT2JqZWN0KTsKIAot
ICAgIHZpcnR1YWwgYm9vbCBpbml0aWFsaXplKEhvc3RXaW5kb3cqKTsKKyAgICB2aXJ0dWFsIGJv
b2wgaW5pdGlhbGl6ZSgpOwogCiAgICAgRXZhc19PYmplY3QqIG1fdmlldzsKKyAgICBFdmFzX09i
amVjdCogbV9jb21wb3NpdGluZ09iamVjdDsKIAogICAgIE93blB0cjxUZXh0dXJlTWFwcGVyPiBt
X3RleHR1cmVNYXBwZXI7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEdyYXBoaWNzTGF5ZXI+IG1fcm9v
dEdyYXBoaWNzTGF5ZXI7Ci0gICAgVGV4dHVyZU1hcHBlckxheWVyKiBtX3Jvb3RUZXh0dXJlTWFw
cGVyTGF5ZXI7CisgICAgVGltZXI8QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ+IG1fc3lu
Y1RpbWVyOwogCiAgICAgT3duUHRyPEV2YXNfR0w+IG1fZXZhc0dMOwogICAgIE93blB0cjxFdmFz
R0xDb250ZXh0PiBtX2V2YXNHTENvbnRleHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcApp
bmRleCBhMTczOWEwZGE0MWExOGI4MWY2MjUxOGFjM2MyMzc0ODMxM2Y4Y2VmLi4wZTYzNmI4MGNk
N2Y2MzZhNTEwYjExZjZiMDkzNTVjMzljZTZiYjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmll
dy5jcHAKQEAgLTc0Niw3ICs3NDYsNyBAQCBzdGF0aWMgRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKiBf
ZXdrX3ZpZXdfcHJpdl9uZXcoRXdrX1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhKQogICAgIHBh
Z2VTZXR0aW5ncy5zZXRGdWxsU2NyZWVuRW5hYmxlZCh0cnVlKTsKICNlbmRpZgogICAgIHBhZ2VT
ZXR0aW5ncy5zZXRJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZCh0cnVlKTsKLSAgICBw
YWdlU2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoZmFsc2UpOworICAg
IHBhZ2VTZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCh0cnVlKTsKICAg
ICBjaGFyKiBkZWJ1Z1Zpc3VhbHNFbnZpcm9ubWVudCA9IGdldGVudigiV0VCS0lUX1NIT1dfQ09N
UE9TSVRJTkdfREVCVUdfVklTVUFMUyIpOwogICAgIGJvb2wgc2hvd0RlYnVnVmlzdWFscyA9IGRl
YnVnVmlzdWFsc0Vudmlyb25tZW50ICYmICFzdHJjbXAoZGVidWdWaXN1YWxzRW52aXJvbm1lbnQs
ICIxIik7CiAgICAgcGFnZVNldHRpbmdzLnNldFNob3dEZWJ1Z0JvcmRlcnMoc2hvd0RlYnVnVmlz
dWFscyk7CkBAIC00NjMwLDEwICs0NjMwLDggQEAgdm9pZCBfZXdrX3ZpZXdfYWNjZWxlcmF0ZWRf
Y29tcG9zaXRpbmdfY2Iodm9pZCogZGF0YSwgRXZhc19PYmplY3QqKQogewogICAgIEV3a19WaWV3
X1ByaXZhdGVfRGF0YSogcHJpdiA9IHN0YXRpY19jYXN0PEV3a19WaWV3X1ByaXZhdGVfRGF0YSo+
KGRhdGEpOwogCi0gICAgaWYgKHByaXYtPmlzQ29tcG9zaXRpbmdBY3RpdmUpIHsKLSAgICAgICAg
cHJpdi0+YWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQtPnN5bmNMYXllcnNOb3coKTsKLSAg
ICAgICAgcHJpdi0+YWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQtPnJlbmRlckxheWVycygp
OwotICAgIH0KKyAgICBpZiAocHJpdi0+aXNDb21wb3NpdGluZ0FjdGl2ZSkKKyAgICAgICAgcHJp
di0+YWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQtPmZsdXNoQW5kUmVuZGVyTGF5ZXJzKCk7
CiB9CiAKIGJvb2wgX2V3a192aWV3X2FjY2VsZXJhdGVkX2NvbXBvc2l0aW5nX2NvbnRleHRfY3Jl
YXRlX2lmX25lZWRlZChFdmFzX09iamVjdCogZXdrVmlldykKQEAgLTQ2NDIsNyArNDY0MCw3IEBA
IGJvb2wgX2V3a192aWV3X2FjY2VsZXJhdGVkX2NvbXBvc2l0aW5nX2NvbnRleHRfY3JlYXRlX2lm
X25lZWRlZChFdmFzX09iamVjdCogZXdrCiAgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJO
KHNtYXJ0RGF0YSwgcHJpdiwgZmFsc2UpOwogCiAgICAgaWYgKCFwcml2LT5hY2NlbGVyYXRlZENv
bXBvc2l0aW5nQ29udGV4dCkgewotICAgICAgICBwcml2LT5hY2NlbGVyYXRlZENvbXBvc2l0aW5n
Q29udGV4dCA9IFdlYkNvcmU6OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpjcmVhdGUo
JnByaXYtPnBhZ2UtPmNocm9tZSgpKTsKKyAgICAgICAgcHJpdi0+YWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHQgPSBXZWJDb3JlOjpBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6Y3Jl
YXRlKGV3a1ZpZXcsIHByaXYtPmNvbXBvc2l0aW5nT2JqZWN0LmdldCgpKTsKICAgICAgICAgaWYg
KCFwcml2LT5hY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dCkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226494</attachid>
            <date>2014-03-12 04:25:17 -0700</date>
            <delta_ts>2014-03-12 21:47:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130072-20140312202455.patch</filename>
            <type>text/plain</type>
            <size>12209</size>
            <attacher name="Hyowon Kim">hw1008.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1NDMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggZWI3YWI5MmUy
NjU2OWIwNjMwYjU4NWJlODcyODVjNmI2MzAyN2I4Zi4uNjQyOTk5NmVhMWM1MjMyNTc3Mzc4NTQ5
MDBiNmQyMzJlYzg2YTdlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE0
LTAzLTEyICBIeW93b24gS2ltICA8aHcxMDA4LmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXSBSZXZpc2UgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VmbCBpbXBsZW1lbnRhdGlvbi4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMDA3MgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
cmV2aXNlcyB0aGUgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VmbCBjbGFzcyBpbXBsZW1lbnRhdGlv
bgorICAgICAgICBzaW1pbGFyIHdpdGggZ3RrIHBvcnQuCisgICAgICAgIEFuZCBhY2NlbGVyYXRl
ZCBjb21wb3NpdGluZyB3aWxsIGJlIGVuYWJsZWQgYnkgZGVmYXVsdCBvbiBXSzEgZWZsLgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OkFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2VsZXJh
dGVkQ29tcG9zaXRpbmdDb250ZXh0Ojppbml0aWFsaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpzeW5jTGF5ZXJzKToKKyAgICAgICAgKFdlYkNv
cmU6OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpyZXNpemUpOgorICAgICAgICAoV2Vi
Q29yZTo6QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmNhbkNvbXBvc2l0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6Zmx1c2hBbmRSZW5k
ZXJMYXllcnMpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRl
eHQ6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcyk6CisgICAgICAgIChXZWJDb3JlOjpBY2NlbGVy
YXRlZENvbXBvc2l0aW5nQ29udGV4dDo6Y29tcG9zaXRlTGF5ZXJzVG9Db250ZXh0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjphdHRhY2hSb290R3Jh
cGhpY3NMYXllcik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHRFZmwuaDoKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuY3BwOgorICAgICAgICAo
X2V3a192aWV3X3ByaXZfbmV3KToKKyAgICAgICAgKF9ld2tfdmlld19hY2NlbGVyYXRlZF9jb21w
b3NpdGluZ19jYik6CisgICAgICAgIChfZXdrX3ZpZXdfYWNjZWxlcmF0ZWRfY29tcG9zaXRpbmdf
Y29udGV4dF9jcmVhdGVfaWZfbmVlZGVkKToKKwogMjAxNC0wMy0xMCAgSHlvd29uIEtpbSAgPGh3
MTAwOC5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0gTW9kaWZ5IGFjY2VsZXJhdGVk
IGNvbXBvc2l0aW5nIHJlbGF0ZWQgZnVuY3Rpb25zIGluIGV3a192aWV3LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Nv
bnRleHRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwuY3BwCmluZGV4IGFjZDA4ODZjMDdmMTUwOGJmYTQzMDJj
NzdkMWMyYzA5MGVmNjI1NzAuLjFkMDVlNmY3NmQ1NTI5YjFmOWY1ZDBjMmMzZGI0ZWExNzc4MDhi
MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJh
dGVkQ29tcG9zaXRpbmdDb250ZXh0RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEVmbC5jcHAKQEAgLTIyLDQx
ICsyMiwzMSBAQAogI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKIAogI2luY2x1ZGUgIkFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0RWZsLmgiCi0jaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAj
aW5jbHVkZSAiR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuaCIKLSNpbmNsdWRlICJIb3N0V2lu
ZG93LmgiCiAjaW5jbHVkZSAiTWFpbkZyYW1lLmgiCiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlckdM
LmgiCiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlckxheWVyLmgiCiAjaW5jbHVkZSAiZXdrX3ZpZXdf
cHJpdmF0ZS5oIgogCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVBhc3NPd25QdHI8QWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0NvbnRleHQ+IEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpjcmVh
dGUoSG9zdFdpbmRvdyogaG9zdFdpbmRvdykKLXsKLSAgICBPd25QdHI8QWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0NvbnRleHQ+IGNvbnRleHQgPSBhZG9wdFB0cihuZXcgQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHQpOwotICAgIGlmICghY29udGV4dC0+aW5pdGlhbGl6ZShob3N0V2luZG93KSkK
LSAgICAgICAgcmV0dXJuIG51bGxwdHI7Citjb25zdCBkb3VibGUgY29tcG9zaXRpbmdGcmFtZVJh
dGUgPSA2MDsKIAotICAgIHJldHVybiBjb250ZXh0LnJlbGVhc2UoKTsKLX0KK25hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OkFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdDb250ZXh0KCkKLSAgICA6IG1fdmlldygwKQotICAgICwgbV9yb290VGV4dHVyZU1h
cHBlckxheWVyKDApCitBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6QWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0NvbnRleHQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV2YXNfT2JqZWN0KiBjb21w
b3NpdGluZ09iamVjdCkKKyAgICA6IG1fdmlldyhld2tWaWV3KQorICAgICwgbV9jb21wb3NpdGlu
Z09iamVjdChjb21wb3NpdGluZ09iamVjdCkKKyAgICAsIG1fc3luY1RpbWVyKHRoaXMsICZBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6c3luY0xheWVycykKIHsKKyAgICBBU1NFUlQobV92
aWV3KTsKKyAgICBBU1NFUlQobV9jb21wb3NpdGluZ09iamVjdCk7CiB9CiAKIEFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdDb250ZXh0Ojp+QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQoKQogewog
fQogCi1ib29sIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0Ojppbml0aWFsaXplKEhvc3RX
aW5kb3cqIGhvc3RXaW5kb3cpCitib29sIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0Ojpp
bml0aWFsaXplKCkKIHsKLSAgICBtX3ZpZXcgPSBob3N0V2luZG93LT5wbGF0Zm9ybVBhZ2VDbGll
bnQoKTsKLSAgICBpZiAoIW1fdmlldykKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCiAgICAgbV9l
dmFzR0wgPSBhZG9wdFB0cihldmFzX2dsX25ldyhldmFzX29iamVjdF9ldmFzX2dldChtX3ZpZXcp
KSk7CiAgICAgaWYgKCFtX2V2YXNHTCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNzYsNiAr
NjYsMTEgQEAgYm9vbCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6aW5pdGlhbGl6ZShI
b3N0V2luZG93KiBob3N0V2luZG93KQogICAgIHJldHVybiByZXNpemUod2ViVmlld1NpemUpOwog
fQogCit2b2lkIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpzeW5jTGF5ZXJzKFRpbWVy
PEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0PiopCit7CisgICAgZXdrX3ZpZXdfbWFya19m
b3Jfc3luYyhtX3ZpZXcpOworfQorCiBib29sIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0
OjpyZXNpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkKIHsKICAgICBzdGF0aWMgRXZhc19HTF9Db25m
aWcgZXZhc0dMQ29uZmlnID0gewpAQCAtOTAsMzMgKzg1LDYyIEBAIGJvb2wgQWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0NvbnRleHQ6OnJlc2l6ZShjb25zdCBJbnRTaXplJiBzaXplKQogICAgIGlmICgh
bV9ldmFzR0xTdXJmYWNlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBFdmFzX05hdGl2
ZV9TdXJmYWNlIG5hdGl2ZVN1cmZhY2U7CisgICAgZXZhc19nbF9uYXRpdmVfc3VyZmFjZV9nZXQo
bV9ldmFzR0wuZ2V0KCksIG1fZXZhc0dMU3VyZmFjZS0+c3VyZmFjZSgpLCAmbmF0aXZlU3VyZmFj
ZSk7CisgICAgZXZhc19vYmplY3RfaW1hZ2VfbmF0aXZlX3N1cmZhY2Vfc2V0KG1fY29tcG9zaXRp
bmdPYmplY3QsICZuYXRpdmVTdXJmYWNlKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6c3luY0xheWVyc05vdygpCitib29sIEFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpjYW5Db21wb3NpdGUoKQogewotICAgIGlmIChtX3Jv
b3RHcmFwaGljc0xheWVyKQotICAgICAgICBtX3Jvb3RHcmFwaGljc0xheWVyLT5mbHVzaENvbXBv
c2l0aW5nU3RhdGVGb3JUaGlzTGF5ZXJPbmx5KCk7Ci0KLSAgICBFV0tQcml2YXRlOjpjb3JlUGFn
ZShtX3ZpZXcpLT5tYWluRnJhbWUoKS52aWV3KCktPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUluY2x1
ZGluZ1N1YmZyYW1lcygpOworICAgIHJldHVybiBtX3Jvb3RHcmFwaGljc0xheWVyICYmIG1fdGV4
dHVyZU1hcHBlcjsKIH0KIAotdm9pZCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6cmVu
ZGVyTGF5ZXJzKCkKK3ZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmZsdXNoQW5k
UmVuZGVyTGF5ZXJzKCkKIHsKLSAgICBpZiAoIW1fcm9vdEdyYXBoaWNzTGF5ZXIpCisgICAgaWYg
KCFjYW5Db21wb3NpdGUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgTWFpbkZyYW1lJiBmcmFt
ZSA9IEVXS1ByaXZhdGU6OmNvcmVQYWdlKG1fdmlldyktPm1haW5GcmFtZSgpOworICAgIGlmICgh
ZnJhbWUuY29udGVudFJlbmRlcmVyKCkgfHwgIWZyYW1lLnZpZXcoKSkKKyAgICAgICAgcmV0dXJu
OworICAgIGZyYW1lLnZpZXcoKS0+dXBkYXRlTGF5b3V0QW5kU3R5bGVJZk5lZWRlZFJlY3Vyc2l2
ZSgpOworCisgICAgaWYgKCFjYW5Db21wb3NpdGUoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
aWYgKCFldmFzX2dsX21ha2VfY3VycmVudChtX2V2YXNHTC5nZXQoKSwgbV9ldmFzR0xTdXJmYWNl
LT5zdXJmYWNlKCksIG1fZXZhc0dMQ29udGV4dC0+Y29udGV4dCgpKSkKICAgICAgICAgcmV0dXJu
OwogCisgICAgaWYgKCFmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoKSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgY29tcG9zaXRlTGF5ZXJzVG9Db250ZXh0KCk7CisKKyAgICBpZiAodG9UZXh0dXJl
TWFwcGVyTGF5ZXIobV9yb290R3JhcGhpY3NMYXllci5nZXQoKSktPmRlc2NlbmRhbnRzT3JTZWxm
SGF2ZVJ1bm5pbmdBbmltYXRpb25zKCkgJiYgIW1fc3luY1RpbWVyLmlzQWN0aXZlKCkpCisgICAg
ICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdCgxIC8gY29tcG9zaXRpbmdGcmFtZVJhdGUpOwor
fQorCitib29sIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpmbHVzaFBlbmRpbmdMYXll
ckNoYW5nZXMoKQoreworICAgIG1fcm9vdEdyYXBoaWNzTGF5ZXItPmZsdXNoQ29tcG9zaXRpbmdT
dGF0ZUZvclRoaXNMYXllck9ubHkoKTsKKyAgICByZXR1cm4gRVdLUHJpdmF0ZTo6Y29yZVBhZ2Uo
bV92aWV3KS0+bWFpbkZyYW1lKCkudmlldygpLT5mbHVzaENvbXBvc2l0aW5nU3RhdGVJbmNsdWRp
bmdTdWJmcmFtZXMoKTsKK30KKwordm9pZCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6
Y29tcG9zaXRlTGF5ZXJzVG9Db250ZXh0KCkKK3sKICAgICBFdmFzX0Nvb3JkIHdpZHRoID0gMDsK
ICAgICBFdmFzX0Nvb3JkIGhlaWdodCA9IDA7CiAgICAgZXZhc19vYmplY3RfZ2VvbWV0cnlfZ2V0
KG1fdmlldywgMCwgMCwgJndpZHRoLCAmaGVpZ2h0KTsKKwogICAgIGV2YXNfZ2xfYXBpX2dldCht
X2V2YXNHTC5nZXQoKSktPmdsVmlld3BvcnQoMCwgMCwgd2lkdGgsIGhlaWdodCk7CisgICAgZXZh
c19nbF9hcGlfZ2V0KG1fZXZhc0dMLmdldCgpKS0+Z2xDbGVhcihHTF9DT0xPUl9CVUZGRVJfQklU
KTsKIAogICAgIG1fdGV4dHVyZU1hcHBlci0+YmVnaW5QYWludGluZygpOwotICAgIG1fcm9vdFRl
eHR1cmVNYXBwZXJMYXllci0+cGFpbnQoKTsKKyAgICBtX3RleHR1cmVNYXBwZXItPmJlZ2luQ2xp
cChUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCBGbG9hdFJlY3QoMCwgMCwgd2lkdGgsIGhlaWdodCkp
OworICAgIHRvVGV4dHVyZU1hcHBlckxheWVyKG1fcm9vdEdyYXBoaWNzTGF5ZXIuZ2V0KCkpLT5w
YWludCgpOwogICAgIG1fZnBzQ291bnRlci51cGRhdGVGUFNBbmREaXNwbGF5KG1fdGV4dHVyZU1h
cHBlci5nZXQoKSk7CisgICAgbV90ZXh0dXJlTWFwcGVyLT5lbmRDbGlwKCk7CiAgICAgbV90ZXh0
dXJlTWFwcGVyLT5lbmRQYWludGluZygpOwogfQogCkBAIC0xMjQsMTkgKzE0OCwyMSBAQCB2b2lk
IEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjphdHRhY2hSb290R3JhcGhpY3NMYXllcihH
cmFwaGljc0xheWVyKiByb290TAogewogICAgIGlmICghcm9vdExheWVyKSB7CiAgICAgICAgIG1f
cm9vdEdyYXBoaWNzTGF5ZXIgPSBudWxscHRyOwotICAgICAgICBtX3Jvb3RUZXh0dXJlTWFwcGVy
TGF5ZXIgPSAwOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgbV9yb290R3JhcGhpY3NM
YXllciA9IFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OmNyZWF0ZSgwLCAwKTsKLSAgICBtX3Jvb3RU
ZXh0dXJlTWFwcGVyTGF5ZXIgPSB0b1RleHR1cmVNYXBwZXJMYXllcihtX3Jvb3RHcmFwaGljc0xh
eWVyLmdldCgpKTsKKyAgICBpZiAoIW1fdGV4dHVyZU1hcHBlcikgeworICAgICAgICBldmFzX2ds
X21ha2VfY3VycmVudChtX2V2YXNHTC5nZXQoKSwgbV9ldmFzR0xTdXJmYWNlLT5zdXJmYWNlKCks
IG1fZXZhc0dMQ29udGV4dC0+Y29udGV4dCgpKTsKKyAgICAgICAgbV90ZXh0dXJlTWFwcGVyID0g
VGV4dHVyZU1hcHBlckdMOjpjcmVhdGUoKTsKKyAgICB9CisKKyAgICBtX3Jvb3RHcmFwaGljc0xh
eWVyID0gR3JhcGhpY3NMYXllcjo6Y3JlYXRlKDAsIDApOwogICAgIG1fcm9vdEdyYXBoaWNzTGF5
ZXItPmFkZENoaWxkKHJvb3RMYXllcik7CiAgICAgbV9yb290R3JhcGhpY3NMYXllci0+c2V0RHJh
d3NDb250ZW50KGZhbHNlKTsKICAgICBtX3Jvb3RHcmFwaGljc0xheWVyLT5zZXRNYXNrc1RvQm91
bmRzKGZhbHNlKTsKLSAgICBtX3Jvb3RHcmFwaGljc0xheWVyLT5zZXRTaXplKFdlYkNvcmU6Oklu
dFNpemUoMSwgMSkpOworICAgIG1fcm9vdEdyYXBoaWNzTGF5ZXItPnNldFNpemUoSW50U2l6ZSgx
LCAxKSk7CiAKLSAgICBtX3RleHR1cmVNYXBwZXIgPSBUZXh0dXJlTWFwcGVyR0w6OmNyZWF0ZSgp
OwotICAgIG1fcm9vdFRleHR1cmVNYXBwZXJMYXllci0+c2V0VGV4dHVyZU1hcHBlcihtX3RleHR1
cmVNYXBwZXIuZ2V0KCkpOworICAgIHRvVGV4dHVyZU1hcHBlckxheWVyKG1fcm9vdEdyYXBoaWNz
TGF5ZXIuZ2V0KCkpLT5zZXRUZXh0dXJlTWFwcGVyKG1fdGV4dHVyZU1hcHBlci5nZXQoKSk7CiAK
ICAgICBtX3Jvb3RHcmFwaGljc0xheWVyLT5mbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzTGF5
ZXJPbmx5KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwuaAppbmRleCA3
NTA3YzkxN2Q2MTU4YzJmZGUyNDMyNWFjNDVkMzdiNzkxMmVhMWZmLi45M2E3MjdhMDljNDhiMjAw
ZGY2MTU2MTE2YjJkNWZlOGVjZjQ5ZDc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9X
ZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEVmbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250
ZXh0RWZsLmgKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlICJFdmFzR0xDb250ZXh0LmgiCiAj
aW5jbHVkZSAiRXZhc0dMU3VyZmFjZS5oIgogI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJGUFNDb3Vu
dGVyLmgiCisjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKQEAgLTM3LDI1ICszOCwyOSBAQCBjbGFzcyBUZXh0
dXJlTWFwcGVyTGF5ZXI7CiBjbGFzcyBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dCB7CiAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQpOwog
cHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250
ZXh0PiBjcmVhdGUoSG9zdFdpbmRvdyopOwotICAgIHZpcnR1YWwgfkFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdDb250ZXh0KCk7CisgICAgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQoRXZhc19P
YmplY3QqIGV3a1ZpZXcsIEV2YXNfT2JqZWN0KiBjb21wb3NpdGluZ09iamVjdCk7CisgICAgfkFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0KCk7CisKKyAgICBib29sIGluaXRpYWxpemUoKTsK
IAogICAgIGJvb2wgcmVzaXplKGNvbnN0IEludFNpemUmKTsKKyAgICB2b2lkIGF0dGFjaFJvb3RH
cmFwaGljc0xheWVyKEdyYXBoaWNzTGF5ZXIqIHJvb3RMYXllcik7CiAKLSAgICB2aXJ0dWFsIHZv
aWQgc3luY0xheWVyc05vdygpOwotICAgIHZpcnR1YWwgdm9pZCByZW5kZXJMYXllcnMoKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoR3JhcGhpY3NMYXllciogcm9v
dExheWVyKTsKKyAgICB2b2lkIGZsdXNoQW5kUmVuZGVyTGF5ZXJzKCk7CisgICAgYm9vbCBmbHVz
aFBlbmRpbmdMYXllckNoYW5nZXMoKTsKKyAgICB2b2lkIGNvbXBvc2l0ZUxheWVyc1RvQ29udGV4
dCgpOwogCi1wcml2YXRlOgotICAgIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0KCk7Cisg
ICAgYm9vbCBjYW5Db21wb3NpdGUoKTsKIAotICAgIHZpcnR1YWwgYm9vbCBpbml0aWFsaXplKEhv
c3RXaW5kb3cqKTsKKyAgICB2b2lkIHN5bmNMYXllcnMoVGltZXI8QWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHQ+Kik7CiAKK3ByaXZhdGU6CiAgICAgRXZhc19PYmplY3QqIG1fdmlldzsKKyAg
ICBFdmFzX09iamVjdCogbV9jb21wb3NpdGluZ09iamVjdDsKIAogICAgIE93blB0cjxUZXh0dXJl
TWFwcGVyPiBtX3RleHR1cmVNYXBwZXI7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEdyYXBoaWNzTGF5
ZXI+IG1fcm9vdEdyYXBoaWNzTGF5ZXI7Ci0gICAgVGV4dHVyZU1hcHBlckxheWVyKiBtX3Jvb3RU
ZXh0dXJlTWFwcGVyTGF5ZXI7CisgICAgVGltZXI8QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRl
eHQ+IG1fc3luY1RpbWVyOwogCiAgICAgT3duUHRyPEV2YXNfR0w+IG1fZXZhc0dMOwogICAgIE93
blB0cjxFdmFzR0xDb250ZXh0PiBtX2V2YXNHTENvbnRleHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192
aWV3LmNwcAppbmRleCBhMTczOWEwZGE0MWExOGI4MWY2MjUxOGFjM2MyMzc0ODMxM2Y4Y2VmLi45
OTk3MGVjYzZkNTBjNzJlM2VkNWRhZThjZTg4MDU5MzQwNjMyZjlhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfdmlldy5jcHAKQEAgLTI1NCw3ICsyNTQsNyBAQCBzdHJ1Y3QgX0V3a19WaWV3X1ByaXZh
dGVfRGF0YSB7CiAgICAgT3duUHRyPFdlYkNvcmU6OlBhZ2U+IHBhZ2U7CiAgICAgV2ViQ29yZTo6
Vmlld3BvcnRBcmd1bWVudHMgdmlld3BvcnRBcmd1bWVudHM7CiAgICAgRXdrX0hpc3RvcnkqIGhp
c3Rvcnk7Ci0gICAgT3duUHRyPFdlYkNvcmU6OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0
PiBhY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V2Vi
Q29yZTo6QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ+IGFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdDb250ZXh0OwogICAgIGJvb2wgaXNDb21wb3NpdGluZ0FjdGl2ZTsKICAgICBSZWZQdHI8RXZh
c19PYmplY3Q+IGNvbXBvc2l0aW5nT2JqZWN0OwogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9S
KQpAQCAtNzQ2LDcgKzc0Niw3IEBAIHN0YXRpYyBFd2tfVmlld19Qcml2YXRlX0RhdGEqIF9ld2tf
dmlld19wcml2X25ldyhFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEpCiAgICAgcGFnZVNl
dHRpbmdzLnNldEZ1bGxTY3JlZW5FbmFibGVkKHRydWUpOwogI2VuZGlmCiAgICAgcGFnZVNldHRp
bmdzLnNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKHRydWUpOwotICAgIHBhZ2VT
ZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZChmYWxzZSk7CisgICAgcGFn
ZVNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKHRydWUpOwogICAgIGNo
YXIqIGRlYnVnVmlzdWFsc0Vudmlyb25tZW50ID0gZ2V0ZW52KCJXRUJLSVRfU0hPV19DT01QT1NJ
VElOR19ERUJVR19WSVNVQUxTIik7CiAgICAgYm9vbCBzaG93RGVidWdWaXN1YWxzID0gZGVidWdW
aXN1YWxzRW52aXJvbm1lbnQgJiYgIXN0cmNtcChkZWJ1Z1Zpc3VhbHNFbnZpcm9ubWVudCwgIjEi
KTsKICAgICBwYWdlU2V0dGluZ3Muc2V0U2hvd0RlYnVnQm9yZGVycyhzaG93RGVidWdWaXN1YWxz
KTsKQEAgLTQ2MzAsMTAgKzQ2MzAsOCBAQCB2b2lkIF9ld2tfdmlld19hY2NlbGVyYXRlZF9jb21w
b3NpdGluZ19jYih2b2lkKiBkYXRhLCBFdmFzX09iamVjdCopCiB7CiAgICAgRXdrX1ZpZXdfUHJp
dmF0ZV9EYXRhKiBwcml2ID0gc3RhdGljX2Nhc3Q8RXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKj4oZGF0
YSk7CiAKLSAgICBpZiAocHJpdi0+aXNDb21wb3NpdGluZ0FjdGl2ZSkgewotICAgICAgICBwcml2
LT5hY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC0+c3luY0xheWVyc05vdygpOwotICAgICAg
ICBwcml2LT5hY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC0+cmVuZGVyTGF5ZXJzKCk7Ci0g
ICAgfQorICAgIGlmIChwcml2LT5pc0NvbXBvc2l0aW5nQWN0aXZlKQorICAgICAgICBwcml2LT5h
Y2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC0+Zmx1c2hBbmRSZW5kZXJMYXllcnMoKTsKIH0K
IAogYm9vbCBfZXdrX3ZpZXdfYWNjZWxlcmF0ZWRfY29tcG9zaXRpbmdfY29udGV4dF9jcmVhdGVf
aWZfbmVlZGVkKEV2YXNfT2JqZWN0KiBld2tWaWV3KQpAQCAtNDY0Miw5ICs0NjQwLDExIEBAIGJv
b2wgX2V3a192aWV3X2FjY2VsZXJhdGVkX2NvbXBvc2l0aW5nX2NvbnRleHRfY3JlYXRlX2lmX25l
ZWRlZChFdmFzX09iamVjdCogZXdrCiAgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNt
YXJ0RGF0YSwgcHJpdiwgZmFsc2UpOwogCiAgICAgaWYgKCFwcml2LT5hY2NlbGVyYXRlZENvbXBv
c2l0aW5nQ29udGV4dCkgewotICAgICAgICBwcml2LT5hY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29u
dGV4dCA9IFdlYkNvcmU6OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpjcmVhdGUoJnBy
aXYtPnBhZ2UtPmNocm9tZSgpKTsKLSAgICAgICAgaWYgKCFwcml2LT5hY2NlbGVyYXRlZENvbXBv
c2l0aW5nQ29udGV4dCkKKyAgICAgICAgcHJpdi0+YWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRl
eHQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYkNvcmU6OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250
ZXh0Pihld2tWaWV3LCBwcml2LT5jb21wb3NpdGluZ09iamVjdC5nZXQoKSk7CisgICAgICAgIGlm
ICghcHJpdi0+YWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQtPmluaXRpYWxpemUoKSkgewor
ICAgICAgICAgICAgcHJpdi0+YWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQgPSBudWxscHRy
OwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAgICAgfQogICAgIHJldHVy
biB0cnVlOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>