<?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>67225</bug_id>
          
          <creation_ts>2011-08-30 13:47:51 -0700</creation_ts>
          <short_desc>Plug-ins have to use JavaScript to find out the current device scale factor</short_desc>
          <delta_ts>2011-10-25 15:59:37 -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>Plug-ins</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.7</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="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>sullivan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>459158</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-08-30 13:47:51 -0700</bug_when>
    <thetext>In order to find out the current device scale factor, plug-ins have to use JavaScript to determine the window.devicePixelRatio value. It would be much nicer if we had a simple NPAPI-style API for them to use instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459159</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2011-08-30 13:48:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/10048258&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490429</commentid>
    <comment_count>2</comment_count>
      <attachid>112416</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-10-25 15:48:13 -0700</bug_when>
    <thetext>Created attachment 112416
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490434</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-10-25 15:59:37 -0700</bug_when>
    <thetext>Committed r98403: &lt;http://trac.webkit.org/changeset/98403&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112416</attachid>
            <date>2011-10-25 15:48:13 -0700</date>
            <delta_ts>2011-10-25 15:50:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67225-20111025154816.patch</filename>
            <type>text/plain</type>
            <size>25294</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTgzOTQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlYzhjM2M2YmFkZWExYzIx
ZDU5M2I1NDczNGM4MGM2NDA4ZmE1YjFkLi4yZTYwMDZlZTU1N2QwZGMxNDQwZTU5ZDE3ZWJjN2I3
N2VmMWIzYzgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMTAtMjUgIEFuZGVy
cyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBQbHVnLWlucyBoYXZl
IHRvIHVzZSBKYXZhU2NyaXB0IHRvIGZpbmQgb3V0IHRoZSBjdXJyZW50IGRldmljZSBzY2FsZSBm
YWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3
MjI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dDogcGxhdGZvcm0vbWFjLXdrMi9wbHVnaW5zL2NvbnRlbnRzLXNjYWxlLWZhY3Rvci5odG1sCisK
KyAgICAgICAgQWRkIE5QTlZjb250ZW50c1NjYWxlRmFjdG9yLCBhcyBwZXIgaHR0cHM6Ly93aWtp
Lm1vemlsbGEub3JnL05QQVBJOkNvbnRlbnRzU2NhbGVGYWN0b3IuCisKKyAgICAgICAgKiBwbHVn
aW5zL25wYXBpLmg6CisKIDIwMTEtMTAtMjUgIE1pY2hhbCBNb2NueSAgPG1tb2NueUBnb29nbGUu
Y29tPgogCiAgICAgICAgIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6c2V0VmlzaWJsZSBjYWxsZWQg
bmVlZGxlc3NseSB3aXRob3V0IGEgdmlzaWJpbGl0eSBjaGFuZ2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAzYzdi
MDljMWZjYTA3ZWM0MWZhNzdlYmFkYzdjYmVhMTU5NjlmMWRhLi4xMzA0NzIxM2U2NWI0Nzk4MTk4
YzM1MTMxNWQ2ODc5NDNlMmQxNmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNTggQEAKIDIwMTEt
MTAtMjUgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAorICAgICAgICBQ
bHVnLWlucyBoYXZlIHRvIHVzZSBKYXZhU2NyaXB0IHRvIGZpbmQgb3V0IHRoZSBjdXJyZW50IGRl
dmljZSBzY2FsZSBmYWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY3MjI1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDA0ODI1OD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsdWdpblByb2Nl
c3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luQ29u
dHJvbGxlclByb3h5OjpQbHVnaW5Db250cm9sbGVyUHJveHkpOgorICAgICAgICBJbml0aWFsaXpl
IG1fY29udGVudHNTY2FsZUZhY3Rvci4KKworICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2lu
Q29udHJvbGxlclByb3h5Lmg6CisgICAgICAgIEFkZCBjb250ZW50c1NjYWxlRmFjdG9yIG1lbWJl
ciBmdW5jdGlvbiBhbmQgbV9jb250ZW50c1NjYWxlRmFjdG9yIG1lbWJlciB2YXJpYWJsZS4KKwor
ICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UGx1Z2luQ3JlYXRpb25QYXJhbWV0ZXJzOjpQbHVnaW5DcmVhdGlvblBh
cmFtZXRlcnMpOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5DcmVhdGlvblBhcmFtZXRlcnM6OmVu
Y29kZSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpbkNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2Rl
KToKKyAgICAgICAgKiBQbHVnaW5Qcm9jZXNzL1BsdWdpbkNyZWF0aW9uUGFyYW1ldGVycy5oOgor
ICAgICAgICBBZGQgY29udGVudHNTY2FsZUZhY3RvciB0byB0aGUgY3JlYXRpb24gcGFyYW1ldGVy
cy4KKworICAgICAgICAqIFBsdWdpblByb2Nlc3MvbWFjL1BsdWdpbkNvbnRyb2xsZXJQcm94eU1h
Yy5tbToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luQ29udHJvbGxlclByb3h5Ojpjb250ZW50c1Nj
YWxlRmFjdG9yKToKKyAgICAgICAgUmV0dXJuIHRoZSBjYWNoZWQgbV9jb250ZW50c1NjYWxlRmFj
dG9yLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlQnJv
d3NlckZ1bmNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TlBOX0dldFZhbHVlKToKKyAgICAgICAg
SGFuZGxlIGdldHRpbmcgdGhlIHNjYWxlIGZhY3RvciBieSBjYWxsaW5nIE5ldHNjYXBlUGx1Z2lu
Ojpjb250ZW50c1NjYWxlRmFjdG9yLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL05ldHNjYXBlUGx1Z2luLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6TmV0c2Nh
cGVQbHVnaW46OmNvbnRlbnRzU2NhbGVGYWN0b3IpOgorICAgICAgICBBc2sgdGhlIHBsdWctaW4g
Y29udHJvbGxlciBmb3IgdGhlIGNvbnRlbnRzIHNjYWxlIGZhY3Rvci4KKworICAgICAgICAqIFdl
YlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Db250cm9sbGVyLmg6CisgICAgICAgIEFkZCBjb250ZW50
c1NjYWxlRmFjdG9yIHB1cmUgdmlydHVhbCBtZW1iZXIgZnVuY3Rpb24uCisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVn
aW5Qcm94eTo6aW5pdGlhbGl6ZSk6CisgICAgICAgIFNldCBjb250ZW50c1NjYWxlRmFjdG9yIGlu
IHRoZSBjcmVhdGlvbiBwYXJhbWV0ZXJzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblZpZXcuY3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5WaWV3Ojpjb250ZW50c1Nj
YWxlRmFjdG9yKToKKyAgICAgICAgR2V0IHRoZSBkZXZpY2Ugc2NhbGUgZmFjdG9yIGZyb20gdGhl
IHBhZ2UuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5oOgorICAg
ICAgICBBZGQgY29udGVudHNTY2FsZUZhY3RvcigpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZXREZXZpY2VT
Y2FsZUZhY3Rvcik6CisgICAgICAgIEJhaWwgaWYgdGhlIHNjYWxlIGZhY3RvciBkaWRuJ3QgY2hh
bmdlLgorCisyMDExLTEwLTI1ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+
CisKICAgICAgICAgQXNzZXJ0aW9uIGZhaWx1cmUgd2hlbiB6b29taW5nIGEgUERGIGluIGFuIGlm
cmFtZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4
NDkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9ucGFwaS5oIGIvU291cmNl
L1dlYkNvcmUvcGx1Z2lucy9ucGFwaS5oCmluZGV4IGNjZTRmZDMwYjhmYjYyODNlODdjNjAzYjVj
ZjQ0MmUzMjEyY2NjMTguLjAwYzY4ZGU3MDQ4NDgzZGRhYzY0ZDhjOGQ3N2U5OTQ2MTVlYzIyYTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvbnBhcGkuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbHVnaW5zL25wYXBpLmgKQEAgLTQxNiw2ICs0MTYsNyBAQCB0eXBlZGVmIGVudW0g
ewogI2lmIGRlZmluZWQoWFBfTUFDT1NYKQogICAvKiBVc2VkIGZvciBuZWdvdGlhdGluZyBkcmF3
aW5nIG1vZGVscyAqLwogICAsIE5QTlZwbHVnaW5EcmF3aW5nTW9kZWwgPSAxMDAwCisgICwgTlBO
VmNvbnRlbnRzU2NhbGVGYWN0b3IgPSAxMDAxCiAjaWZuZGVmIE5QX05PX1FVSUNLRFJBVwogICAs
IE5QTlZzdXBwb3J0c1F1aWNrRHJhd0Jvb2wgPSAyMDAwCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcAppbmRl
eCBhYTQ5YTNkNTYyZTAzZTczYTk1YzgxODhkNmJhMmI3NjhiZTRkMjc4Li5mZTUyNDRlZjIyNDJm
ZDJlNTVlNGNhMzZmMzFlOTQ0NTI2Y2IxMzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Q
bHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwCkBAIC03MCw2ICs3MCw3
IEBAIFBsdWdpbkNvbnRyb2xsZXJQcm94eTo6UGx1Z2luQ29udHJvbGxlclByb3h5KFdlYlByb2Nl
c3NDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBjCiAgICAgLCBtX3BsdWdpbkNhbmNlbGVkTWFudWFs
U3RyZWFtTG9hZChmYWxzZSkKICNpZiBQTEFURk9STShNQUMpCiAgICAgLCBtX2lzQ29tcGxleFRl
eHRJbnB1dEVuYWJsZWQoZmFsc2UpCisgICAgLCBtX2NvbnRlbnRzU2NhbGVGYWN0b3IoY3JlYXRp
b25QYXJhbWV0ZXJzLmNvbnRlbnRzU2NhbGVGYWN0b3IpCiAjZW5kaWYKICAgICAsIG1fd2luZG93
TlBPYmplY3QoMCkKICAgICAsIG1fcGx1Z2luRWxlbWVudE5QT2JqZWN0KDApCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oIGIv
U291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaAppbmRl
eCBkODJkNmNmYzVlZGZkNDY2MzU4MTQwMjU2YTAxNTIzOTMwYzk4OTZmLi5mZTkyODBiZmI0MTgw
ZGQ4N2U5ZjdiZjZkZjZlMDYxMzRkODZiY2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Q
bHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKQEAgLTk5LDYgKzk5LDcgQEAg
cHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcGx1Z2luRm9jdXNPcldpbmRvd0ZvY3VzQ2hhbmdl
ZChib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29tcGxleFRleHRJbnB1dFN0YXRlKFBsdWdp
bkNvbXBsZXhUZXh0SW5wdXRTdGF0ZSk7CiAgICAgdmlydHVhbCBtYWNoX3BvcnRfdCBjb21wb3Np
dGluZ1JlbmRlclNlcnZlclBvcnQoKTsKKyAgICB2aXJ0dWFsIGZsb2F0IGNvbnRlbnRzU2NhbGVG
YWN0b3IoKTsKICNlbmRpZgogCiAgICAgdmlydHVhbCBTdHJpbmcgcHJveGllc0ZvclVSTChjb25z
dCBTdHJpbmcmKTsKQEAgLTE5MSw2ICsxOTIsOSBAQCBwcml2YXRlOgogICAgIC8vIFdoZXRoZXIg
Y29tcGxleCB0ZXh0IGlucHV0IGlzIGVuYWJsZWQgZm9yIHRoaXMgcGx1Zy1pbi4KICAgICBib29s
IG1faXNDb21wbGV4VGV4dElucHV0RW5hYmxlZDsKIAorICAgIC8vIFRoZSBjb250ZW50cyBzY2Fs
ZSBmYWN0b3Igb2YgdGhpcyBwbHVnLWluLgorICAgIGZsb2F0IG1fY29udGVudHNTY2FsZUZhY3Rv
cjsKKwogICAgIC8vIEZvciBDQSBwbHVnLWlucywgdGhpcyBob2xkcyB0aGUgaW5mb3JtYXRpb24g
bmVlZGVkIHRvIGV4cG9ydCB0aGUgbGF5ZXIgaGllcmFyY2h5IHRvIHRoZSBVSSBwcm9jZXNzLgog
ICAgIFJldGFpblB0cjxXS0NBUmVtb3RlTGF5ZXJDbGllbnRSZWY+IG1fcmVtb3RlTGF5ZXJDbGll
bnQ7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1
Z2luQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3Mv
UGx1Z2luQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAppbmRleCA2YzhlYTExMmNjN2YxMTI5MjBkN2M1
MTE3MzFjNzhiZDc2M2QyN2NkLi4zN2ExZmJmMmViYzhiZjcyMTBiMWFlZDliYTBmOTI0MDI2MGNl
MzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNyZWF0
aW9uUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVn
aW5DcmVhdGlvblBhcmFtZXRlcnMuY3BwCkBAIC0zOSw2ICszOSw5IEBAIFBsdWdpbkNyZWF0aW9u
UGFyYW1ldGVyczo6UGx1Z2luQ3JlYXRpb25QYXJhbWV0ZXJzKCkKICNpZiBVU0UoQUNDRUxFUkFU
RURfQ09NUE9TSVRJTkcpCiAgICAgLCBpc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKGZh
bHNlKQogI2VuZGlmCisjaWYgUExBVEZPUk0oTUFDKQorICAgICwgY29udGVudHNTY2FsZUZhY3Rv
cigxKQorI2VuZGlmCiB7CiB9CiAKQEAgLTUzLDYgKzU2LDEwIEBAIHZvaWQgUGx1Z2luQ3JlYXRp
b25QYXJhbWV0ZXJzOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyKSBj
b25zdAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBlbmNvZGVyLT5lbmNv
ZGUoaXNBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCk7CiAjZW5kaWYKKworI2lmIFBMQVRG
T1JNKE1BQykKKyAgICBlbmNvZGVyLT5lbmNvZGUoY29udGVudHNTY2FsZUZhY3Rvcik7CisjZW5k
aWYKIH0KIAogYm9vbCBQbHVnaW5DcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShDb3JlSVBDOjpB
cmd1bWVudERlY29kZXIqIGRlY29kZXIsIFBsdWdpbkNyZWF0aW9uUGFyYW1ldGVycyYgcmVzdWx0
KQpAQCAtNzcsNiArODQsMTEgQEAgYm9vbCBQbHVnaW5DcmVhdGlvblBhcmFtZXRlcnM6OmRlY29k
ZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIFBsdWdpbkMKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpCisgICAgaWYgKCFkZWNvZGVy
LT5kZWNvZGUocmVzdWx0LmNvbnRlbnRzU2NhbGVGYWN0b3IpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisjZW5kaWYKKwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNl
L1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5DcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBk
YWZkZTdlNGMxOTY1OWEyNGE1MTE0NmE2MWMzZDk4NmM3YmZhYjg1Li5hMDA0MDMwZTFlOTMxZGEz
Yjk1ZjA2YTRmMWYzODZjOWIzNzE1ZjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL1BsdWdpbkNyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1BsdWdpblByb2Nlc3MvUGx1Z2luQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTYyLDYgKzYyLDEx
IEBAIHN0cnVjdCBQbHVnaW5DcmVhdGlvblBhcmFtZXRlcnMgewogICAgIC8vIFdoZXRoZXIgYWNj
ZWxlcmF0ZWQgY29tcG9zaXRpbmcgaXMgZW5hYmxlZC4KICAgICBib29sIGlzQWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0VuYWJsZWQ7CiAjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKyAgICAvLyBU
aGUgY3VycmVudCBjb250ZW50cyBzY2FsZSBmYWN0b3IgdGhhdCB0aGlzIHBsdWctaW4gc2hvdWxk
IGhhdmUuCisgICAgZmxvYXQgY29udGVudHNTY2FsZUZhY3RvcjsKKyNlbmRpZgogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9j
ZXNzL21hYy9QbHVnaW5Db250cm9sbGVyUHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL21hYy9QbHVnaW5Db250cm9sbGVyUHJveHlNYWMubW0KaW5kZXggNWZlOThmNzcx
MWY4Mzk4ZGI5NjBkM2MwMmNlYjQzYTJiYjJjYzZhOC4uZmNiMGMwODM5NDNmMGNhNzgxY2ZlZTM5
MTNjMmI0YzQyZWEwYzM5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vz
cy9tYWMvUGx1Z2luQ29udHJvbGxlclByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1Bs
dWdpblByb2Nlc3MvbWFjL1BsdWdpbkNvbnRyb2xsZXJQcm94eU1hYy5tbQpAQCAtNTMsNiArNTMs
MTEgQEAgbWFjaF9wb3J0X3QgUGx1Z2luQ29udHJvbGxlclByb3h5Ojpjb21wb3NpdGluZ1JlbmRl
clNlcnZlclBvcnQoKQogICAgIHJldHVybiBQbHVnaW5Qcm9jZXNzOjpzaGFyZWQoKS5jb21wb3Np
dGluZ1JlbmRlclNlcnZlclBvcnQoKTsKIH0KIAorZmxvYXQgUGx1Z2luQ29udHJvbGxlclByb3h5
Ojpjb250ZW50c1NjYWxlRmFjdG9yKCkKK3sKKyAgICByZXR1cm4gbV9jb250ZW50c1NjYWxlRmFj
dG9yOworfQorCiB2b2lkIFBsdWdpbkNvbnRyb2xsZXJQcm94eTo6cGxhdGZvcm1Jbml0aWFsaXpl
KCkKIHsKICAgICBDQUxheWVyICogcGxhdGZvcm1MYXllciA9IG1fcGx1Z2luLT5wbHVnaW5MYXll
cigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNj
YXBlL05ldHNjYXBlQnJvd3NlckZ1bmNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZUJyb3dzZXJGdW5jcy5jcHAKaW5kZXggODA3YjdiNTAw
M2I2M2JjZjdhMGQ2ZDkwOTJmOTBlYWY5ZTMzYmM0OC4uZTQ0NTBjZDgyZjcwYmZmMTNjOGNkNzA4
NmFiM2U2MTk4NjQ0Y2RjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL05ldHNjYXBlL05ldHNjYXBlQnJvd3NlckZ1bmNzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVCcm93c2VyRnVuY3MuY3Bw
CkBAIC00NjAsNiArNDYwLDEyIEBAIHN0YXRpYyBOUEVycm9yIE5QTl9HZXRWYWx1ZShOUFAgbnBw
LCBOUE5WYXJpYWJsZSB2YXJpYWJsZSwgdm9pZCAqdmFsdWUpCiAgICAgICAgICAgICAqKE5QQm9v
bCopdmFsdWUgPSBwbHVnaW4tPmlzQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisgICAgICAgIGNhc2UgTlBOVmNvbnRlbnRzU2Nh
bGVGYWN0b3I6IHsKKyAgICAgICAgICAgIFJlZlB0cjxOZXRzY2FwZVBsdWdpbj4gcGx1Z2luID0g
TmV0c2NhcGVQbHVnaW46OmZyb21OUFAobnBwKTsKKworICAgICAgICAgICAgKihkb3VibGUqKXZh
bHVlID0gcGx1Z2luLT5jb250ZW50c1NjYWxlRmFjdG9yKCk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQogICAgICAgICBjYXNlIE5QTlZzdXBwb3J0c0NvY29hQm9vbDoKICAgICAgICAg
ICAgIC8vIEFsd2F5cyBjbGFpbSB0byBzdXBwb3J0IHRoZSBDb2NvYSBldmVudCBtb2RlbC4KICAg
ICAgICAgICAgICooTlBCb29sKil2YWx1ZSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uaCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5oCmlu
ZGV4IDg0ZjY2ZmM4YzU2YTVmZTk0ZTZmNWQ2ZDQ3OTMzNmE3ZTBlN2UzMzMuLmUyZDkxMDBjOTZl
ODJlMmRmZTQxZThkY2Q1MzUxNTcxZDQzODBlZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5oCkBA
IC02Myw2ICs2Myw3IEBAIHB1YmxpYzoKICAgICBib29sIGhhc0hhbmRsZWRBS2V5RG93bkV2ZW50
KCkgY29uc3QgeyByZXR1cm4gbV9oYXNIYW5kbGVkQUtleURvd25FdmVudDsgfQogCiAgICAgbWFj
aF9wb3J0X3QgY29tcG9zaXRpbmdSZW5kZXJTZXJ2ZXJQb3J0KCk7CisgICAgZG91YmxlIGNvbnRl
bnRzU2NhbGVGYWN0b3IoKTsKIAogI2lmbmRlZiBOUF9OT19DQVJCT04KICAgICBXaW5kb3dSZWYg
d2luZG93UmVmKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbQpp
bmRleCBkODU2M2VjZDIxYTc1ODRiMWE4OTc5YTBiZTdhNGZkMGI5YWY0NzZiLi42YWNhMGNhNGI1
YTFmZjRjOTQ4MTVlZTcxMzAyZDBmMWFjOTJjZjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2Nh
cGVQbHVnaW5NYWMubW0KQEAgLTE3OSw2ICsxNzksMTEgQEAgbWFjaF9wb3J0X3QgTmV0c2NhcGVQ
bHVnaW46OmNvbXBvc2l0aW5nUmVuZGVyU2VydmVyUG9ydCgpCiAgICAgcmV0dXJuIGNvbnRyb2xs
ZXIoKS0+Y29tcG9zaXRpbmdSZW5kZXJTZXJ2ZXJQb3J0KCk7CiB9CiAKK2RvdWJsZSBOZXRzY2Fw
ZVBsdWdpbjo6Y29udGVudHNTY2FsZUZhY3RvcigpCit7CisgICAgcmV0dXJuIGNvbnRyb2xsZXIo
KS0+Y29udGVudHNTY2FsZUZhY3RvcigpOworfQorCiAjaWZuZGVmIE5QX05PX0NBUkJPTgogdHlw
ZWRlZiBIYXNoTWFwPFdpbmRvd1JlZiwgTmV0c2NhcGVQbHVnaW4qPiBXaW5kb3dNYXA7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Db250cm9s
bGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luQ29udHJvbGxl
ci5oCmluZGV4IDc2ZWRlMWY0OTg0NTlhYjI2MDA4OTY1ZTE4YTQ3YjRkNzc2NzMxYWEuLjgwMDhh
NTY3MjM1M2JhYWZjZWYyMzRjODBmOGY5ZjE3OWY4MTRmNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Db250cm9sbGVyLmgKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkNvbnRyb2xsZXIuaApAQCAtMTIwLDYg
KzEyMCw5IEBAIHB1YmxpYzoKIAogICAgIC8vIFJldHVybnMgdGhlIG1hY2ggcG9ydCBvZiB0aGUg
Y29tcG9zaXRpbmcgcmVuZGVyIHNlcnZlci4KICAgICB2aXJ0dWFsIG1hY2hfcG9ydF90IGNvbXBv
c2l0aW5nUmVuZGVyU2VydmVyUG9ydCgpID0gMDsKKworICAgIC8vIFJldHVybnMgdGhlIGNvbnRl
bnRzIHNjYWxlIGZhY3Rvci4KKyAgICB2aXJ0dWFsIGZsb2F0IGNvbnRlbnRzU2NhbGVGYWN0b3Io
KSA9IDA7CiAjZW5kaWYKIAogICAgIC8vIFJldHVybnMgdGhlIHByb3hpZXMgZm9yIHRoZSBnaXZl
biBVUkwgb3IgbnVsbCBvbiBmYWlsdXJlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5jcHAKaW5kZXggOTY4NGM2MDQwNTRkY2Q0YmExMDE1Njc2
YThmOTE5N2U0OWQ0YTQwMy4uMDUzMDFjNTE1MzI1NDg3Y2MwYWZjY2U0YjBiMTE0N2UzMWJmZTE2
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJv
eHkuY3BwCkBAIC0xMDEsNiArMTAxLDkgQEAgYm9vbCBQbHVnaW5Qcm94eTo6aW5pdGlhbGl6ZShj
b25zdCBQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJ
VElORykKICAgICBjcmVhdGlvblBhcmFtZXRlcnMuaXNBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5h
YmxlZCA9IGNvbnRyb2xsZXIoKS0+aXNBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCgpOwog
I2VuZGlmCisjaWYgUExBVEZPUk0oTUFDKQorICAgIGNyZWF0aW9uUGFyYW1ldGVycy5jb250ZW50
c1NjYWxlRmFjdG9yID0gY29udHJvbGxlcigpLT5jb250ZW50c1NjYWxlRmFjdG9yKCk7CisjZW5k
aWYKIAogICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CiAgICAgdWludDMyX3QgcmVtb3RlTGF5ZXJD
bGllbnRJRCA9IDA7CkBAIC0zNzUsNyArMzc4LDYgQEAgdm9pZCBQbHVnaW5Qcm94eTo6c2VuZENv
bXBsZXhUZXh0SW5wdXQoY29uc3QgU3RyaW5nJiB0ZXh0SW5wdXQpCiB7CiAgICAgbV9jb25uZWN0
aW9uLT5jb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OlBsdWdpbkNvbnRyb2xsZXJQcm94eTo6
U2VuZENvbXBsZXhUZXh0SW5wdXQodGV4dElucHV0KSwgbV9wbHVnaW5JbnN0YW5jZUlEKTsKIH0K
LQogI2VuZGlmCiAKIHZvaWQgUGx1Z2luUHJveHk6OnByaXZhdGVCcm93c2luZ1N0YXRlQ2hhbmdl
ZChib29sIGlzUHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCBlYzY3MTc4MThiY2VhMTg1YWRj
MWQxNWU3MTkyODdjNzJlM2U1OGRkLi4wMGU1MWM4Y2NhMmNhNzlhNTZkNmRkMGZkYjU0ZWQwMmMx
ODMzZDMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blZpZXcuY3BwCkBAIC0xMTQwLDYgKzExNDAsMTQgQEAgbWFjaF9wb3J0X3QgUGx1Z2luVmlldzo6
Y29tcG9zaXRpbmdSZW5kZXJTZXJ2ZXJQb3J0KCkKIHsKICAgICByZXR1cm4gV2ViUHJvY2Vzczo6
c2hhcmVkKCkuY29tcG9zaXRpbmdSZW5kZXJTZXJ2ZXJQb3J0KCk7CiB9CisKK2Zsb2F0IFBsdWdp
blZpZXc6OmNvbnRlbnRzU2NhbGVGYWN0b3IoKQoreworICAgIGlmIChQYWdlKiBwYWdlID0gZnJh
bWUoKSA/IGZyYW1lKCktPnBhZ2UoKSA6IDApCisgICAgICAgIHJldHVybiBwYWdlLT5kZXZpY2VT
Y2FsZUZhY3RvcigpOworICAgICAgICAKKyAgICByZXR1cm4gMTsKK30KICNlbmRpZgogICAgIAog
U3RyaW5nIFBsdWdpblZpZXc6OnByb3hpZXNGb3JVUkwoY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmll
dy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuaAppbmRl
eCA1NmFjZWNiMzkyNWIwNjM1Y2Y5MTdhMmMwYmM5N2FjNWIxZTk0M2RjLi4yMWI2ZTc3MWU4OTcw
YWExYzg2MDU4OTU0YzNkMDM0ZDFkZDAyYzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmgKQEAgLTE1MCw2ICsxNTAsNyBAQCBwcml2YXRlOgog
ICAgIHZpcnR1YWwgdm9pZCBwbHVnaW5Gb2N1c09yV2luZG93Rm9jdXNDaGFuZ2VkKGJvb2wgcGx1
Z2luSGFzRm9jdXNBbmRXaW5kb3dIYXNGb2N1cyk7CiAgICAgdmlydHVhbCB2b2lkIHNldENvbXBs
ZXhUZXh0SW5wdXRTdGF0ZShQbHVnaW5Db21wbGV4VGV4dElucHV0U3RhdGUpOwogICAgIHZpcnR1
YWwgbWFjaF9wb3J0X3QgY29tcG9zaXRpbmdSZW5kZXJTZXJ2ZXJQb3J0KCk7CisgICAgdmlydHVh
bCBmbG9hdCBjb250ZW50c1NjYWxlRmFjdG9yKCk7CiAjZW5kaWYKICAgICB2aXJ0dWFsIFN0cmlu
ZyBwcm94aWVzRm9yVVJMKGNvbnN0IFN0cmluZyYpOwogICAgIHZpcnR1YWwgU3RyaW5nIGNvb2tp
ZXNGb3JVUkwoY29uc3QgU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggNDAwZDdlMjc5NGEwMzgzOThhYmFlMjczMjE5M2I2OGI4
MDBjMzZlMy4uY2E1ZjBkMWUxMmE0MGJlNGIyMDA2ZWM0OTllNDhiMzZlNWI0NjI0YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtODQ2LDYg
Kzg0Niw5IEBAIGRvdWJsZSBXZWJQYWdlOjpwYWdlU2NhbGVGYWN0b3IoKSBjb25zdAogCiB2b2lk
IFdlYlBhZ2U6OnNldERldmljZVNjYWxlRmFjdG9yKGZsb2F0IHNjYWxlRmFjdG9yKQogeworICAg
IGlmIChzY2FsZUZhY3RvciA9PSBtX3BhZ2UtPmRldmljZVNjYWxlRmFjdG9yKCkpCisgICAgICAg
IHJldHVybjsKKwogICAgIG1fcGFnZS0+c2V0RGV2aWNlU2NhbGVGYWN0b3Ioc2NhbGVGYWN0b3Ip
OwogfQogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5k
ZXggMmU3MzEyYTc3N2I0MDBmYmE5YjYyNmNhOWJkNGI0YTAyNzRhMTRjOS4uMzM0OTFhNWVjZjBl
OTA5OTNhYmZlMjc4YTY1ZWQ0MWI4YWI5MDQxOCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9n
CisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDExLTEwLTI1ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgUGx1Zy1pbnMgaGF2
ZSB0byB1c2UgSmF2YVNjcmlwdCB0byBmaW5kIG91dCB0aGUgY3VycmVudCBkZXZpY2Ugc2NhbGUg
ZmFjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
NzIyNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTAwNDgyNTg+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgcGx1Zy1pbiB0ZXN0IGZvciBn
ZXR0aW5nIHRoZSBjb250ZW50cyBzY2FsZSBmYWN0b3IuCisKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9UZXN0cy9tYWMvQ29udGVudHNTY2Fs
ZUZhY3Rvci5jcHA6IEFkZGVkLgorICAgICAgICAoQ29udGVudHNTY2FsZUZhY3Rvcjo6Q29udGVu
dHNTY2FsZUZhY3Rvcik6CisgICAgICAgIChDb250ZW50c1NjYWxlRmFjdG9yOjpjb250ZW50c1Nj
YWxlRmFjdG9yKToKKyAgICAgICAgKENvbnRlbnRzU2NhbGVGYWN0b3I6OlNjcmlwdGFibGVPYmpl
Y3Q6Omhhc1Byb3BlcnR5KToKKyAgICAgICAgKENvbnRlbnRzU2NhbGVGYWN0b3I6OlNjcmlwdGFi
bGVPYmplY3Q6OmdldFByb3BlcnR5KToKKyAgICAgICAgKENvbnRlbnRzU2NhbGVGYWN0b3I6OlNj
cmlwdGFibGVPYmplY3Q6OnBsdWdpblRlc3QpOgorICAgICAgICAoQ29udGVudHNTY2FsZUZhY3Rv
cjo6TlBQX0dldFZhbHVlKToKKwogMjAxMS0xMC0yNSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJr
aXQub3JnPgogCiAgICAgICAgIEFkZCBhIC0tbWFrZSBvcHRpb24gdG8gdXBkYXRlLXdlYmtpdCB0
byBlbmdhZ2UgdGhlIE1ha2VmaWxlLWJhc2VkIGJ1aWxkIHN5c3RlbQpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggMjMzZWY1MWJiMmZlMDk3MTYzMWYzMWU1MTc1ZTc3MDdkN2I4YTdhOS4u
MWVkYTY3MGZmNjU5OTQzZTU4MTQyMjJlNTJmNjE3OTI2M2NkZjAzZiAxMDA2NDQKLS0tIGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC00MSw2ICs0MSw3IEBACiAJCTFBMzFFQjM4MTM0NjZBQzEwMDAxNzM3
MiAvKiBDb252ZXJ0UG9pbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUEzMUVCMzcxMzQ2NkFDMTAwMDE3MzcyIC8qIENvbnZlcnRQb2ludC5jcHAg
Ki87IH07CiAJCTFBM0UyOEFBMTMxMUQ3M0IwMDUwMTM0OSAvKiBHZXRVUkxXaXRoSmF2YVNjcmlw
dFVSTERlc3Ryb3lpbmdQbHVnaW4uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUEzRTI4QTkxMzExRDczQjAwNTAxMzQ5IC8qIEdldFVSTFdpdGhKYXZh
U2NyaXB0VVJMRGVzdHJveWluZ1BsdWdpbi5jcHAgKi87IH07CiAJCTFBNUNDMUY1MTM3REQyRUMw
MEE1RDdFNyAvKiBHZXRVUkxXaXRoSmF2YVNjcmlwdFVSTC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTVDQzFGMzEzN0REMkVDMDBBNUQ3RTcgLyog
R2V0VVJMV2l0aEphdmFTY3JpcHRVUkwuY3BwICovOyB9OworCQkxQTY2QzM1MTE0NTc2QTkyMDA5
OUExMTUgLyogQ29udGVudHNTY2FsZUZhY3Rvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTY2QzM0RjE0NTc2QTkyMDA5OUExMTUgLyogQ29udGVu
dHNTY2FsZUZhY3Rvci5jcHAgKi87IH07CiAJCTFBOEYwMkU4MEJCOUI0RUMwMDhDRkEzNCAvKiBU
ZXN0T2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQThGMDI0QzBCQjlCMDU2MDA4Q0ZBMzQgLyogVGVzdE9iamVjdC5oICovOyB9OwogCQkxQUM2
Qzg0OTBEMDc2Mzg2MDBDRDMxNjEgLyogbWFpbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUM2Qzc3RjBEMDc1ODlCMDBDRDMxNjEgLyogbWFpbi5j
cHAgKi87IH07CiAJCTFBQzZDODRBMEQwNzYzODYwMENEMzE2MSAvKiBQbHVnaW5PYmplY3QuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDNkM3ODAw
RDA3NTg5QjAwQ0QzMTYxIC8qIFBsdWdpbk9iamVjdC5jcHAgKi87IH07CkBAIC0yMjUsNiArMjI2
LDcgQEAKIAkJMUEzMUVCMzcxMzQ2NkFDMTAwMDE3MzcyIC8qIENvbnZlcnRQb2ludC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb252ZXJ0UG9pbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTNFMjhBOTEzMTFENzNCMDA1MDEzNDkgLyogR2V0
VVJMV2l0aEphdmFTY3JpcHRVUkxEZXN0cm95aW5nUGx1Z2luLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdldFVSTFdpdGhKYXZhU2NyaXB0VVJMRGVzdHJveWluZ1Bs
dWdpbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBNUNDMUYzMTM3REQyRUMw
MEE1RDdFNyAvKiBHZXRVUkxXaXRoSmF2YVNjcmlwdFVSTC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBHZXRVUkxXaXRoSmF2YVNjcmlwdFVSTC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBNjZDMzRGMTQ1NzZBOTIwMDk5QTExNSAvKiBDb250ZW50
c1NjYWxlRmFjdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENv
bnRlbnRzU2NhbGVGYWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQThG
MDI0QzBCQjlCMDU2MDA4Q0ZBMzQgLyogVGVzdE9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBUZXN0T2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTFBQzZDNzdGMEQwNzU4OUIwMENEMzE2MSAvKiBtYWluLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IG1haW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxQUM2Qzc4MDBEMDc1ODlCMDBDRDMxNjEgLyogUGx1Z2luT2JqZWN0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsdWdpbk9iamVjdC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC01MjUsNiArNTI3LDcgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJ
CTFBMzFFQjM3MTM0NjZBQzEwMDAxNzM3MiAvKiBDb252ZXJ0UG9pbnQuY3BwICovLAogCQkJCTFB
MTRDOEEzMTQwNkRFMDQwMEIyNTRGNyAvKiBTdXBwb3J0c0NhcmJvbkV2ZW50TW9kZWwuY3BwICov
LAorCQkJCTFBNjZDMzRGMTQ1NzZBOTIwMDk5QTExNSAvKiBDb250ZW50c1NjYWxlRmFjdG9yLmNw
cCAqLywKIAkJCSk7CiAJCQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
QEAgLTgzNSw2ICs4MzgsNyBAQAogCQkJCTRBRDZBMTE0MTNDODEyNDAwMEVBOTczNyAvKiBGb3Jt
VmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUExNEM4QTUxNDA2REUwNDAwQjI1NEY3IC8q
IFN1cHBvcnRzQ2FyYm9uRXZlbnRNb2RlbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTFFNDI5
ODE0MTE0MUM0MDAzODg3NTggLyogUHJpdmF0ZUJyb3dzaW5nLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTFBNjZDMzUxMTQ1NzZBOTIwMDk5QTExNSAvKiBDb250ZW50c1NjYWxlRmFjdG9yLmNwcCBp
biBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNj
YXBlUGx1Z0luL1Rlc3RzL21hYy9Db250ZW50c1NjYWxlRmFjdG9yLmNwcCBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9UZXN0cy9tYWMvQ29udGVudHNTY2FsZUZhY3Rv
ci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZTQxYjQ5MmRjY2ZmYTkwOWNmNmI5MGI5MTJlN2IwN2EyYmRkNWEw
MQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBs
dWdJbi9UZXN0cy9tYWMvQ29udGVudHNTY2FsZUZhY3Rvci5jcHAKQEAgLTAsMCArMSw3OCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJQbHVnaW5UZXN0LmgiCisKK3VzaW5nIG5hbWVzcGFjZSBz
dGQ7CisKK2NsYXNzIENvbnRlbnRzU2NhbGVGYWN0b3IgOiBwdWJsaWMgUGx1Z2luVGVzdCB7Citw
dWJsaWM6CisgICAgQ29udGVudHNTY2FsZUZhY3RvcihOUFAgbnBwLCBjb25zdCBzdHJpbmcmIGlk
ZW50aWZpZXIpCisgICAgICAgIDogUGx1Z2luVGVzdChucHAsIGlkZW50aWZpZXIpCisgICAgewor
ICAgIH0KKworcHJpdmF0ZToKKyAgICBkb3VibGUgY29udGVudHNTY2FsZUZhY3RvcigpCisgICAg
eworICAgICAgICBkb3VibGUgY29udGVudHNTY2FsZUZhY3RvciA9IDEuMDsKKyAgICAgICAgTlBO
X0dldFZhbHVlKE5QTlZjb250ZW50c1NjYWxlRmFjdG9yLCAmY29udGVudHNTY2FsZUZhY3Rvcik7
CisgICAgICAgIHJldHVybiBjb250ZW50c1NjYWxlRmFjdG9yOworICAgIH0KKworICAgIGNsYXNz
IFNjcmlwdGFibGVPYmplY3QgOiBwdWJsaWMgT2JqZWN0PFNjcmlwdGFibGVPYmplY3Q+IHsgCisg
ICAgcHVibGljOgorICAgICAgICBib29sIGhhc1Byb3BlcnR5KE5QSWRlbnRpZmllciBwcm9wZXJ0
eU5hbWUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBpZGVudGlmaWVySXMocHJvcGVy
dHlOYW1lLCAiY29udGVudHNTY2FsZUZhY3RvciIpOworICAgICAgICB9CisKKyAgICAgICAgYm9v
bCBnZXRQcm9wZXJ0eShOUElkZW50aWZpZXIgcHJvcGVydHlOYW1lLCBOUFZhcmlhbnQqIHJlc3Vs
dCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKGlkZW50aWZpZXJJcyhwcm9wZXJ0eU5hbWUs
ICJjb250ZW50c1NjYWxlRmFjdG9yIikpIHsKKyAgICAgICAgICAgICAgICBET1VCTEVfVE9fTlBW
QVJJQU5UKHBsdWdpblRlc3QoKS0+Y29udGVudHNTY2FsZUZhY3RvcigpLCAqcmVzdWx0KTsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICBwcml2YXRlOgorICAgICAgICBDb250ZW50
c1NjYWxlRmFjdG9yKiBwbHVnaW5UZXN0KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Q29u
dGVudHNTY2FsZUZhY3Rvcio+KE9iamVjdDxTY3JpcHRhYmxlT2JqZWN0Pjo6cGx1Z2luVGVzdCgp
KTsgfQorCisgICAgfTsKKworICAgIHZpcnR1YWwgTlBFcnJvciBOUFBfR2V0VmFsdWUoTlBQVmFy
aWFibGUgdmFyaWFibGUsIHZvaWQqIHZhbHVlKQorICAgIHsKKyAgICAgICAgaWYgKHZhcmlhYmxl
ICE9IE5QUFZwbHVnaW5TY3JpcHRhYmxlTlBPYmplY3QpCisgICAgICAgICAgICByZXR1cm4gTlBF
UlJfR0VORVJJQ19FUlJPUjsKKyAgICAgICAgCisgICAgICAgICooTlBPYmplY3QqKil2YWx1ZSA9
IFNjcmlwdGFibGVPYmplY3Q6OmNyZWF0ZSh0aGlzKTsKKyAgICAgICAgCisgICAgICAgIHJldHVy
biBOUEVSUl9OT19FUlJPUjsKKyAgICB9Cit9OworCitzdGF0aWMgUGx1Z2luVGVzdDo6UmVnaXN0
ZXI8Q29udGVudHNTY2FsZUZhY3Rvcj4gY29udGVudHNTY2FsZUZhY3RvcigiY29udGVudHMtc2Nh
bGUtZmFjdG9yIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzBlNjZiOWM0NjcyZjI2MDAyZTc0M2IzMWNmYjA1MTY1ZDZm
YWJjMy4uNmQ5ZTQxMDYxZjg5NTEzZGZlMzI2MDhkYzdjZjc5NDQyYjRkNDk1MyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDExLTEwLTI1ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBs
ZS5jb20+CisKKyAgICAgICAgUGx1Zy1pbnMgaGF2ZSB0byB1c2UgSmF2YVNjcmlwdCB0byBmaW5k
IG91dCB0aGUgY3VycmVudCBkZXZpY2Ugc2NhbGUgZmFjdG9yCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzIyNQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMTAwNDgyNTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9wbHVnaW5zL2Nv
bnRlbnRzLXNjYWxlLWZhY3Rvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL21hYy13azIvcGx1Z2lucy9jb250ZW50cy1zY2FsZS1mYWN0b3IuaHRtbDogQWRkZWQuCisK
IDIwMTEtMTAtMjUgIExlYW5kcm8gUGVyZWlyYSAgPGxlYW5kcm9AcHJvZnVzaW9uLm1vYmk+CiAK
ICAgICAgICAgW0VGTF0gVW5yZXZpZXdlZC4gQWRkIENTUzEgcGl4ZWwgYmFzZWxpbmVzLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9wbHVnaW5zL2NvbnRlbnRzLXNj
YWxlLWZhY3Rvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3Bs
dWdpbnMvY29udGVudHMtc2NhbGUtZmFjdG9yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMWNk
NWI4MDhjM2E1MWU2MzEyODgwYzU5ZDRjY2U0NGUzNzViMzRmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9wbHVnaW5zL2NvbnRlbnRzLXNjYWxlLWZhY3Rv
ci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitUZXN0cyB0aGF0IHBsdWctaW5zIGNhbiBx
dWVyeSBmb3IgdGhlIGNvbnRlbnRzIHNjYWxlIGZhY3RvcgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworUEFTUyBwbHVnaW4xLmNvbnRlbnRzU2NhbGVGYWN0b3IgaXMgMS4wCitQQVNT
IHBsdWdpbjIuY29udGVudHNTY2FsZUZhY3RvciBpcyAyLjAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9wbHVnaW5zL2NvbnRlbnRzLXNjYWxlLWZhY3Rvci5odG1s
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9wbHVnaW5zL2NvbnRlbnRzLXNjYWxlLWZh
Y3Rvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1OGNjZDFjZjhhMWI2YWRmOTU3YWU1ZDUxMDkxZWQ1YWVk
Y2I2MmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3Bs
dWdpbnMvY29udGVudHMtc2NhbGUtZmFjdG9yLmh0bWwKQEAgLTAsMCArMSw1MCBAQAorPGhlYWQ+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKSI+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KK2Z1bmN0aW9uIGNyZWF0ZVRlc3RQbHVnaW4odGVzdE5hbWUpCit7Cisg
ICAgdmFyIHBsdWdpbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImVtYmVkIik7CisgICAgcGx1
Z2luLnR5cGUgPSAiYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSI7CisgICAgcGx1
Z2luLnNldEF0dHJpYnV0ZSgndGVzdCcsIHRlc3ROYW1lKTsKKworICAgIHJldHVybiBwbHVnaW47
Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSAKK3sKKyAgICBpZiAoIXdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikgeworICAgICAgICBkZWJ1ZygiVGhpcyB0ZXN0IGNhbiBvbmx5IHJ1biBmcm9t
IHdpdGhpbiBEdW1wUmVuZGVyVHJlZSBiZWNhdXNlIGl0IHJlcXVpcmVzIFRlc3ROZXRzY2FwZVBs
dWdpbi5cbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIud2FpdFVudGlsRG9uZSgpOworCisgICAgcGx1Z2luMSA9IGNyZWF0ZVRlc3RQbHVnaW4o
J2NvbnRlbnRzLXNjYWxlLWZhY3RvcicpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cGx1Z2luMSk7CisgICAgCisgICAgc2hvdWxkQmUoInBsdWdpbjEuY29udGVudHNTY2FsZUZhY3Rv
ciIsICIxLjAiKTsKKworICAgIC8vIE5vdyBjaGFuZ2UgdGhlIGJhY2tpbmcgc2NhbGUgZmFjdG9y
LgorICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEJhY2tpbmdTY2FsZUZhY3RvcigyLCBmdW5j
dGlvbigpIHsKKyAgICAKKyAgICAgICAgcGx1Z2luMiA9IGNyZWF0ZVRlc3RQbHVnaW4oJ2NvbnRl
bnRzLXNjYWxlLWZhY3RvcicpOworICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBs
dWdpbjIpOworICAgIAorICAgICAgICBzaG91bGRCZSgicGx1Z2luMi5jb250ZW50c1NjYWxlRmFj
dG9yIiwgIjIuMCIpOworCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKKyAgICB9KTsKK30KKzwvc2NyaXB0PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3Rz
IHRoYXQgcGx1Zy1pbnMgY2FuIHF1ZXJ5IGZvciB0aGUgY29udGVudHMgc2NhbGUgZmFjdG9yIikK
KworCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cg==
</data>
<flag name="review"
          id="110495"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>