<?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>85121</bug_id>
          
          <creation_ts>2012-04-27 20:15:18 -0700</creation_ts>
          <short_desc>Implement reverse animation direction on Windows CoreAnimation</short_desc>
          <delta_ts>2013-10-21 19:03:46 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>612108</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-04-27 20:15:18 -0700</bug_when>
    <thetext>Windows falls back to software animation when the direction is reverse or alternate-reverse.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>612109</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-04-27 20:16:03 -0700</bug_when>
    <thetext>&lt;rdar://problem/11341982&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940116</commentid>
    <comment_count>2</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-10-15 13:58:15 -0700</bug_when>
    <thetext>Example:

LayoutTests/animations/animation-direction-reverse-timing-functions.html
LayoutTests/animations/animation-direction-reverse-timing-functions-hardware.html

The latter should be completely hardware-accelerated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940519</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-10-16 13:55:14 -0700</bug_when>
    <thetext>Running the tests on recent AAS it seems that this is working properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940522</commentid>
    <comment_count>4</comment_count>
      <attachid>214391</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-10-16 13:57:55 -0700</bug_when>
    <thetext>Created attachment 214391
Invalid Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940529</commentid>
    <comment_count>5</comment_count>
      <attachid>214391</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-10-16 14:18:39 -0700</bug_when>
    <thetext>Comment on attachment 214391
Invalid Patch

Please mention the radar number too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940535</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-10-16 14:36:12 -0700</bug_when>
    <thetext>This patch will be correct in a future version of CoreGraphics.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942078</commentid>
    <comment_count>7</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-10-21 16:34:49 -0700</bug_when>
    <thetext>CoreGraphics is fine. The Windows port was simply missing logic to invert the control points used in the timing function (see toCAMediaTimingFunction in PlatformCAAnimationMac.mm for details).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942106</commentid>
    <comment_count>8</comment_count>
      <attachid>214800</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-10-21 17:34:17 -0700</bug_when>
    <thetext>Created attachment 214800
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942109</commentid>
    <comment_count>9</comment_count>
      <attachid>214800</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-10-21 17:41:20 -0700</bug_when>
    <thetext>Comment on attachment 214800
Patch

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

&gt; Source/WebCore/platform/animation/TimingFunction.h:145
&gt; +        return adoptRef(new CubicBezierTimingFunction(Ease, 1.0 - m_x2, 1.0 - m_y2, 1.0 - m_x1, 1.0 - m_y1));

As discussed on IRC...

BTW - why not return CubicBezierTimingFunction::create(new points); ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942112</commentid>
    <comment_count>10</comment_count>
      <attachid>214802</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-10-21 17:49:02 -0700</bug_when>
    <thetext>Created attachment 214802
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942127</commentid>
    <comment_count>11</comment_count>
      <attachid>214802</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-21 19:03:43 -0700</bug_when>
    <thetext>Comment on attachment 214802
Patch

Clearing flags on attachment: 214802

Committed r157773: &lt;http://trac.webkit.org/changeset/157773&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942128</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-21 19:03:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214391</attachid>
            <date>2013-10-16 13:57:55 -0700</date>
            <delta_ts>2013-10-16 14:35:46 -0700</delta_ts>
            <desc>Invalid Patch</desc>
            <filename>bug-85121-20131016135803.patch</filename>
            <type>text/plain</type>
            <size>1671</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NzUyNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEzLTEwLTE2ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXSU5dIFJlbW92ZSB1bm5l
ZWRlZCBzb2Z0d2FyZSBmYWxsYmFjayBmb3IgcmV2ZXJzZWQgYW5pbWF0aW9ucy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1MTIxCisKKyAgICAgICAg
VGVzdGVkIGJ5IGV4aXN0aW5nIGFuaW1hdGlvbnMgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NMYXllckNBOjphZGRBbmltYXRpb24pOiBUaGUgZWFybHkgcmV0dXJuIHdoZW4gcGVyZm9y
bWluZyBhIHJldmVyc2Ugb3IKKyAgICAgICAgYXV0b3JldmVyc2UgYW5pbWF0aW9uIGlzIG5vIGxv
bmdlciBuZWVkZWQuCisKIDIwMTMtMTAtMTUgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgogCiAgICAgICAgIEZsZXNoIG91dCB0aGUgRGF0YWJhc2VQcm9jZXNzIChhbmQgbGF1bmNo
IGl0ISkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNz
TGF5ZXJDQS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAkocmV2aXNpb24gMTU3NTI2KQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNzU3LDE0ICs3NTcsNiBAQCBib29sIEdyYXBoaWNzTGF5ZXJDQTo6YWRkQW5pbWF0
aW9uKGNvbnN0CiAgICAgaWYgKGFuaW1hdGlvbkhhc1N0ZXBzVGltaW5nRnVuY3Rpb24odmFsdWVM
aXN0LCBhbmltKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0jaWYgUExBVEZPUk0oV0lOKQot
ICAgIC8vIENvcmVBbmltYXRpb24gb24gV2luZG93cyBkb2VzIG5vdCBoYW5kbGUgYSByZXZlcnNl
IGRpcmVjdGlvbi4gRmFsbAotICAgIC8vIGJhY2sgdG8gc29mdHdhcmUgYW5pbWF0aW9uIGluIHRo
YXQgY2FzZS4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODUxMjEKLSAgICBpZiAoIWFuaW0tPmRpcmVjdGlvbklzRm9yd2FyZHMoKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotI2VuZGlmCi0KICAgICBib29sIGNyZWF0ZWRBbmltYXRpb25zID0gZmFsc2U7
CiAgICAgaWYgKHZhbHVlTGlzdC5wcm9wZXJ0eSgpID09IEFuaW1hdGVkUHJvcGVydHlXZWJraXRU
cmFuc2Zvcm0pCiAgICAgICAgIGNyZWF0ZWRBbmltYXRpb25zID0gY3JlYXRlVHJhbnNmb3JtQW5p
bWF0aW9uc0Zyb21LZXlmcmFtZXModmFsdWVMaXN0LCBhbmltLCBhbmltYXRpb25OYW1lLCB0aW1l
T2Zmc2V0LCBib3hTaXplKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214800</attachid>
            <date>2013-10-21 17:34:17 -0700</date>
            <delta_ts>2013-10-21 17:49:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85121-20131021173423.patch</filename>
            <type>text/plain</type>
            <size>7235</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1Nzc2NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEzLTEwLTIxICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXSU5dIFByb3Blcmx5IHN1
cHBvcnQgcmV2ZXJzZSBhbmltYXRpb25zIHdpdGhvdXQgbmVlZGluZyBzb2Z0d2FyZSBmYWxsYmFj
ay4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1MTIx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdGlu
ZyBpcyBwcm92aWRlZCBieSBleGlzdGluZyBhbmltYXRpb24gdGVzdHMuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9hbmltYXRpb24vVGltaW5nRnVuY3Rpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OkN1
YmljQmV6aWVyVGltaW5nRnVuY3Rpb246OmNyZWF0ZVJldmVyc2VkKTogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6YWRkQW5pbWF0aW9uKTogVGhlIGVhcmx5IHJldHVybiB3
aGVuIHBlcmZvcm1pbmcgYSByZXZlcnNlIG9yCisgICAgICAgIGF1dG9yZXZlcnNlIGFuaW1hdGlv
biBpcyBubyBsb25nZXIgbmVlZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL1Bs
YXRmb3JtQ0FBbmltYXRpb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMv
UGxhdGZvcm1DQUFuaW1hdGlvbk1hYy5tbToKKyAgICAgICAgKHRvQ0FNZWRpYVRpbWluZ0Z1bmN0
aW9uKTogVXNlIG5ldyByZXZlcnNlZCBmdW5jdGlvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jYS93aW4vUGxhdGZvcm1DQUFuaW1hdGlvbldpbi5jcHA6CisgICAgICAgICh0b0NBQ0ZU
aW1pbmdGdW5jdGlvbik6IERpdHRvLgorICAgICAgICAoUGxhdGZvcm1DQUFuaW1hdGlvbjo6c2V0
VGltaW5nRnVuY3Rpb24pOiBQYXNzICdyZXZlcnNlJyBmbGFnLgorICAgICAgICAoUGxhdGZvcm1D
QUFuaW1hdGlvbjo6c2V0VGltaW5nRnVuY3Rpb25zKTogRGl0dG8uCisKIDIwMTMtMTAtMjEgIERh
bmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFVwc3RyZWFt
IEpTR2xvYmFsT2JqZWN0OjpzaG91bGRJbnRlcnJ1cHRTY3JpcHRCZWZvcmVUaW1lb3V0KCkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5j
dGlvbi5oCShyZXZpc2lvbiAxNTc3NTcpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmlt
YXRpb24vVGltaW5nRnVuY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMTM5LDYgKzEzOSwxMSBA
QCBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBjb25zdCBDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9u
KiBkdGYgPSBjcmVhdGUoKS5sZWFrUmVmKCk7CiAgICAgICAgIHJldHVybiBkdGY7CiAgICAgfQor
CisgICAgUGFzc1JlZlB0cjxDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uPiBjcmVhdGVSZXZlcnNl
ZCgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEN1YmljQmV6aWVy
VGltaW5nRnVuY3Rpb24oRWFzZSwgMS4wIC0gbV94MiwgMS4wIC0gbV95MiwgMS4wIC0gbV94MSwg
MS4wIC0gbV95MSkpOworICAgIH0KICAgICAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgQ3ViaWNC
ZXppZXJUaW1pbmdGdW5jdGlvbihUaW1pbmdGdW5jdGlvblByZXNldCBwcmVzZXQgPSBFYXNlLCBk
b3VibGUgeDEgPSAwLjI1LCBkb3VibGUgeTEgPSAwLjEsIGRvdWJsZSB4MiA9IDAuMjUsIGRvdWJs
ZSB5MiA9IDEuMCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dy
YXBoaWNzTGF5ZXJDQS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAkocmV2aXNpb24gMTU3NzU3KQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNzYyLDE0ICs3NjIsNiBAQCBib29sIEdyYXBoaWNzTGF5ZXJDQTo6YWRk
QW5pbWF0aW9uKGNvbnN0CiAgICAgaWYgKGFuaW1hdGlvbkhhc1N0ZXBzVGltaW5nRnVuY3Rpb24o
dmFsdWVMaXN0LCBhbmltKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0jaWYgUExBVEZPUk0o
V0lOKQotICAgIC8vIENvcmVBbmltYXRpb24gb24gV2luZG93cyBkb2VzIG5vdCBoYW5kbGUgYSBy
ZXZlcnNlIGRpcmVjdGlvbi4gRmFsbAotICAgIC8vIGJhY2sgdG8gc29mdHdhcmUgYW5pbWF0aW9u
IGluIHRoYXQgY2FzZS4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODUxMjEKLSAgICBpZiAoIWFuaW0tPmRpcmVjdGlvbklzRm9yd2FyZHMoKSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotI2VuZGlmCi0KICAgICBib29sIGNyZWF0ZWRBbmltYXRpb25zID0g
ZmFsc2U7CiAgICAgaWYgKHZhbHVlTGlzdC5wcm9wZXJ0eSgpID09IEFuaW1hdGVkUHJvcGVydHlX
ZWJraXRUcmFuc2Zvcm0pCiAgICAgICAgIGNyZWF0ZWRBbmltYXRpb25zID0gY3JlYXRlVHJhbnNm
b3JtQW5pbWF0aW9uc0Zyb21LZXlmcmFtZXModmFsdWVMaXN0LCBhbmltLCBhbmltYXRpb25OYW1l
LCB0aW1lT2Zmc2V0LCBib3hTaXplKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhL1BsYXRmb3JtQ0FBbmltYXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBQW5pbWF0aW9uLmgJKHJldmlzaW9u
IDE1Nzc1NykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3Jt
Q0FBbmltYXRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMTUyLDcgKzE1Miw3IEBAIHByb3RlY3Rl
ZDoKICAgICAgICAgaWYgKGJlZ2luVGltZSgpIDw9IDApCiAgICAgICAgICAgICBzZXRCZWdpblRp
bWUodCk7CiAgICAgfQotICAgIAorCiBwcml2YXRlOgogICAgIEFuaW1hdGlvblR5cGUgbV90eXBl
OwogICAgIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1Bs
YXRmb3JtQ0FBbmltYXRpb25NYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FBbmltYXRpb25NYWMubW0JKHJldmlzaW9u
IDE1Nzc1NykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0
Zm9ybUNBQW5pbWF0aW9uTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMzgsMTAgKzEzOCw5IEBA
IHN0YXRpYyBDQU1lZGlhVGltaW5nRnVuY3Rpb24qIHRvQ0FNZWRpYVQKICAgICAgICAgZmxvYXQg
eTEgPSBzdGF0aWNfY2FzdDxmbG9hdD4oY3RmLT55MSgpKTsKICAgICAgICAgZmxvYXQgeDIgPSBz
dGF0aWNfY2FzdDxmbG9hdD4oY3RmLT54MigpKTsKICAgICAgICAgZmxvYXQgeTIgPSBzdGF0aWNf
Y2FzdDxmbG9hdD4oY3RmLT55MigpKTsKLSAgICAgICAgcmV0dXJuIFtDQU1lZGlhVGltaW5nRnVu
Y3Rpb24gZnVuY3Rpb25XaXRoQ29udHJvbFBvaW50czoocmV2ZXJzZSA/IDEgLSB4MiA6IHgxKQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgOihyZXZlcnNlID8gMSAtIHkyIDogeTEpCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6KHJldmVyc2UgPyAxIC0geDEg
OiB4MikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDoocmV2ZXJzZSA/IDEgLSB5MSA6IHkyKV07CisgICAgICAgIGlmIChyZXZl
cnNlKQorICAgICAgICAgICAgUGxhdGZvcm1DQUFuaW1hdGlvbjo6aW52ZXJ0Q29udHJvbFBvaW50
cyh4MSwgeTEsIHgyLCB5Mik7CisgICAgICAgIHJldHVybiBbQ0FNZWRpYVRpbWluZ0Z1bmN0aW9u
IGZ1bmN0aW9uV2l0aENvbnRyb2xQb2ludHM6IHgxIDogeTEgOiB4MiA6IHkyXTsKICAgICB9CiAg
ICAgCiAgICAgcmV0dXJuIFtDQU1lZGlhVGltaW5nRnVuY3Rpb24gZnVuY3Rpb25XaXRoTmFtZTpr
Q0FNZWRpYVRpbWluZ0Z1bmN0aW9uTGluZWFyXTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9ybUNBQW5pbWF0aW9uV2luLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUFu
aW1hdGlvbldpbi5jcHAJKHJldmlzaW9uIDE1Nzc1NykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9ybUNBQW5pbWF0aW9uV2luLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTIxLDEyICsxMjEsMjMgQEAgc3RhdGljIFBsYXRmb3JtQ0FBbmltYXRpb246OlZh
bHVlRnVuY3RpbwogICAgIHJldHVybiBQbGF0Zm9ybUNBQW5pbWF0aW9uOjpOb1ZhbHVlRnVuY3Rp
b247CiB9CiAKLXN0YXRpYyBSZXRhaW5QdHI8Q0FDRlRpbWluZ0Z1bmN0aW9uUmVmPiB0b0NBQ0ZU
aW1pbmdGdW5jdGlvbihjb25zdCBUaW1pbmdGdW5jdGlvbiogdGltaW5nRnVuY3Rpb24pCitzdGF0
aWMgUmV0YWluUHRyPENBQ0ZUaW1pbmdGdW5jdGlvblJlZj4gdG9DQUNGVGltaW5nRnVuY3Rpb24o
Y29uc3QgVGltaW5nRnVuY3Rpb24qIHRpbWluZ0Z1bmN0aW9uLCBib29sIHJldmVyc2UpCiB7CiAg
ICAgQVNTRVJUKHRpbWluZ0Z1bmN0aW9uKTsKICAgICBpZiAodGltaW5nRnVuY3Rpb24tPmlzQ3Vi
aWNCZXppZXJUaW1pbmdGdW5jdGlvbigpKSB7CisgICAgICAgIFJlZlB0cjxDdWJpY0JlemllclRp
bWluZ0Z1bmN0aW9uPiByZXZlcnNlZDsKICAgICAgICAgY29uc3QgQ3ViaWNCZXppZXJUaW1pbmdG
dW5jdGlvbiogY3RmID0gc3RhdGljX2Nhc3Q8Y29uc3QgQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlv
bio+KHRpbWluZ0Z1bmN0aW9uKTsKLSAgICAgICAgcmV0dXJuIGFkb3B0Q0YoQ0FDRlRpbWluZ0Z1
bmN0aW9uQ3JlYXRlKHN0YXRpY19jYXN0PGZsb2F0PihjdGYtPngxKCkpLCBzdGF0aWNfY2FzdDxm
bG9hdD4oY3RmLT55MSgpKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGN0Zi0+eDIoKSksIHN0YXRpY19j
YXN0PGZsb2F0PihjdGYtPnkyKCkpKSk7CisKKyAgICAgICAgaWYgKHJldmVyc2UpIHsKKyAgICAg
ICAgICAgIHJldmVyc2VkID0gY3RmLT5jcmVhdGVSZXZlcnNlZCgpOworICAgICAgICAgICAgY3Rm
ID0gcmV2ZXJzZWQuZ2V0KCk7CisgICAgICAgIH0KKworICAgICAgICBmbG9hdCB4MSA9IHN0YXRp
Y19jYXN0PGZsb2F0PihjdGYtPngxKCkpOworICAgICAgICBmbG9hdCB5MSA9IHN0YXRpY19jYXN0
PGZsb2F0PihjdGYtPnkxKCkpOworICAgICAgICBmbG9hdCB4MiA9IHN0YXRpY19jYXN0PGZsb2F0
PihjdGYtPngyKCkpOworICAgICAgICBmbG9hdCB5MiA9IHN0YXRpY19jYXN0PGZsb2F0PihjdGYt
PnkyKCkpOworICAgICAgICByZXR1cm4gYWRvcHRDRihDQUNGVGltaW5nRnVuY3Rpb25DcmVhdGUo
eDEsIHkxLCB4MiwgeTIpKTsKICAgICB9CiAgICAgCiAgICAgcmV0dXJuIENBQ0ZUaW1pbmdGdW5j
dGlvbkdldEZ1bmN0aW9uV2l0aE5hbWUoa0NBQ0ZUaW1pbmdGdW5jdGlvbkxpbmVhcik7CkBAIC0y
ODQsNyArMjk1LDcgQEAgdm9pZCBQbGF0Zm9ybUNBQW5pbWF0aW9uOjpzZXRGaWxsTW9kZShGaQog
dm9pZCBQbGF0Zm9ybUNBQW5pbWF0aW9uOjpzZXRUaW1pbmdGdW5jdGlvbihjb25zdCBUaW1pbmdG
dW5jdGlvbiogdmFsdWUsIGJvb2wgcmV2ZXJzZSkKIHsKICAgICBVTlVTRURfUEFSQU0ocmV2ZXJz
ZSk7Ci0gICAgQ0FDRkFuaW1hdGlvblNldFRpbWluZ0Z1bmN0aW9uKG1fYW5pbWF0aW9uLmdldCgp
LCB0b0NBQ0ZUaW1pbmdGdW5jdGlvbih2YWx1ZSkuZ2V0KCkpOworICAgIENBQ0ZBbmltYXRpb25T
ZXRUaW1pbmdGdW5jdGlvbihtX2FuaW1hdGlvbi5nZXQoKSwgdG9DQUNGVGltaW5nRnVuY3Rpb24o
dmFsdWUsIHJldmVyc2UpLmdldCgpKTsKIH0KIAogdm9pZCBQbGF0Zm9ybUNBQW5pbWF0aW9uOjpj
b3B5VGltaW5nRnVuY3Rpb25Gcm9tKGNvbnN0IFBsYXRmb3JtQ0FBbmltYXRpb24qIHZhbHVlKQpA
QCAtNTM4LDcgKzU0OSw3IEBAIHZvaWQgUGxhdGZvcm1DQUFuaW1hdGlvbjo6c2V0VGltaW5nRnVu
Y3QKICAgICBSZXRhaW5QdHI8Q0ZNdXRhYmxlQXJyYXlSZWY+IGFycmF5ID0gYWRvcHRDRihDRkFy
cmF5Q3JlYXRlTXV0YWJsZSgwLCB2YWx1ZS5zaXplKCksICZrQ0ZUeXBlQXJyYXlDYWxsQmFja3Mp
KTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHZhbHVlLnNpemUoKTsgKytpKSB7CiAgICAg
ICAgIFJldGFpblB0cjxDRk51bWJlclJlZj4gdiA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoMCwg
a0NGTnVtYmVyRmxvYXRUeXBlLCAmdmFsdWVbaV0pKTsKLSAgICAgICAgQ0ZBcnJheUFwcGVuZFZh
bHVlKGFycmF5LmdldCgpLCB0b0NBQ0ZUaW1pbmdGdW5jdGlvbih2YWx1ZVtpXSkuZ2V0KCkpOwor
ICAgICAgICBDRkFycmF5QXBwZW5kVmFsdWUoYXJyYXkuZ2V0KCksIHRvQ0FDRlRpbWluZ0Z1bmN0
aW9uKHZhbHVlW2ldLCByZXZlcnNlKS5nZXQoKSk7CiAgICAgfQogCiAgICAgQ0FDRkFuaW1hdGlv
blNldFRpbWluZ0Z1bmN0aW9ucyhtX2FuaW1hdGlvbi5nZXQoKSwgYXJyYXkuZ2V0KCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214802</attachid>
            <date>2013-10-21 17:49:02 -0700</date>
            <delta_ts>2013-10-21 19:03:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85121-20131021174909.patch</filename>
            <type>text/plain</type>
            <size>7530</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1Nzc2NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEzLTEwLTIxICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXSU5dIFByb3Blcmx5IHN1
cHBvcnQgcmV2ZXJzZSBhbmltYXRpb25zIHdpdGhvdXQgbmVlZGluZyBzb2Z0d2FyZSBmYWxsYmFj
ay4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1MTIx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdGlu
ZyBpcyBwcm92aWRlZCBieSBleGlzdGluZyBhbmltYXRpb24gdGVzdHMuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9hbmltYXRpb24vVGltaW5nRnVuY3Rpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OkN1
YmljQmV6aWVyVGltaW5nRnVuY3Rpb246OmNyZWF0ZVJldmVyc2VkKTogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6YWRkQW5pbWF0aW9uKTogVGhlIGVhcmx5IHJldHVybiB3
aGVuIHBlcmZvcm1pbmcgYSByZXZlcnNlIG9yCisgICAgICAgIGF1dG9yZXZlcnNlIGFuaW1hdGlv
biBpcyBubyBsb25nZXIgbmVlZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL1Bs
YXRmb3JtQ0FBbmltYXRpb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMv
UGxhdGZvcm1DQUFuaW1hdGlvbk1hYy5tbToKKyAgICAgICAgKHRvQ0FNZWRpYVRpbWluZ0Z1bmN0
aW9uKTogVXNlIG5ldyByZXZlcnNlZCBmdW5jdGlvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jYS93aW4vUGxhdGZvcm1DQUFuaW1hdGlvbldpbi5jcHA6CisgICAgICAgICh0b0NBQ0ZU
aW1pbmdGdW5jdGlvbik6IERpdHRvLgorICAgICAgICAoUGxhdGZvcm1DQUFuaW1hdGlvbjo6c2V0
VGltaW5nRnVuY3Rpb24pOiBQYXNzICdyZXZlcnNlJyBmbGFnLgorICAgICAgICAoUGxhdGZvcm1D
QUFuaW1hdGlvbjo6c2V0VGltaW5nRnVuY3Rpb25zKTogRGl0dG8uCisKIDIwMTMtMTAtMjEgIERh
bmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFVwc3RyZWFt
IEpTR2xvYmFsT2JqZWN0OjpzaG91bGRJbnRlcnJ1cHRTY3JpcHRCZWZvcmVUaW1lb3V0KCkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5j
dGlvbi5oCShyZXZpc2lvbiAxNTc3NTcpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmlt
YXRpb24vVGltaW5nRnVuY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMTM5LDYgKzEzOSwxMSBA
QCBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBjb25zdCBDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9u
KiBkdGYgPSBjcmVhdGUoKS5sZWFrUmVmKCk7CiAgICAgICAgIHJldHVybiBkdGY7CiAgICAgfQor
CisgICAgUGFzc1JlZlB0cjxDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uPiBjcmVhdGVSZXZlcnNl
ZCgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gY3JlYXRlKDEuMCAtIG1feDIsIDEuMCAt
IG1feTIsIDEuMCAtIG1feDEsIDEuMCAtIG1feTEpOworICAgIH0KICAgICAKIHByaXZhdGU6CiAg
ICAgZXhwbGljaXQgQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvbihUaW1pbmdGdW5jdGlvblByZXNl
dCBwcmVzZXQgPSBFYXNlLCBkb3VibGUgeDEgPSAwLjI1LCBkb3VibGUgeTEgPSAwLjEsIGRvdWJs
ZSB4MiA9IDAuMjUsIGRvdWJsZSB5MiA9IDEuMCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAkocmV2aXNp
b24gMTU3NzU3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhp
Y3NMYXllckNBLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzYyLDE0ICs3NjIsNiBAQCBib29sIEdy
YXBoaWNzTGF5ZXJDQTo6YWRkQW5pbWF0aW9uKGNvbnN0CiAgICAgaWYgKGFuaW1hdGlvbkhhc1N0
ZXBzVGltaW5nRnVuY3Rpb24odmFsdWVMaXN0LCBhbmltKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCi0jaWYgUExBVEZPUk0oV0lOKQotICAgIC8vIENvcmVBbmltYXRpb24gb24gV2luZG93cyBk
b2VzIG5vdCBoYW5kbGUgYSByZXZlcnNlIGRpcmVjdGlvbi4gRmFsbAotICAgIC8vIGJhY2sgdG8g
c29mdHdhcmUgYW5pbWF0aW9uIGluIHRoYXQgY2FzZS4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODUxMjEKLSAgICBpZiAoIWFuaW0tPmRpcmVjdGlvbklz
Rm9yd2FyZHMoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotI2VuZGlmCi0KICAgICBib29sIGNy
ZWF0ZWRBbmltYXRpb25zID0gZmFsc2U7CiAgICAgaWYgKHZhbHVlTGlzdC5wcm9wZXJ0eSgpID09
IEFuaW1hdGVkUHJvcGVydHlXZWJraXRUcmFuc2Zvcm0pCiAgICAgICAgIGNyZWF0ZWRBbmltYXRp
b25zID0gY3JlYXRlVHJhbnNmb3JtQW5pbWF0aW9uc0Zyb21LZXlmcmFtZXModmFsdWVMaXN0LCBh
bmltLCBhbmltYXRpb25OYW1lLCB0aW1lT2Zmc2V0LCBib3hTaXplKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FBbmltYXRpb24uaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBQW5p
bWF0aW9uLmgJKHJldmlzaW9uIDE1Nzc1NykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhL1BsYXRmb3JtQ0FBbmltYXRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMTUyLDcg
KzE1Miw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgaWYgKGJlZ2luVGltZSgpIDw9IDApCiAgICAg
ICAgICAgICBzZXRCZWdpblRpbWUodCk7CiAgICAgfQotICAgIAorCiBwcml2YXRlOgogICAgIEFu
aW1hdGlvblR5cGUgbV90eXBlOwogICAgIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FBbmltYXRpb25NYWMubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FBbmltYXRp
b25NYWMubW0JKHJldmlzaW9uIDE1Nzc1NykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBQW5pbWF0aW9uTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0xMzMsMTUgKzEzMywxOSBAQCBzdGF0aWMgQ0FNZWRpYVRpbWluZ0Z1bmN0aW9uKiB0b0NBTWVk
aWFUCiB7CiAgICAgQVNTRVJUKHRpbWluZ0Z1bmN0aW9uKTsKICAgICBpZiAodGltaW5nRnVuY3Rp
b24tPmlzQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvbigpKSB7CisgICAgICAgIFJlZlB0cjxDdWJp
Y0JlemllclRpbWluZ0Z1bmN0aW9uPiByZXZlcnNlZDsKICAgICAgICAgY29uc3QgQ3ViaWNCZXpp
ZXJUaW1pbmdGdW5jdGlvbiogY3RmID0gc3RhdGljX2Nhc3Q8Y29uc3QgQ3ViaWNCZXppZXJUaW1p
bmdGdW5jdGlvbio+KHRpbWluZ0Z1bmN0aW9uKTsKKworICAgICAgICBpZiAocmV2ZXJzZSkgewor
ICAgICAgICAgICAgcmV2ZXJzZWQgPSBjdGYtPmNyZWF0ZVJldmVyc2VkKCk7CisgICAgICAgICAg
ICBjdGYgPSByZXZlcnNlZC5nZXQoKTsKKyAgICAgICAgfQorCiAgICAgICAgIGZsb2F0IHgxID0g
c3RhdGljX2Nhc3Q8ZmxvYXQ+KGN0Zi0+eDEoKSk7CiAgICAgICAgIGZsb2F0IHkxID0gc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KGN0Zi0+eTEoKSk7CiAgICAgICAgIGZsb2F0IHgyID0gc3RhdGljX2Nhc3Q8
ZmxvYXQ+KGN0Zi0+eDIoKSk7CiAgICAgICAgIGZsb2F0IHkyID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+
KGN0Zi0+eTIoKSk7Ci0gICAgICAgIHJldHVybiBbQ0FNZWRpYVRpbWluZ0Z1bmN0aW9uIGZ1bmN0
aW9uV2l0aENvbnRyb2xQb2ludHM6KHJldmVyc2UgPyAxIC0geDIgOiB4MSkKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoocmV2
ZXJzZSA/IDEgLSB5MiA6IHkxKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgOihyZXZlcnNlID8gMSAtIHgxIDogeDIpCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA6KHJldmVyc2UgPyAxIC0geTEgOiB5MildOworICAgICAgICByZXR1cm4gW0NBTWVkaWFUaW1p
bmdGdW5jdGlvbiBmdW5jdGlvbldpdGhDb250cm9sUG9pbnRzOiB4MSA6IHkxIDogeDIgOiB5Ml07
CiAgICAgfQogICAgIAogICAgIHJldHVybiBbQ0FNZWRpYVRpbWluZ0Z1bmN0aW9uIGZ1bmN0aW9u
V2l0aE5hbWU6a0NBTWVkaWFUaW1pbmdGdW5jdGlvbkxpbmVhcl07CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUFuaW1hdGlvbldpbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1Bs
YXRmb3JtQ0FBbmltYXRpb25XaW4uY3BwCShyZXZpc2lvbiAxNTc3NTcpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUFuaW1hdGlvbldpbi5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEyMSwxMiArMTIxLDIzIEBAIHN0YXRpYyBQbGF0Zm9ybUNBQW5p
bWF0aW9uOjpWYWx1ZUZ1bmN0aW8KICAgICByZXR1cm4gUGxhdGZvcm1DQUFuaW1hdGlvbjo6Tm9W
YWx1ZUZ1bmN0aW9uOwogfQogCi1zdGF0aWMgUmV0YWluUHRyPENBQ0ZUaW1pbmdGdW5jdGlvblJl
Zj4gdG9DQUNGVGltaW5nRnVuY3Rpb24oY29uc3QgVGltaW5nRnVuY3Rpb24qIHRpbWluZ0Z1bmN0
aW9uKQorc3RhdGljIFJldGFpblB0cjxDQUNGVGltaW5nRnVuY3Rpb25SZWY+IHRvQ0FDRlRpbWlu
Z0Z1bmN0aW9uKGNvbnN0IFRpbWluZ0Z1bmN0aW9uKiB0aW1pbmdGdW5jdGlvbiwgYm9vbCByZXZl
cnNlKQogewogICAgIEFTU0VSVCh0aW1pbmdGdW5jdGlvbik7CiAgICAgaWYgKHRpbWluZ0Z1bmN0
aW9uLT5pc0N1YmljQmV6aWVyVGltaW5nRnVuY3Rpb24oKSkgeworICAgICAgICBSZWZQdHI8Q3Vi
aWNCZXppZXJUaW1pbmdGdW5jdGlvbj4gcmV2ZXJzZWQ7CiAgICAgICAgIGNvbnN0IEN1YmljQmV6
aWVyVGltaW5nRnVuY3Rpb24qIGN0ZiA9IHN0YXRpY19jYXN0PGNvbnN0IEN1YmljQmV6aWVyVGlt
aW5nRnVuY3Rpb24qPih0aW1pbmdGdW5jdGlvbik7Ci0gICAgICAgIHJldHVybiBhZG9wdENGKENB
Q0ZUaW1pbmdGdW5jdGlvbkNyZWF0ZShzdGF0aWNfY2FzdDxmbG9hdD4oY3RmLT54MSgpKSwgc3Rh
dGljX2Nhc3Q8ZmxvYXQ+KGN0Zi0+eTEoKSksIHN0YXRpY19jYXN0PGZsb2F0PihjdGYtPngyKCkp
LCBzdGF0aWNfY2FzdDxmbG9hdD4oY3RmLT55MigpKSkpOworCisgICAgICAgIGlmIChyZXZlcnNl
KSB7CisgICAgICAgICAgICByZXZlcnNlZCA9IGN0Zi0+Y3JlYXRlUmV2ZXJzZWQoKTsKKyAgICAg
ICAgICAgIGN0ZiA9IHJldmVyc2VkLmdldCgpOworICAgICAgICB9CisKKyAgICAgICAgZmxvYXQg
eDEgPSBzdGF0aWNfY2FzdDxmbG9hdD4oY3RmLT54MSgpKTsKKyAgICAgICAgZmxvYXQgeTEgPSBz
dGF0aWNfY2FzdDxmbG9hdD4oY3RmLT55MSgpKTsKKyAgICAgICAgZmxvYXQgeDIgPSBzdGF0aWNf
Y2FzdDxmbG9hdD4oY3RmLT54MigpKTsKKyAgICAgICAgZmxvYXQgeTIgPSBzdGF0aWNfY2FzdDxm
bG9hdD4oY3RmLT55MigpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0Q0YoQ0FDRlRpbWluZ0Z1bmN0
aW9uQ3JlYXRlKHgxLCB5MSwgeDIsIHkyKSk7CiAgICAgfQogICAgIAogICAgIHJldHVybiBDQUNG
VGltaW5nRnVuY3Rpb25HZXRGdW5jdGlvbldpdGhOYW1lKGtDQUNGVGltaW5nRnVuY3Rpb25MaW5l
YXIpOwpAQCAtMjg0LDcgKzI5NSw3IEBAIHZvaWQgUGxhdGZvcm1DQUFuaW1hdGlvbjo6c2V0Rmls
bE1vZGUoRmkKIHZvaWQgUGxhdGZvcm1DQUFuaW1hdGlvbjo6c2V0VGltaW5nRnVuY3Rpb24oY29u
c3QgVGltaW5nRnVuY3Rpb24qIHZhbHVlLCBib29sIHJldmVyc2UpCiB7CiAgICAgVU5VU0VEX1BB
UkFNKHJldmVyc2UpOwotICAgIENBQ0ZBbmltYXRpb25TZXRUaW1pbmdGdW5jdGlvbihtX2FuaW1h
dGlvbi5nZXQoKSwgdG9DQUNGVGltaW5nRnVuY3Rpb24odmFsdWUpLmdldCgpKTsKKyAgICBDQUNG
QW5pbWF0aW9uU2V0VGltaW5nRnVuY3Rpb24obV9hbmltYXRpb24uZ2V0KCksIHRvQ0FDRlRpbWlu
Z0Z1bmN0aW9uKHZhbHVlLCByZXZlcnNlKS5nZXQoKSk7CiB9CiAKIHZvaWQgUGxhdGZvcm1DQUFu
aW1hdGlvbjo6Y29weVRpbWluZ0Z1bmN0aW9uRnJvbShjb25zdCBQbGF0Zm9ybUNBQW5pbWF0aW9u
KiB2YWx1ZSkKQEAgLTUzOCw3ICs1NDksNyBAQCB2b2lkIFBsYXRmb3JtQ0FBbmltYXRpb246OnNl
dFRpbWluZ0Z1bmN0CiAgICAgUmV0YWluUHRyPENGTXV0YWJsZUFycmF5UmVmPiBhcnJheSA9IGFk
b3B0Q0YoQ0ZBcnJheUNyZWF0ZU11dGFibGUoMCwgdmFsdWUuc2l6ZSgpLCAma0NGVHlwZUFycmF5
Q2FsbEJhY2tzKSk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB2YWx1ZS5zaXplKCk7ICsr
aSkgewogICAgICAgICBSZXRhaW5QdHI8Q0ZOdW1iZXJSZWY+IHYgPSBhZG9wdENGKENGTnVtYmVy
Q3JlYXRlKDAsIGtDRk51bWJlckZsb2F0VHlwZSwgJnZhbHVlW2ldKSk7Ci0gICAgICAgIENGQXJy
YXlBcHBlbmRWYWx1ZShhcnJheS5nZXQoKSwgdG9DQUNGVGltaW5nRnVuY3Rpb24odmFsdWVbaV0p
LmdldCgpKTsKKyAgICAgICAgQ0ZBcnJheUFwcGVuZFZhbHVlKGFycmF5LmdldCgpLCB0b0NBQ0ZU
aW1pbmdGdW5jdGlvbih2YWx1ZVtpXSwgcmV2ZXJzZSkuZ2V0KCkpOwogICAgIH0KIAogICAgIENB
Q0ZBbmltYXRpb25TZXRUaW1pbmdGdW5jdGlvbnMobV9hbmltYXRpb24uZ2V0KCksIGFycmF5Lmdl
dCgpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>