<?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>140897</bug_id>
          
          <creation_ts>2015-01-26 12:51:35 -0800</creation_ts>
          <short_desc>Prevent flicker when exiting fullscreen by synchronizing transactions.</short_desc>
          <delta_ts>2015-02-03 15:41:56 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jeremy Jones">jeremyj-wk</reporter>
          <assigned_to name="Jeremy Jones">jeremyj-wk</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1064228</commentid>
    <comment_count>0</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2015-01-26 12:51:35 -0800</bug_when>
    <thetext>Prevent flicker when exiting fullscreen by synchronizing transactions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1064235</commentid>
    <comment_count>1</comment_count>
      <attachid>245368</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2015-01-26 12:57:55 -0800</bug_when>
    <thetext>Created attachment 245368
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065324</commentid>
    <comment_count>2</comment_count>
      <attachid>245642</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2015-01-29 12:59:36 -0800</bug_when>
    <thetext>Created attachment 245642
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065666</commentid>
    <comment_count>3</comment_count>
      <attachid>245642</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-01-30 15:01:39 -0800</bug_when>
    <thetext>Comment on attachment 245642
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Synchronize across CAContexts when moving the video layer between layer hierarcies.

spelling &quot;hierarchies&quot;

&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:1063
&gt; +    for (CAContext* context in [CAContext allContexts]) {

star&apos;s on the wrong side

&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:1064
&gt; +        if (!fencePort)

I&apos;m not sure it&apos;s appropriate to fence all CAContexts, is it? We really just want to hit WebKit&apos;s and the remote layer&apos;s, right?
Also, is the UIProcess&apos; context really accessible from here? That seems vaguely surprising.

&gt; Source/WebCore/platform/spi/cocoa/QuartzCoreSPI.h:60
&gt; ++ (NSArray*)allContexts;

star&apos;s on the wrong side</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065667</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-01-30 15:02:10 -0800</bug_when>
    <thetext>Oh, maybe you&apos;re synchronizing between two WebProcess-owned video-hosting CAContexts? In that case, can&apos;t you just hit both of them?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066170</commentid>
    <comment_count>5</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2015-02-02 11:52:57 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 245642 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=245642&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:8
&gt; &gt; +        Synchronize across CAContexts when moving the video layer between layer hierarcies.
&gt; 
&gt; spelling &quot;hierarchies&quot;

Fixed.

&gt; 
&gt; &gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:1063
&gt; &gt; +    for (CAContext* context in [CAContext allContexts]) {
&gt; 
&gt; star&apos;s on the wrong side

Fixed.

&gt; 
&gt; &gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:1064
&gt; &gt; +        if (!fencePort)
&gt; 
&gt; I&apos;m not sure it&apos;s appropriate to fence all CAContexts, is it? We really just
&gt; want to hit WebKit&apos;s and the remote layer&apos;s, right?
&gt; Also, is the UIProcess&apos; context really accessible from here? That seems
&gt; vaguely surprising.

Now finds the root layer and and compares that against the CAContext&apos;s layer to make sure it fences necessary CAContexts.

&gt; 
&gt; &gt; Source/WebCore/platform/spi/cocoa/QuartzCoreSPI.h:60
&gt; &gt; ++ (NSArray*)allContexts;
&gt; 
&gt; star&apos;s on the wrong side

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066172</commentid>
    <comment_count>6</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2015-02-02 11:54:00 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Oh, maybe you&apos;re synchronizing between two WebProcess-owned video-hosting
&gt; CAContexts? In that case, can&apos;t you just hit both of them?

Exactly. There isn&apos;t a good way to go from CALayer to CAContext, so it now tries to match the root layer against the CAContext&apos;s layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066174</commentid>
    <comment_count>7</comment_count>
      <attachid>245891</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2015-02-02 11:57:13 -0800</bug_when>
    <thetext>Created attachment 245891
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066187</commentid>
    <comment_count>8</comment_count>
      <attachid>245891</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-02-02 12:23:40 -0800</bug_when>
    <thetext>Comment on attachment 245891
Patch

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

&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:1066
&gt; +        newRootLayer = m_videoInlineLayer.get();

It&apos;s too bad you don&apos;t have the PlatformCALayer(Remote) here and can&apos;t acquire the contexts directly from those. Is it possible to make that happen? It would be much prettier than this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066575</commentid>
    <comment_count>9</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2015-02-03 14:58:18 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Comment on attachment 245891 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=245891&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:1066
&gt; &gt; +        newRootLayer = m_videoInlineLayer.get();
&gt; 
&gt; It&apos;s too bad you don&apos;t have the PlatformCALayer(Remote) here and can&apos;t
&gt; acquire the contexts directly from those. Is it possible to make that
&gt; happen? It would be much prettier than this.

Agree, but I can&apos;t think of an elegant way to get the appropriate contexts down to this layer. I&apos;ll file another bug to investigate that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066611</commentid>
    <comment_count>10</comment_count>
      <attachid>245891</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-03 15:41:53 -0800</bug_when>
    <thetext>Comment on attachment 245891
Patch

Clearing flags on attachment: 245891

Committed r179574: &lt;http://trac.webkit.org/changeset/179574&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066612</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-03 15:41:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245368</attachid>
            <date>2015-01-26 12:57:55 -0800</date>
            <delta_ts>2015-01-29 12:59:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140897-20150126125758.patch</filename>
            <type>text/plain</type>
            <size>4754</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NjczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmIxYzdkMGFmZTVlMTI4
Mzk3NDg2NWVmMWZhYzZhYjYwZDJlN2YxYi4uZDRlYWIxMDM1NTRmOTZmMzk0NzllYWI3MzA4ODFl
OTI3Zjg0MzFjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE1LTAxLTI2ICBKZXJl
bXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKworICAgICAgICBQcmV2ZW50IGZsaWNrZXIg
d2hlbiBleGl0aW5nIGZ1bGxzY3JlZW4gYnkgc3luY2hyb25pemluZyB0cmFuc2FjdGlvbnMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4OTcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTeW5jaHJvbml6
ZSBhY3Jvc3MgQ0FDb250ZXh0cyB3aGVuIG1vdmluZyB0aGUgdmlkZW8gbGF5ZXIgYmV0d2VlbiBs
YXllciBoaWVyYXJjaWVzLgorICAgICAgICBOb3JtYWxseSB0cmFuc2FjdGlvbnMgaW52b2x2aW5n
IG11bHRpcGxlIENBQ29udGV4dHMgYXJlIG5vdCBzeW5jaHJvbml6ZWQuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uT2JqQzo6c2V0VmlkZW9GdWxsc2NyZWVuTGF5ZXIpOgorICAgICAgICAqIHBsYXRm
b3JtL3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmg6IGFkZCBhZGRpdGlvbmFsIENBQ29udGV4dCBT
UEkgZGVjbGFyYXRpb25zLgorCiAyMDE1LTAxLTE5ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFw
cGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxNzgyNTApOiB+MiUgUExUIHJlZ3Jlc3Np
b24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwppbmRleCAyOTVhMjljMzcxZDY2NTVlYmQ3MDhmNzU0MzAzMGRkZDg3N2Y4NzBk
Li40NWNkZmNlZDRlYjRiMzZhYTBiYTZhMzU4ZjgxYjc2YzkyY2JkNWM1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTUtMDEtMjYgIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUu
Y29tPgorCisgICAgICAgIFByZXZlbnQgZmxpY2tlciB3aGVuIGV4aXRpbmcgZnVsbHNjcmVlbiBi
eSBzeW5jaHJvbml6aW5nIHRyYW5zYWN0aW9ucy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEZsdXNoIHRyYW5zYWN0aW9ucyBiZWZvcmUgcmVtb3Zpbmcg
bGF5ZXJIb3N0LiBUaGlzIGFsbG93cyBleGlzdGluZyB0cmFuc2FjdGlvbnMgdG8gYmUgY29tcGxl
dGVkIGJlZm9yZSB0aGUgaG9zdGluZyBsYXllciBkaXNhcHBlYXJzLgorCisgICAgICAgICogVUlQ
cm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW06CisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6ZGlkQ2xlYW51cEZ1bGxzY3Jl
ZW4pOgorCiAyMDE1LTAxLTE5ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4K
IAogICAgICAgICBbQ29vcmRpbmF0ZWRHcmFwaGljc10gVXNlIEMrKyBsYW1iZGEgaW5zdGVhZCBv
ZiBXVEY6OmJpbmQoKSBpbiBUaHJlYWRlZENvbXBvc2l0b3I6OnVwZGF0ZVNjZW5lU3RhdGUoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbk9iakMubW0KaW5kZXggZjc3MDBmNjVlYWQ4MTI3MzgzODk2ZjVmMWQ0NWYz
NjIyMGI4NTk0MC4uN2FmNTBlMjdiMjVlMGUwMzZlZWNmOGZlYjg5ZGQ1Y2MyMjU5MjEwZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDLm1tCkBAIC00OSw2ICs0OSw3IEBACiAjaW1wb3J0ICJNZWRpYVNl
bGVjdGlvbkdyb3VwQVZGT2JqQy5oIgogI2ltcG9ydCAiTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmgi
CiAjaW1wb3J0ICJQbGF0Zm9ybVRpbWVSYW5nZXMuaCIKKyNpbXBvcnQgIlF1YXJ0ekNvcmVTUEku
aCIKICNpbXBvcnQgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW1wb3J0ICJTZXJpYWxpemVkUGxhdGZv
cm1SZXByZXNlbnRhdGlvbk1hYy5oIgogI2ltcG9ydCAiU29mdExpbmtpbmcuaCIKQEAgLTEwNTcs
NiArMTA1OCwxNSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnNl
dFZpZGVvRnVsbHNjcmVlbkxheWVyKFBsYXRmb3JtTGF5ZXIqCiAgICAgfSBlbHNlIGlmIChtX3Zp
ZGVvTGF5ZXIpCiAgICAgICAgIFttX3ZpZGVvTGF5ZXIgcmVtb3ZlRnJvbVN1cGVybGF5ZXJdOwog
CisgICAgbWFjaF9wb3J0X3QgZmVuY2VQb3J0ID0gMDsKKyAgICBmb3IgKENBQ29udGV4dCogY29u
dGV4dCBpbiBbQ0FDb250ZXh0IGFsbENvbnRleHRzXSkgeworICAgICAgICBpZiAoIWZlbmNlUG9y
dCkKKyAgICAgICAgICAgIGZlbmNlUG9ydCA9IFtjb250ZXh0IGNyZWF0ZUZlbmNlUG9ydF07Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgIFtjb250ZXh0IHNldEZlbmNlUG9ydDpmZW5jZVBvcnRd
OworICAgIH0KKyAgICBtYWNoX3BvcnRfZGVhbGxvY2F0ZShtYWNoX3Rhc2tfc2VsZigpLCBmZW5j
ZVBvcnQpOworCiAgICAgW0NBVHJhbnNhY3Rpb24gY29tbWl0XTsKIAogICAgIGlmIChtX3ZpZGVv
RnVsbHNjcmVlbkxheWVyICYmIG1fdGV4dFRyYWNrUmVwcmVzZW50YXRpb25MYXllcikgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEku
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmgKaW5k
ZXggNzhkODk0MTI3M2VlOGZjZmQ2NzY4NzQ5MGJiY2Q1MDAxZmM4MmFhYS4uOGQ3NWI1MWJmNzli
YmU5MmEwMGY0MTkwMDQ0MmQxMzU0YWZmYTQ3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9zcGkvY29jb2EvUXVhcnR6Q29yZVNQSS5oCkBAIC01NywxMSArNTcsMTMgQEAgZXh0
ZXJuICJDIiB7CiBAZW5kCiAKIEBpbnRlcmZhY2UgQ0FDb250ZXh0IChEZXRhaWxzKQorKyAoTlNB
cnJheSopYWxsQ29udGV4dHM7CiArIChDQUNvbnRleHQgKilyZW1vdGVDb250ZXh0V2l0aE9wdGlv
bnM6KE5TRGljdGlvbmFyeSAqKWRpY3Q7CiArIChpZClvYmplY3RGb3JTbG90Oih1aW50MzJfdClu
YW1lOwogLSAodWludDMyX3QpY3JlYXRlSW1hZ2VTbG90OihDR1NpemUpc2l6ZSBoYXNBbHBoYToo
Qk9PTClmbGFnOwogLSAodm9pZClkZWxldGVTbG90Oih1aW50MzJfdCluYW1lOwogLSAodm9pZClp
bnZhbGlkYXRlOworLSAobWFjaF9wb3J0X3QpY3JlYXRlRmVuY2VQb3J0OwogLSAodm9pZClzZXRG
ZW5jZVBvcnQ6KG1hY2hfcG9ydF90KXBvcnQ7CiBAcHJvcGVydHkgKHJlYWRvbmx5KSB1aW50MzJf
dCBjb250ZXh0SWQ7CiBAcHJvcGVydHkgKHN0cm9uZykgQ0FMYXllciAqbGF5ZXI7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXJQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2Ny
ZWVuTWFuYWdlclByb3h5Lm1tCmluZGV4IDUzZGRkMDExZDU4OTkxMTgwYWRhNTdkY2Q3NjJhYjY0
YTYwYjdlZDIuLmNlNWZkMThhNmNiNWM4ZTIyNmMwY2FkZmQ4MmZlMjE5ZTVlMjkzMWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFu
YWdlclByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9G
dWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCkBAIC0xMzgsNiArMTM4LDcgQEAgdm9pZCBXZWJWaWRl
b0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OmRpZEV4aXRGdWxsc2NyZWVuKCkKICAgICAKIHZvaWQg
V2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpkaWRDbGVhbnVwRnVsbHNjcmVlbigpCiB7
CisgICAgW0NBVHJhbnNhY3Rpb24gZmx1c2hdOwogICAgIFttX2xheWVySG9zdCByZW1vdmVGcm9t
U3VwZXJsYXllcl07CiAgICAgbV9sYXllckhvc3QuY2xlYXIoKTsKICAgICBtX3BhZ2UtPnNlbmQo
TWVzc2FnZXM6OldlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXI6OkRpZENsZWFudXBGdWxsc2NyZWVu
KCksIG1fcGFnZS0+cGFnZUlEKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245642</attachid>
            <date>2015-01-29 12:59:36 -0800</date>
            <delta_ts>2015-02-02 11:57:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140897-20150129125942.patch</filename>
            <type>text/plain</type>
            <size>4956</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NjczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmIxYzdkMGFmZTVlMTI4
Mzk3NDg2NWVmMWZhYzZhYjYwZDJlN2YxYi4uZDRlYWIxMDM1NTRmOTZmMzk0NzllYWI3MzA4ODFl
OTI3Zjg0MzFjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE1LTAxLTI2ICBKZXJl
bXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKworICAgICAgICBQcmV2ZW50IGZsaWNrZXIg
d2hlbiBleGl0aW5nIGZ1bGxzY3JlZW4gYnkgc3luY2hyb25pemluZyB0cmFuc2FjdGlvbnMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4OTcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTeW5jaHJvbml6
ZSBhY3Jvc3MgQ0FDb250ZXh0cyB3aGVuIG1vdmluZyB0aGUgdmlkZW8gbGF5ZXIgYmV0d2VlbiBs
YXllciBoaWVyYXJjaWVzLgorICAgICAgICBOb3JtYWxseSB0cmFuc2FjdGlvbnMgaW52b2x2aW5n
IG11bHRpcGxlIENBQ29udGV4dHMgYXJlIG5vdCBzeW5jaHJvbml6ZWQuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uT2JqQzo6c2V0VmlkZW9GdWxsc2NyZWVuTGF5ZXIpOgorICAgICAgICAqIHBsYXRm
b3JtL3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmg6IGFkZCBhZGRpdGlvbmFsIENBQ29udGV4dCBT
UEkgZGVjbGFyYXRpb25zLgorCiAyMDE1LTAxLTE5ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFw
cGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxNzgyNTApOiB+MiUgUExUIHJlZ3Jlc3Np
b24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwppbmRleCAyOTVhMjljMzcxZDY2NTVlYmQ3MDhmNzU0MzAzMGRkZDg3N2Y4NzBk
Li40NWNkZmNlZDRlYjRiMzZhYTBiYTZhMzU4ZjgxYjc2YzkyY2JkNWM1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTUtMDEtMjYgIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUu
Y29tPgorCisgICAgICAgIFByZXZlbnQgZmxpY2tlciB3aGVuIGV4aXRpbmcgZnVsbHNjcmVlbiBi
eSBzeW5jaHJvbml6aW5nIHRyYW5zYWN0aW9ucy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEZsdXNoIHRyYW5zYWN0aW9ucyBiZWZvcmUgcmVtb3Zpbmcg
bGF5ZXJIb3N0LiBUaGlzIGFsbG93cyBleGlzdGluZyB0cmFuc2FjdGlvbnMgdG8gYmUgY29tcGxl
dGVkIGJlZm9yZSB0aGUgaG9zdGluZyBsYXllciBkaXNhcHBlYXJzLgorCisgICAgICAgICogVUlQ
cm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW06CisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6ZGlkQ2xlYW51cEZ1bGxzY3Jl
ZW4pOgorCiAyMDE1LTAxLTE5ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4K
IAogICAgICAgICBbQ29vcmRpbmF0ZWRHcmFwaGljc10gVXNlIEMrKyBsYW1iZGEgaW5zdGVhZCBv
ZiBXVEY6OmJpbmQoKSBpbiBUaHJlYWRlZENvbXBvc2l0b3I6OnVwZGF0ZVNjZW5lU3RhdGUoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbk9iakMubW0KaW5kZXggZjc3MDBmNjVlYWQ4MTI3MzgzODk2ZjVmMWQ0NWYz
NjIyMGI4NTk0MC4uOWZiOWE5ZTExYWNiNzhlZDNiOGNkMjIzMjJkMTBlNTY5MDlkNjY4YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDLm1tCkBAIC00OSw2ICs0OSw3IEBACiAjaW1wb3J0ICJNZWRpYVNl
bGVjdGlvbkdyb3VwQVZGT2JqQy5oIgogI2ltcG9ydCAiTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmgi
CiAjaW1wb3J0ICJQbGF0Zm9ybVRpbWVSYW5nZXMuaCIKKyNpbXBvcnQgIlF1YXJ0ekNvcmVTUEku
aCIKICNpbXBvcnQgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW1wb3J0ICJTZXJpYWxpemVkUGxhdGZv
cm1SZXByZXNlbnRhdGlvbk1hYy5oIgogI2ltcG9ydCAiU29mdExpbmtpbmcuaCIKQEAgLTgwLDYg
KzgxLDcgQEAKICNpZiBQTEFURk9STShJT1MpCiAjaW1wb3J0ICJXQUtBcHBLaXRTdHVicy5oIgog
I2ltcG9ydCA8Q29yZUltYWdlL0NvcmVJbWFnZS5oPgorI2ltcG9ydCA8bWFjaC9tYWNoX3BvcnQu
aD4KICNlbHNlCiAjaW1wb3J0IDxGb3VuZGF0aW9uL05TR2VvbWV0cnkuaD4KICNpbXBvcnQgPFF1
YXJ0ekNvcmUvQ29yZUltYWdlLmg+CkBAIC0xMDU3LDYgKzEwNTksMTUgQEAgdm9pZCBNZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpzZXRWaWRlb0Z1bGxzY3JlZW5MYXllcihQbGF0
Zm9ybUxheWVyKgogICAgIH0gZWxzZSBpZiAobV92aWRlb0xheWVyKQogICAgICAgICBbbV92aWRl
b0xheWVyIHJlbW92ZUZyb21TdXBlcmxheWVyXTsKIAorICAgIG1hY2hfcG9ydF90IGZlbmNlUG9y
dCA9IDA7CisgICAgZm9yIChDQUNvbnRleHQqIGNvbnRleHQgaW4gW0NBQ29udGV4dCBhbGxDb250
ZXh0c10pIHsKKyAgICAgICAgaWYgKCFmZW5jZVBvcnQpCisgICAgICAgICAgICBmZW5jZVBvcnQg
PSBbY29udGV4dCBjcmVhdGVGZW5jZVBvcnRdOworICAgICAgICBlbHNlCisgICAgICAgICAgICBb
Y29udGV4dCBzZXRGZW5jZVBvcnQ6ZmVuY2VQb3J0XTsKKyAgICB9CisgICAgbWFjaF9wb3J0X2Rl
YWxsb2NhdGUobWFjaF90YXNrX3NlbGYoKSwgZmVuY2VQb3J0KTsKKwogICAgIFtDQVRyYW5zYWN0
aW9uIGNvbW1pdF07CiAKICAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5MYXllciAmJiBtX3RleHRU
cmFja1JlcHJlc2VudGF0aW9uTGF5ZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9zcGkvY29jb2EvUXVhcnR6Q29yZVNQSS5oCmluZGV4IDc4ZDg5NDEyNzNlZThmY2ZkNjc2ODc0
OTBiYmNkNTAwMWZjODJhYWEuLjhkNzViNTFiZjc5YmJlOTJhMDBmNDE5MDA0NDJkMTM1NGFmZmE0
NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9RdWFydHpD
b3JlU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL1F1YXJ0ekNv
cmVTUEkuaApAQCAtNTcsMTEgKzU3LDEzIEBAIGV4dGVybiAiQyIgewogQGVuZAogCiBAaW50ZXJm
YWNlIENBQ29udGV4dCAoRGV0YWlscykKKysgKE5TQXJyYXkqKWFsbENvbnRleHRzOwogKyAoQ0FD
b250ZXh0ICopcmVtb3RlQ29udGV4dFdpdGhPcHRpb25zOihOU0RpY3Rpb25hcnkgKilkaWN0Owog
KyAoaWQpb2JqZWN0Rm9yU2xvdDoodWludDMyX3QpbmFtZTsKIC0gKHVpbnQzMl90KWNyZWF0ZUlt
YWdlU2xvdDooQ0dTaXplKXNpemUgaGFzQWxwaGE6KEJPT0wpZmxhZzsKIC0gKHZvaWQpZGVsZXRl
U2xvdDoodWludDMyX3QpbmFtZTsKIC0gKHZvaWQpaW52YWxpZGF0ZTsKKy0gKG1hY2hfcG9ydF90
KWNyZWF0ZUZlbmNlUG9ydDsKIC0gKHZvaWQpc2V0RmVuY2VQb3J0OihtYWNoX3BvcnRfdClwb3J0
OwogQHByb3BlcnR5IChyZWFkb25seSkgdWludDMyX3QgY29udGV4dElkOwogQHByb3BlcnR5IChz
dHJvbmcpIENBTGF5ZXIgKmxheWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQppbmRleCA1
M2RkZDAxMWQ1ODk5MTE4MGFkYTU3ZGNkNzYyYWI2NGE2MGI3ZWQyLi5jZTVmZDE4YTZjYjVjOGUy
MjZjMGNhZGZkODJmZTIxOWU1ZTI5MzFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQpA
QCAtMTM4LDYgKzEzOCw3IEBAIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Ojpk
aWRFeGl0RnVsbHNjcmVlbigpCiAgICAgCiB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQ
cm94eTo6ZGlkQ2xlYW51cEZ1bGxzY3JlZW4oKQogeworICAgIFtDQVRyYW5zYWN0aW9uIGZsdXNo
XTsKICAgICBbbV9sYXllckhvc3QgcmVtb3ZlRnJvbVN1cGVybGF5ZXJdOwogICAgIG1fbGF5ZXJI
b3N0LmNsZWFyKCk7CiAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJWaWRlb0Z1bGxzY3Jl
ZW5NYW5hZ2VyOjpEaWRDbGVhbnVwRnVsbHNjcmVlbigpLCBtX3BhZ2UtPnBhZ2VJRCgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245891</attachid>
            <date>2015-02-02 11:57:13 -0800</date>
            <delta_ts>2015-02-03 15:41:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140897-20150202115724.patch</filename>
            <type>text/plain</type>
            <size>6163</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NjczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmIxYzdkMGFmZTVlMTI4
Mzk3NDg2NWVmMWZhYzZhYjYwZDJlN2YxYi4uODczMTdjNDgzOTkxZGU4OTMyMWNkZGY2Yjg0MGEz
MDlkNWJhN2M3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE1LTAxLTI2ICBKZXJl
bXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKworICAgICAgICBQcmV2ZW50IGZsaWNrZXIg
d2hlbiBleGl0aW5nIGZ1bGxzY3JlZW4gYnkgc3luY2hyb25pemluZyB0cmFuc2FjdGlvbnMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4OTcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTeW5jaHJvbml6
ZSBhY3Jvc3MgQ0FDb250ZXh0cyB3aGVuIG1vdmluZyB0aGUgdmlkZW8gbGF5ZXIgYmV0d2VlbiBs
YXllciBoaWVyYXJjaGllcy4KKyAgICAgICAgTm9ybWFsbHkgdHJhbnNhY3Rpb25zIGludm9sdmlu
ZyBtdWx0aXBsZSBDQUNvbnRleHRzIGFyZSBub3Qgc3luY2hyb25pemVkLgorCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakM6OnNldFZpZGVvRnVsbHNjcmVlbkxheWVyKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9zcGkvY29jb2EvUXVhcnR6Q29yZVNQSS5oOiBhZGQgYWRkaXRpb25hbCBDQUNvbnRleHQg
U1BJIGRlY2xhcmF0aW9ucy4KKwogMjAxNS0wMS0xOSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBh
cHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTc4MjUwKTogfjIlIFBMVCByZWdyZXNz
aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKaW5kZXggMjk1YTI5YzM3MWQ2NjU1ZWJkNzA4Zjc1NDMwMzBkZGQ4NzdmODcw
ZC4uNDVjZGZjZWQ0ZWI0YjM2YWEwYmE2YTM1OGY4MWI3NmM5MmNiZDVjNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDE1LTAxLTI2ICBKZXJlbXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxl
LmNvbT4KKworICAgICAgICBQcmV2ZW50IGZsaWNrZXIgd2hlbiBleGl0aW5nIGZ1bGxzY3JlZW4g
Ynkgc3luY2hyb25pemluZyB0cmFuc2FjdGlvbnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4OTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBGbHVzaCB0cmFuc2FjdGlvbnMgYmVmb3JlIHJlbW92aW5n
IGxheWVySG9zdC4gVGhpcyBhbGxvd3MgZXhpc3RpbmcgdHJhbnNhY3Rpb25zIHRvIGJlIGNvbXBs
ZXRlZCBiZWZvcmUgdGhlIGhvc3RpbmcgbGF5ZXIgZGlzYXBwZWFycy4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OmRpZENsZWFudXBGdWxsc2Ny
ZWVuKToKKwogMjAxNS0wMS0xOSAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW0Nvb3JkaW5hdGVkR3JhcGhpY3NdIFVzZSBDKysgbGFtYmRhIGluc3RlYWQg
b2YgV1RGOjpiaW5kKCkgaW4gVGhyZWFkZWRDb21wb3NpdG9yOjp1cGRhdGVTY2VuZVN0YXRlKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDLm1tCmluZGV4IGY3NzAwZjY1ZWFkODEyNzM4Mzg5NmY1ZjFkNDVm
MzYyMjBiODU5NDAuLjMxNzBjNTc1ZGYzNTJkZDAyODI4ODk4ZGMxMTMzZTBjYjk5NzgzYTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQpAQCAtNDksNiArNDksNyBAQAogI2ltcG9ydCAiTWVkaWFT
ZWxlY3Rpb25Hcm91cEFWRk9iakMuaCIKICNpbXBvcnQgIk1lZGlhVGltZUFWRm91bmRhdGlvbi5o
IgogI2ltcG9ydCAiUGxhdGZvcm1UaW1lUmFuZ2VzLmgiCisjaW1wb3J0ICJRdWFydHpDb3JlU1BJ
LmgiCiAjaW1wb3J0ICJTZWN1cml0eU9yaWdpbi5oIgogI2ltcG9ydCAiU2VyaWFsaXplZFBsYXRm
b3JtUmVwcmVzZW50YXRpb25NYWMuaCIKICNpbXBvcnQgIlNvZnRMaW5raW5nLmgiCkBAIC04MCw2
ICs4MSw3IEBACiAjaWYgUExBVEZPUk0oSU9TKQogI2ltcG9ydCAiV0FLQXBwS2l0U3R1YnMuaCIK
ICNpbXBvcnQgPENvcmVJbWFnZS9Db3JlSW1hZ2UuaD4KKyNpbXBvcnQgPG1hY2gvbWFjaF9wb3J0
Lmg+CiAjZWxzZQogI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5Lmg+CiAjaW1wb3J0IDxR
dWFydHpDb3JlL0NvcmVJbWFnZS5oPgpAQCAtMTA0NSwxOCArMTA0Nyw0MSBAQCB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnNldFZpZGVvRnVsbHNjcmVlbkxheWVyKFBs
YXRmb3JtTGF5ZXIqCiAKICAgICBbQ0FUcmFuc2FjdGlvbiBiZWdpbl07CiAgICAgW0NBVHJhbnNh
Y3Rpb24gc2V0RGlzYWJsZUFjdGlvbnM6WUVTXTsKKyAgICAKKyAgICBDQUxheWVyICpvbGRSb290
TGF5ZXIgPSB2aWRlb0Z1bGxzY3JlZW5MYXllcjsKKyAgICB3aGlsZSAob2xkUm9vdExheWVyLnN1
cGVybGF5ZXIpCisgICAgICAgIG9sZFJvb3RMYXllciA9IG9sZFJvb3RMYXllci5zdXBlcmxheWVy
OwogCisgICAgQ0FMYXllciAqbmV3Um9vdExheWVyID0gbmlsOworICAgIAogICAgIGlmIChtX3Zp
ZGVvRnVsbHNjcmVlbkxheWVyICYmIG1fdmlkZW9MYXllcikgewogICAgICAgICBbbV92aWRlb0xh
eWVyIHNldEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgbV92aWRlb0Z1bGxzY3JlZW5GcmFtZS53aWR0
aCgpLCBtX3ZpZGVvRnVsbHNjcmVlbkZyYW1lLmhlaWdodCgpKV07CiAgICAgICAgIFttX3ZpZGVv
TGF5ZXIgcmVtb3ZlRnJvbVN1cGVybGF5ZXJdOwogICAgICAgICBbbV92aWRlb0Z1bGxzY3JlZW5M
YXllciBpbnNlcnRTdWJsYXllcjptX3ZpZGVvTGF5ZXIuZ2V0KCkgYXRJbmRleDowXTsKKyAgICAg
ICAgbmV3Um9vdExheWVyID0gbV92aWRlb0Z1bGxzY3JlZW5MYXllci5nZXQoKTsKICAgICB9IGVs
c2UgaWYgKG1fdmlkZW9JbmxpbmVMYXllciAmJiBtX3ZpZGVvTGF5ZXIpIHsKICAgICAgICAgW21f
dmlkZW9MYXllciBzZXRGcmFtZTpbbV92aWRlb0lubGluZUxheWVyIGJvdW5kc11dOwogICAgICAg
ICBbbV92aWRlb0xheWVyIHJlbW92ZUZyb21TdXBlcmxheWVyXTsKICAgICAgICAgW21fdmlkZW9J
bmxpbmVMYXllciBpbnNlcnRTdWJsYXllcjptX3ZpZGVvTGF5ZXIuZ2V0KCkgYXRJbmRleDowXTsK
KyAgICAgICAgbmV3Um9vdExheWVyID0gbV92aWRlb0lubGluZUxheWVyLmdldCgpOwogICAgIH0g
ZWxzZSBpZiAobV92aWRlb0xheWVyKQogICAgICAgICBbbV92aWRlb0xheWVyIHJlbW92ZUZyb21T
dXBlcmxheWVyXTsKIAorICAgIHdoaWxlIChuZXdSb290TGF5ZXIuc3VwZXJsYXllcikKKyAgICAg
ICAgbmV3Um9vdExheWVyID0gbmV3Um9vdExheWVyLnN1cGVybGF5ZXI7CisKKyAgICBpZiAob2xk
Um9vdExheWVyICYmIG5ld1Jvb3RMYXllciAmJiBvbGRSb290TGF5ZXIgIT0gbmV3Um9vdExheWVy
KSB7CisgICAgICAgIG1hY2hfcG9ydF90IGZlbmNlUG9ydCA9IDA7CisgICAgICAgIGZvciAoQ0FD
b250ZXh0ICpjb250ZXh0IGluIFtDQUNvbnRleHQgYWxsQ29udGV4dHNdKSB7CisgICAgICAgICAg
ICBpZiAoY29udGV4dC5sYXllciA9PSBvbGRSb290TGF5ZXIgfHwgY29udGV4dC5sYXllciA9PSBu
ZXdSb290TGF5ZXIpIHsKKyAgICAgICAgICAgICAgICBpZiAoIWZlbmNlUG9ydCkKKyAgICAgICAg
ICAgICAgICAgICAgZmVuY2VQb3J0ID0gW2NvbnRleHQgY3JlYXRlRmVuY2VQb3J0XTsKKyAgICAg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIFtjb250ZXh0IHNldEZlbmNlUG9y
dDpmZW5jZVBvcnRdOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIG1hY2hfcG9y
dF9kZWFsbG9jYXRlKG1hY2hfdGFza19zZWxmKCksIGZlbmNlUG9ydCk7CisgICAgfQogICAgIFtD
QVRyYW5zYWN0aW9uIGNvbW1pdF07CiAKICAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5MYXllciAm
JiBtX3RleHRUcmFja1JlcHJlc2VudGF0aW9uTGF5ZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9zcGkvY29jb2EvUXVhcnR6Q29yZVNQSS5oCmluZGV4IDc4ZDg5NDEyNzNlZThm
Y2ZkNjc2ODc0OTBiYmNkNTAwMWZjODJhYWEuLmNhYmIxN2U5ZWFlMmI2NmQxM2JhYTNhZDViMGM2
Mzc3MThmYzVkZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2Nv
YS9RdWFydHpDb3JlU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29h
L1F1YXJ0ekNvcmVTUEkuaApAQCAtNTcsMTEgKzU3LDEzIEBAIGV4dGVybiAiQyIgewogQGVuZAog
CiBAaW50ZXJmYWNlIENBQ29udGV4dCAoRGV0YWlscykKKysgKE5TQXJyYXkgKilhbGxDb250ZXh0
czsKICsgKENBQ29udGV4dCAqKXJlbW90ZUNvbnRleHRXaXRoT3B0aW9uczooTlNEaWN0aW9uYXJ5
ICopZGljdDsKICsgKGlkKW9iamVjdEZvclNsb3Q6KHVpbnQzMl90KW5hbWU7CiAtICh1aW50MzJf
dCljcmVhdGVJbWFnZVNsb3Q6KENHU2l6ZSlzaXplIGhhc0FscGhhOihCT09MKWZsYWc7CiAtICh2
b2lkKWRlbGV0ZVNsb3Q6KHVpbnQzMl90KW5hbWU7CiAtICh2b2lkKWludmFsaWRhdGU7CistICht
YWNoX3BvcnRfdCljcmVhdGVGZW5jZVBvcnQ7CiAtICh2b2lkKXNldEZlbmNlUG9ydDoobWFjaF9w
b3J0X3QpcG9ydDsKIEBwcm9wZXJ0eSAocmVhZG9ubHkpIHVpbnQzMl90IGNvbnRleHRJZDsKIEBw
cm9wZXJ0eSAoc3Ryb25nKSBDQUxheWVyICpsYXllcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHku
bW0KaW5kZXggNTNkZGQwMTFkNTg5OTExODBhZGE1N2RjZDc2MmFiNjRhNjBiN2VkMi4uY2U1ZmQx
OGE2Y2I1YzhlMjI2YzBjYWRmZDgyZmUyMTllNWUyOTMxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0KKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
UHJveHkubW0KQEAgLTEzOCw2ICsxMzgsNyBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXJQcm94eTo6ZGlkRXhpdEZ1bGxzY3JlZW4oKQogICAgIAogdm9pZCBXZWJWaWRlb0Z1bGxzY3Jl
ZW5NYW5hZ2VyUHJveHk6OmRpZENsZWFudXBGdWxsc2NyZWVuKCkKIHsKKyAgICBbQ0FUcmFuc2Fj
dGlvbiBmbHVzaF07CiAgICAgW21fbGF5ZXJIb3N0IHJlbW92ZUZyb21TdXBlcmxheWVyXTsKICAg
ICBtX2xheWVySG9zdC5jbGVhcigpOwogICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViVmlk
ZW9GdWxsc2NyZWVuTWFuYWdlcjo6RGlkQ2xlYW51cEZ1bGxzY3JlZW4oKSwgbV9wYWdlLT5wYWdl
SUQoKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>