<?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>93422</bug_id>
          
          <creation_ts>2012-08-07 18:23:52 -0700</creation_ts>
          <short_desc>Implement image-orientation for Skia</short_desc>
          <delta_ts>2013-04-09 13:20:27 -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>WONTFIX</resolution>
          
          
          <bug_file_loc>http://www.w3.org/TR/2012/CR-css3-images-20120417/#the-image-orientation</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>91566</dependson>
          <blocked>89052</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Barr">davidbarr</reporter>
          <assigned_to name="David Barr">davidbarr</assigned_to>
          <cc>jamesr</cc>
    
    <cc>mikelawther</cc>
    
    <cc>schenney</cc>
    
    <cc>senorblanco</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>689715</commentid>
    <comment_count>0</comment_count>
    <who name="David Barr">davidbarr</who>
    <bug_when>2012-08-07 18:23:52 -0700</bug_when>
    <thetext>Add image-orientation support to WebKit.
http://www.w3.org/TR/2012/CR-css3-images-20120417/#the-image-orientation

The css3-images module is at candidate recommendation.
I propose to introduce the property initially behind a compile flag.

There is existing code that allows a setting to determine whether embedded image orientations are respected.
This code only implements layout and painting of image-orientation for CoreGraphics.
Add an implementation for Skia.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689722</commentid>
    <comment_count>1</comment_count>
      <attachid>157076</attachid>
    <who name="David Barr">davidbarr</who>
    <bug_when>2012-08-07 18:29:06 -0700</bug_when>
    <thetext>Created attachment 157076
Draft patch

Initial draft implementation for Skia.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157076</attachid>
            <date>2012-08-07 18:29:06 -0700</date>
            <delta_ts>2012-08-07 18:29:06 -0700</delta_ts>
            <desc>Draft patch</desc>
            <filename>bug-93422-20120808112840.patch</filename>
            <type>text/plain</type>
            <size>11330</size>
            <attacher name="David Barr">davidbarr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0ODI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDUxYzY4ZWY0MWYxMjUy
MTliNjI4OGVlZWM1NWNhMTRlZGFmN2YyNi4uYzQzOTVlOGE3ODVmZTk1NDhhNmI1OTkwYTZjMTRl
MDEzZjZiMmJjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA4LTA3ICBEYXZp
ZCBCYXJyICA8ZGF2aWRiYXJyQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgaW1h
Z2Utb3JpZW50YXRpb24gZm9yIFNraWEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTkzNDIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhlcmUgaXMgZXhpc3RpbmcgY29kZSB0aGF0IGFsbG93cyBhIHNldHRp
bmcgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgZW1iZWRkZWQgaW1hZ2Ugb3JpZW50YXRpb25zIGFyZSBy
ZXNwZWN0ZWQuCisgICAgICAgIFRoaXMgY29kZSBvbmx5IGltcGxlbWVudHMgbGF5b3V0IGFuZCBw
YWludGluZyBvZiBpbWFnZS1vcmllbnRhdGlvbiBmb3IgQ29yZUdyYXBoaWNzLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0czsgZHJhZnQgcGF0Y2guCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9CaXRtYXBJbWFnZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlU291cmNlOjpzaXplKToKKyAgICAgICAgKFdl
YkNvcmU6OkltYWdlU291cmNlOjpmcmFtZVNpemVBdEluZGV4KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9za2lhL0JpdG1hcEltYWdlU2luZ2xlRnJhbWVTa2lhLmg6CisgICAgICAgIChC
aXRtYXBJbWFnZVNpbmdsZUZyYW1lU2tpYSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
c2tpYS9JbWFnZVNraWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRTa0JpdG1hcCk6Cisg
ICAgICAgIChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6ZHJhdyk6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlU2luZ2xlRnJhbWVTa2lhOjpkcmF3KToKKwog
MjAxMi0wNy0yNSAgRGF2aWQgQmFyciAgPGRhdmlkYmFyckBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgSW50ZWdyYXRlIGNzczMtaW1hZ2VzIGltYWdlLW9yaWVudGF0aW9uIHdpdGggZXhpc3Rpbmcg
RVhJRiBzdXBwb3J0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9CaXRtYXBJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFw
SW1hZ2UuaAppbmRleCBlZDlmMjgxNzk0YWIxYWVmOGNmOTEzNDZkYWI4OTY3NDcyM2I2ODE0Li4w
NDEyOTRkY2RjYTFhOWU2ZGVhYWYwYjYxMTJiYjc0MjcyZjMyZTVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKQEAgLTE5OSw3ICsxOTksNyBA
QCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGRyYXdGcmFtZU1hdGNoaW5nU291cmNlU2l6
ZShHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3QsIGNvbnN0IEludFNp
emUmIHNyY1NpemUsIENvbG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNlLCBDb21wb3NpdGVPcGVyYXRv
cik7CiAjZW5kaWYKICAgICB2aXJ0dWFsIHZvaWQgZHJhdyhHcmFwaGljc0NvbnRleHQqLCBjb25z
dCBGbG9hdFJlY3QmIGRzdFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgQ29sb3JTcGFj
ZSBzdHlsZUNvbG9yU3BhY2UsIENvbXBvc2l0ZU9wZXJhdG9yKTsKLSNpZiBVU0UoQ0cpCisjaWYg
VVNFKENHKSB8fCBVU0UoU0tJQSkKICAgICB2aXJ0dWFsIHZvaWQgZHJhdyhHcmFwaGljc0NvbnRl
eHQqLCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwg
Q29sb3JTcGFjZSBzdHlsZUNvbG9yU3BhY2UsIENvbXBvc2l0ZU9wZXJhdG9yLCBJbWFnZU9yaWVu
dGF0aW9uRW51bSwgUmVzcGVjdEltYWdlT3JpZW50YXRpb25FbnVtKTsKICNlbmRpZgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5jcHAKaW5kZXgg
YzZmNDU0Y2ViOTI5NzA2OGJkNjk5OWM2ZWIzYzYwZDJjM2JmYTllYy4uYWU4MjlmNDlmMmM5YmZl
NzE4M2EzNmZkZWVkZTc3MGRmOWMwNGQ0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmNwcApAQCAtOTksMjIgKzk5LDM2IEBAIGJvb2wgSW1h
Z2VTb3VyY2U6OmlzU2l6ZUF2YWlsYWJsZSgpCiAgICAgcmV0dXJuIG1fZGVjb2RlciAmJiBtX2Rl
Y29kZXItPmlzU2l6ZUF2YWlsYWJsZSgpOwogfQogCi1JbnRTaXplIEltYWdlU291cmNlOjpzaXpl
KEltYWdlT3JpZW50YXRpb25FbnVtLCBSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbkVudW0gc2hvdWxk
UmVzcGVjdE9yaWVudGF0aW9uKSBjb25zdAorSW50U2l6ZSBJbWFnZVNvdXJjZTo6c2l6ZShJbWFn
ZU9yaWVudGF0aW9uRW51bSBvcmllbnRhdGlvbiwgUmVzcGVjdEltYWdlT3JpZW50YXRpb25FbnVt
IHNob3VsZFJlc3BlY3RPcmllbnRhdGlvbikgY29uc3QKIHsKICAgICAvLyBUaGUgSlBFRyBhbmQg
VElGRiBkZWNvZGVycyBuZWVkIHRvIGJlIHRhdWdodCBob3cgdG8gcmVhZCBFWElGLCBYTVAsIG9y
IElQVEMgZGF0YS4KICAgICBpZiAoc2hvdWxkUmVzcGVjdE9yaWVudGF0aW9uID09IFJlc3BlY3RJ
bWFnZU9yaWVudGF0aW9uKQogICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwogCi0gICAgcmV0dXJu
IG1fZGVjb2RlciA/IG1fZGVjb2Rlci0+c2l6ZSgpIDogSW50U2l6ZSgpOworICAgIEludFNpemUg
c2l6ZSA9IG1fZGVjb2RlciA/IG1fZGVjb2Rlci0+c2l6ZSgpIDogSW50U2l6ZSgpOworCisgICAg
aWYgKG9yaWVudGF0aW9uICE9IERlZmF1bHRJbWFnZU9yaWVudGF0aW9uKSB7CisgICAgICAgIElt
YWdlT3JpZW50YXRpb24gZnJhbWVPcmllbnRhdGlvbihvcmllbnRhdGlvbik7CisgICAgICAgIGlm
IChmcmFtZU9yaWVudGF0aW9uLnVzZXNXaWR0aEFzSGVpZ2h0KCkpCisgICAgICAgICAgICByZXR1
cm4gSW50U2l6ZShzaXplLmhlaWdodCgpLCBzaXplLndpZHRoKCkpOworICAgIH0KKyAgICByZXR1
cm4gc2l6ZTsKIH0KIAotSW50U2l6ZSBJbWFnZVNvdXJjZTo6ZnJhbWVTaXplQXRJbmRleChzaXpl
X3QgaW5kZXgsIEltYWdlT3JpZW50YXRpb25FbnVtLCBSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbkVu
dW0gc2hvdWxkUmVzcGVjdE9yaWVudGF0aW9uKSBjb25zdAorSW50U2l6ZSBJbWFnZVNvdXJjZTo6
ZnJhbWVTaXplQXRJbmRleChzaXplX3QgaW5kZXgsIEltYWdlT3JpZW50YXRpb25FbnVtIG9yaWVu
dGF0aW9uLCBSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbkVudW0gc2hvdWxkUmVzcGVjdE9yaWVudGF0
aW9uKSBjb25zdAogewogICAgIC8vIFRoZSBKUEVHIGFuZCBUSUZGIGRlY29kZXJzIG5lZWQgdG8g
YmUgdGF1Z2h0IGhvdyB0byByZWFkIEVYSUYsIFhNUCwgb3IgSVBUQyBkYXRhLgogICAgIGlmIChz
aG91bGRSZXNwZWN0T3JpZW50YXRpb24gPT0gUmVzcGVjdEltYWdlT3JpZW50YXRpb24pCiAgICAg
ICAgIG5vdEltcGxlbWVudGVkKCk7CiAKLSAgICByZXR1cm4gbV9kZWNvZGVyID8gbV9kZWNvZGVy
LT5mcmFtZVNpemVBdEluZGV4KGluZGV4KSA6IEludFNpemUoKTsKKyAgICBJbnRTaXplIHNpemUg
PSBtX2RlY29kZXIgPyBtX2RlY29kZXItPmZyYW1lU2l6ZUF0SW5kZXgoaW5kZXgpIDogSW50U2l6
ZSgpOworCisgICAgaWYgKG9yaWVudGF0aW9uICE9IERlZmF1bHRJbWFnZU9yaWVudGF0aW9uKSB7
CisgICAgICAgIEltYWdlT3JpZW50YXRpb24gZnJhbWVPcmllbnRhdGlvbihvcmllbnRhdGlvbik7
CisgICAgICAgIGlmIChmcmFtZU9yaWVudGF0aW9uLnVzZXNXaWR0aEFzSGVpZ2h0KCkpCisgICAg
ICAgICAgICByZXR1cm4gSW50U2l6ZShzaXplLmhlaWdodCgpLCBzaXplLndpZHRoKCkpOworICAg
IH0KKyAgICByZXR1cm4gc2l6ZTsKIH0KIAogYm9vbCBJbWFnZVNvdXJjZTo6Z2V0SG90U3BvdChJ
bnRQb2ludCYpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9za2lhL0JpdG1hcEltYWdlU2luZ2xlRnJhbWVTa2lhLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9za2lhL0JpdG1hcEltYWdlU2luZ2xlRnJhbWVTa2lhLmgKaW5kZXgg
ZjBkMTE5MmEzMThkNWNlZmJiNzYwNjNhMDBiNTRjYjU4YTljN2JhZS4uZTIxZWFmMzRhN2Q1ZjE2
NjEwMWU3NzI2ZThmNmIxYjhmNDMyYzAzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvc2tpYS9CaXRtYXBJbWFnZVNpbmdsZUZyYW1lU2tpYS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvQml0bWFwSW1hZ2VTaW5nbGVGcmFt
ZVNraWEuaApAQCAtNzEsNiArNzEsNyBAQCBwdWJsaWM6CiAKIHByb3RlY3RlZDoKICAgICB2aXJ0
dWFsIHZvaWQgZHJhdyhHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3Qs
IGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgQ29sb3JTcGFjZSBzdHlsZUNvbG9yU3BhY2UsIENv
bXBvc2l0ZU9wZXJhdG9yKTsKKyAgICB2aXJ0dWFsIHZvaWQgZHJhdyhHcmFwaGljc0NvbnRleHQq
LCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgQ29s
b3JTcGFjZSBzdHlsZUNvbG9yU3BhY2UsIENvbXBvc2l0ZU9wZXJhdG9yLCBJbWFnZU9yaWVudGF0
aW9uRW51bSA9IERlZmF1bHRJbWFnZU9yaWVudGF0aW9uLCBSZXNwZWN0SW1hZ2VPcmllbnRhdGlv
bkVudW0gPSBSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbik7CiAKIHByaXZhdGU6CiAgICAgTmF0aXZl
SW1hZ2VTa2lhIG1fbmF0aXZlSW1hZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9za2lhL0ltYWdlU2tpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9za2lhL0ltYWdlU2tpYS5jcHAKaW5kZXggYTBhZjNkNjRhMWFmNjY3NDFiYzI1
OTY4MzA3MDMxMTNmMTZjYWMyNy4uMzQ4MjFhNGM3ZTk3MGM3NmVkNWQyZTc0Zjg4ZjljMGI1MjBj
NWI3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9J
bWFnZVNraWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEv
SW1hZ2VTa2lhLmNwcApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgog
I2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkltYWdlT2JzZXJ2ZXIuaCIK
KyNpbmNsdWRlICJJbWFnZU9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2lu
Y2x1ZGUgIk5hdGl2ZUltYWdlU2tpYS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtQ29udGV4dFNraWEu
aCIKQEAgLTIyNCw3ICsyMjUsNyBAQCBzdGF0aWMgYm9vbCBoYXNOb245MHJvdGF0aW9uKFBsYXRm
b3JtQ29udGV4dFNraWEqIGNvbnRleHQpCiAgICAgcmV0dXJuICFjb250ZXh0LT5jYW52YXMoKS0+
Z2V0VG90YWxNYXRyaXgoKS5yZWN0U3RheXNSZWN0KCk7CiB9CiAKLXN0YXRpYyB2b2lkIHBhaW50
U2tCaXRtYXAoUGxhdGZvcm1Db250ZXh0U2tpYSogcGxhdGZvcm1Db250ZXh0LCBjb25zdCBOYXRp
dmVJbWFnZVNraWEmIGJpdG1hcCwgY29uc3QgU2tJUmVjdCYgc3JjUmVjdCwgY29uc3QgU2tSZWN0
JiBkZXN0UmVjdCwgY29uc3QgU2tYZmVybW9kZTo6TW9kZSYgY29tcE9wKQorc3RhdGljIHZvaWQg
cGFpbnRTa0JpdG1hcChQbGF0Zm9ybUNvbnRleHRTa2lhKiBwbGF0Zm9ybUNvbnRleHQsIGNvbnN0
IE5hdGl2ZUltYWdlU2tpYSYgYml0bWFwLCBjb25zdCBTa0lSZWN0JiBzcmNSZWN0LCBjb25zdCBT
a1JlY3QmIGRlc3RSZWN0LCBjb25zdCBTa1hmZXJtb2RlOjpNb2RlJiBjb21wT3AsIGNvbnN0IElt
YWdlT3JpZW50YXRpb24gb3JpZW50YXRpb24pCiB7CiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCiAg
ICAgVFJBQ0VfRVZFTlQwKCJza2lhIiwgInBhaW50U2tCaXRtYXAiKTsKQEAgLTIzOCw2ICsyMzks
MjEgQEAgc3RhdGljIHZvaWQgcGFpbnRTa0JpdG1hcChQbGF0Zm9ybUNvbnRleHRTa2lhKiBwbGF0
Zm9ybUNvbnRleHQsIGNvbnN0IE5hdGl2ZUltYWcKIAogICAgIFNrQ2FudmFzKiBjYW52YXMgPSBw
bGF0Zm9ybUNvbnRleHQtPmNhbnZhcygpOwogCisgICAgaWYgKG9yaWVudGF0aW9uICE9IERlZmF1
bHRJbWFnZU9yaWVudGF0aW9uKSB7CisgICAgICAgIC8vIFVubGlrZSBDb3JlR3JhcGhpY3MsIFNr
aWEgYXBwbGllcyB0aGlzIHRyYW5zZm9ybWF0aW9uIGFmdGVyIHRyYW5zbGF0aW9uIGFuZCBzY2Fs
aW5nLgorICAgICAgICAvLyBBbHNvLCB0aGUgeS1heGlzIGlzIGludmVydGVkIGluIENvcmVHcmFw
aGljcyB2cyBTa2lhLgorICAgICAgICBjb25zdCBkb3VibGUgdyA9IGRlc3RSZWN0LndpZHRoKCks
IGggPSBkZXN0UmVjdC5oZWlnaHQoKSwgeCA9IGRlc3RSZWN0LmxlZnQoKSwgeSA9IGRlc3RSZWN0
LnRvcCgpOworICAgICAgICBjb25zdCBGbG9hdFNpemUgYWRqdXN0ZWRTaXplID0gb3JpZW50YXRp
b24udXNlc1dpZHRoQXNIZWlnaHQoKSA/IEZsb2F0U2l6ZShoLCB3KSA6IEZsb2F0U2l6ZSh3LCBo
KTsKKyAgICAgICAgY2FudmFzLT5zYXZlKCk7CisgICAgICAgIGNhbnZhcy0+dHJhbnNsYXRlKHgs
IHkgKyBoKTsKKyAgICAgICAgY2FudmFzLT5zY2FsZSgxLCAtMSk7CisgICAgICAgIGlmIChvcmll
bnRhdGlvbi51c2VzV2lkdGhBc0hlaWdodCgpKQorICAgICAgICAgICAgY2FudmFzLT5zY2FsZSh3
IC8gaCwgaCAvIHcpOworICAgICAgICBjYW52YXMtPmNvbmNhdChvcmllbnRhdGlvbi50cmFuc2Zv
cm1Gcm9tRGVmYXVsdChhZGp1c3RlZFNpemUpKTsKKyAgICAgICAgY2FudmFzLT5zY2FsZSgxLCAt
MSk7CisgICAgICAgIGNhbnZhcy0+dHJhbnNsYXRlKC14LCAteSAtIGgpOworICAgIH0KKwogICAg
IFJlc2FtcGxpbmdNb2RlIHJlc2FtcGxpbmc7CiAgICAgaWYgKHBsYXRmb3JtQ29udGV4dC0+aXNB
Y2NlbGVyYXRlZCgpKQogICAgICAgICByZXNhbXBsaW5nID0gUkVTQU1QTEVfTElORUFSOwpAQCAt
MjcyLDYgKzI4OCw4IEBAIHN0YXRpYyB2b2lkIHBhaW50U2tCaXRtYXAoUGxhdGZvcm1Db250ZXh0
U2tpYSogcGxhdGZvcm1Db250ZXh0LCBjb25zdCBOYXRpdmVJbWFnCiAgICAgICAgIGNhbnZhcy0+
ZHJhd0JpdG1hcFJlY3QoYml0bWFwLmJpdG1hcCgpLCAmc3JjUmVjdCwgZGVzdFJlY3QsICZwYWlu
dCk7CiAgICAgfQogICAgIHBsYXRmb3JtQ29udGV4dC0+ZGlkRHJhd1JlY3QoZGVzdFJlY3QsIHBh
aW50LCAmYml0bWFwLmJpdG1hcCgpKTsKKyAgICBpZiAob3JpZW50YXRpb24gIT0gRGVmYXVsdElt
YWdlT3JpZW50YXRpb24pCisgICAgICAgIGNhbnZhcy0+cmVzdG9yZSgpOwogfQogCiAvLyBBIGhl
bHBlciBtZXRob2QgZm9yIHRyYW5zbGF0aW5nIG5lZ2F0aXZlIHdpZHRoIGFuZCBoZWlnaHQgdmFs
dWVzLgpAQCAtNDIxLDggKzQzOSwxNCBAQCB2b2lkIEJpdG1hcEltYWdlOjpjaGVja0ZvclNvbGlk
Q29sb3IoKQogICAgIH0KIH0KIAordm9pZCBCaXRtYXBJbWFnZTo6ZHJhdyhHcmFwaGljc0NvbnRl
eHQqIGN0eCwgY29uc3QgRmxvYXRSZWN0JiBkc3RSZWN0LCBjb25zdCBGbG9hdFJlY3QmIHNyY1Jl
Y3QsIENvbG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNlLCBDb21wb3NpdGVPcGVyYXRvciBvcCkKK3sK
KyAgICBkcmF3KGN0eCwgZHN0UmVjdCwgc3JjUmVjdCwgc3R5bGVDb2xvclNwYWNlLCBvcCwgT3Jp
Z2luVG9wTGVmdCwgRG9Ob3RSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbik7Cit9CisKIHZvaWQgQml0
bWFwSW1hZ2U6OmRyYXcoR3JhcGhpY3NDb250ZXh0KiBjdHh0LCBjb25zdCBGbG9hdFJlY3QmIGRz
dFJlY3QsCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwg
Q29sb3JTcGFjZSBjb2xvclNwYWNlLCBDb21wb3NpdGVPcGVyYXRvciBjb21wb3NpdGVPcCkKKyAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBDb2xvclNwYWNl
IGNvbG9yU3BhY2UsIENvbXBvc2l0ZU9wZXJhdG9yIGNvbXBvc2l0ZU9wLAorICAgICAgICAgICAg
ICAgICAgICAgICBJbWFnZU9yaWVudGF0aW9uRW51bSBvcmllbnRhdGlvbiwgUmVzcGVjdEltYWdl
T3JpZW50YXRpb25FbnVtIHNob3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uKQogewogICAgIGlm
ICghbV9zb3VyY2UuaW5pdGlhbGl6ZWQoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtNDM2LDYgKzQ2
MCwxMSBAQCB2b2lkIEJpdG1hcEltYWdlOjpkcmF3KEdyYXBoaWNzQ29udGV4dCogY3R4dCwgY29u
c3QgRmxvYXRSZWN0JiBkc3RSZWN0LAogICAgIGlmICghYm0pCiAgICAgICAgIHJldHVybjsgLy8g
SXQncyB0b28gZWFybHkgYW5kIHdlIGRvbid0IGhhdmUgYW4gaW1hZ2UgeWV0LgogCisgICAgSW1h
Z2VPcmllbnRhdGlvbiBmcmFtZU9yaWVudGF0aW9uKG9yaWVudGF0aW9uKTsKKworICAgIGlmIChz
aG91bGRSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbiA9PSBSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbiAm
JiBvcmllbnRhdGlvbiA9PSBEZWZhdWx0SW1hZ2VPcmllbnRhdGlvbikKKyAgICAgICAgZnJhbWVP
cmllbnRhdGlvbiA9IGZyYW1lT3JpZW50YXRpb25BdEluZGV4KG1fY3VycmVudEZyYW1lKTsKKwog
ICAgIEZsb2F0UmVjdCBub3JtRHN0UmVjdCA9IG5vcm1hbGl6ZVJlY3QoZHN0UmVjdCk7CiAgICAg
RmxvYXRSZWN0IG5vcm1TcmNSZWN0ID0gbm9ybWFsaXplUmVjdChzcmNSZWN0KTsKIApAQCAtNDQ2
LDcgKzQ3NSw4IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmRyYXcoR3JhcGhpY3NDb250ZXh0KiBjdHh0
LCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3QsCiAgICAgICAgICAgICAgICAgICAqYm0sCiAgICAg
ICAgICAgICAgICAgICBlbmNsb3NpbmdJbnRSZWN0KG5vcm1TcmNSZWN0KSwKICAgICAgICAgICAg
ICAgICAgIG5vcm1Ec3RSZWN0LAotICAgICAgICAgICAgICAgICAgV2ViQ29yZUNvbXBvc2l0ZVRv
U2tpYUNvbXBvc2l0ZShjb21wb3NpdGVPcCkpOworICAgICAgICAgICAgICAgICAgV2ViQ29yZUNv
bXBvc2l0ZVRvU2tpYUNvbXBvc2l0ZShjb21wb3NpdGVPcCksCisgICAgICAgICAgICAgICAgICBm
cmFtZU9yaWVudGF0aW9uKTsKIAogICAgIGlmIChJbWFnZU9ic2VydmVyKiBvYnNlcnZlciA9IGlt
YWdlT2JzZXJ2ZXIoKSkKICAgICAgICAgb2JzZXJ2ZXItPmRpZERyYXcodGhpcyk7CkBAIC00NTQs
MTEgKzQ4NCwxOCBAQCB2b2lkIEJpdG1hcEltYWdlOjpkcmF3KEdyYXBoaWNzQ29udGV4dCogY3R4
dCwgY29uc3QgRmxvYXRSZWN0JiBkc3RSZWN0LAogCiAvLyBGSVhNRTogVGhlc2Ugc2hvdWxkIGdv
IGludG8gQml0bWFwSW1hZ2VTaW5nbGVGcmFtZVNraWEuY3BwCiAKK3ZvaWQgQml0bWFwSW1hZ2VT
aW5nbGVGcmFtZVNraWE6OmRyYXcoR3JhcGhpY3NDb250ZXh0KiBjdHgsIGNvbnN0IEZsb2F0UmVj
dCYgZHN0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBDb2xvclNwYWNlIHN0eWxlQ29s
b3JTcGFjZSwgQ29tcG9zaXRlT3BlcmF0b3Igb3ApCit7CisgICAgZHJhdyhjdHgsIGRzdFJlY3Qs
IHNyY1JlY3QsIHN0eWxlQ29sb3JTcGFjZSwgb3AsIE9yaWdpblRvcExlZnQsIERvTm90UmVzcGVj
dEltYWdlT3JpZW50YXRpb24pOworfQorCiB2b2lkIEJpdG1hcEltYWdlU2luZ2xlRnJhbWVTa2lh
OjpkcmF3KEdyYXBoaWNzQ29udGV4dCogY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgRmxvYXRSZWN0JiBkc3RSZWN0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wb3NpdGVPcGVyYXRvciBj
b21wb3NpdGVPcCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tcG9z
aXRlT3BlcmF0b3IgY29tcG9zaXRlT3AsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEltYWdlT3JpZW50YXRpb25FbnVtIG9yaWVudGF0aW9uLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbkVudW0gc2hvdWxk
UmVzcGVjdEltYWdlT3JpZW50YXRpb24pCiB7CiAgICAgRmxvYXRSZWN0IG5vcm1Ec3RSZWN0ID0g
bm9ybWFsaXplUmVjdChkc3RSZWN0KTsKICAgICBGbG9hdFJlY3Qgbm9ybVNyY1JlY3QgPSBub3Jt
YWxpemVSZWN0KHNyY1JlY3QpOwpAQCAtNDY2LDExICs1MDMsMTQgQEAgdm9pZCBCaXRtYXBJbWFn
ZVNpbmdsZUZyYW1lU2tpYTo6ZHJhdyhHcmFwaGljc0NvbnRleHQqIGN0eHQsCiAgICAgaWYgKG5v
cm1TcmNSZWN0LmlzRW1wdHkoKSB8fCBub3JtRHN0UmVjdC5pc0VtcHR5KCkpCiAgICAgICAgIHJl
dHVybjsgLy8gTm90aGluZyB0byBkcmF3LgogCisgICAgSW1hZ2VPcmllbnRhdGlvbiBmcmFtZU9y
aWVudGF0aW9uKG9yaWVudGF0aW9uKTsKKwogICAgIHBhaW50U2tCaXRtYXAoY3R4dC0+cGxhdGZv
cm1Db250ZXh0KCksCiAgICAgICAgICAgICAgICAgICBtX25hdGl2ZUltYWdlLAogICAgICAgICAg
ICAgICAgICAgZW5jbG9zaW5nSW50UmVjdChub3JtU3JjUmVjdCksCiAgICAgICAgICAgICAgICAg
ICBub3JtRHN0UmVjdCwKLSAgICAgICAgICAgICAgICAgIFdlYkNvcmVDb21wb3NpdGVUb1NraWFD
b21wb3NpdGUoY29tcG9zaXRlT3ApKTsKKyAgICAgICAgICAgICAgICAgIFdlYkNvcmVDb21wb3Np
dGVUb1NraWFDb21wb3NpdGUoY29tcG9zaXRlT3ApLAorICAgICAgICAgICAgICAgICAgZnJhbWVP
cmllbnRhdGlvbik7CiAKICAgICBpZiAoSW1hZ2VPYnNlcnZlciogb2JzZXJ2ZXIgPSBpbWFnZU9i
c2VydmVyKCkpCiAgICAgICAgIG9ic2VydmVyLT5kaWREcmF3KHRoaXMpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>