- 结合 DeepSeek 将测试用例转换为 Playwright 和 Selenium 脚本
Python测试之道
测试提效python测试用例seleniumeasyui
在实际测试场景中,测试工程师可能已经有大量的测试用例,但手动将这些用例转化为自动化脚本(如Selenium或Playwright)往往非常耗时。通过DeepSeek的语义分析和自然语言处理能力,可以自动解析测试用例并生成对应的Playwright或Selenium自动化脚本,从而显著提升效率。以下内容将展示如何结合DeepSeek,将测试用例动态生成Playwright和Selenium脚本,并应
- 探索游戏开发新境界:KAPLAY——快速构建游戏的神器
芮伦硕
探索游戏开发新境界:KAPLAY——快速构建游戏的神器kaplayAJavaScriptgamelibrary项目地址:https://gitcode.com/gh_mirrors/ka/kaplay在游戏开发的广阔天地里,KAPLAY正以其独特魅力,成为开发者的新宠儿。这是一款基于JavaScript的游戏引擎库,旨在让游戏创作既快捷又乐趣横生。想象一下,无需繁琐的底层编码,仅需几行代码就能搭建
- 微信小程序从右向左无限滚动组件封装(类似公告)
萧寂173
微信小程序微信小程序小程序
组件代码wxml代码{{scrollText}}{{scrollText}}wxss代码.container{display:flex;width:100vw;}.text-wrapper{display:flex;width:100vw;height:50rpx;overflow:hidden;position:relative;margin-right:20rpx;margin-left:20
- Grid布局示例代码
萧寂173
csscss前端javascript
示例一GridLayoutExample/*基础样式*/body{font-family:Arial,sans-serif;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px;}.grid-container{display:grid;gap:10px;/*间隔
- 肺结节公开数据集(LIDC-IDRI)
云小白66
https://wiki.cancerimagingarchive.net/display/Public/LIDC-IDRI
- 强化学习事后经验回放Hindsight Experience Replay
贝塔西塔
人工智能深度学习机器学习
事后诸葛亮其实并不是一无是处,OpenAI研究如何“事后诸葛亮”缓解强化学习稀疏奖励问题HindsightExperienceReplay(HER)原理详解HindsightExperienceReplay(HER)是强化学习中解决**稀疏奖励(SparseReward)问题的关键技术,通过目标重标记(GoalRelabeling)**将失败经验转化为有效训练数据,显著提升样本效率。以下是其核心原
- 使用PHP+HTML,实现流式输出效果(仿DeepSeek等对话式AI)
php
效果演示后端代码智能客服系统body{font-family:Arial,sans-serif;display:flex;justify-content:center;align-items:center;height:100vh;margin:0;background-color:#f4f4f9;}.chat-container{width:800px;background-color:#fff
- 弹性布局和网格布局的属性总结
qchengju
css前端
弹性布局(Flexbox)容器属性display:flex|inline-flex可以将容器定义为弹性容器。flex-direction:row|row-reverse|column|column-reverse设置主轴的方向,水平或者垂直亦或反转。flex-wrap:nowrap|wrap|wrap-reverse定义子项是否换行。flex-flow:;justify-content:flex-
- Azure Kinect双相机图像采集代码(纯Python)
古月映人行
AzureKinect相机开发azure数码相机python
python语言的双(多)相机图像采集一、前言二、开发原理1、pyk4a简介安装示例代码注意事项2、pyk4a库的改写使用方法改写内容1、__init__.py文件的修改2、capture.py文件的修改3、playback.py文件的修改4、pyk4a.py文件的修改5、record.py文件的修改二、双相机图像采集代码1).文件结构2).图像采集代码源码总结一、前言第一篇帖子中讲解了基于pyt
- Flex:截图实现之(1)使用AS3对剪贴板读取与写入
Winters_huang
flexstringflashhtmlrtflist
很有用的一篇文章,感谢原作者的分享。http://www.cnblogs.com/shinings/archive/2010/04/10/1709047.html基于安全考虑,Flash只允许将数据写入系统剪贴板中,因此,Flash之中只能执行System下的setClipboard方法.基于Flash的:例子如下:使用AS将数据写入内存package{importflash.display.Sp
- python tkinter ttk_tkinter.ttk
weixin_40002611
pythontkinterttk
Treeview¶Thettk.Treeviewwidgetdisplaysahierarchicalcollectionofitems.Eachitemhasatextuallabel,anoptionalimage,andanoptionallistofdatavalues.Thedatavaluesaredisplayedinsuccessivecolumnsafterthetreelabe
- GEE训练教程——从 JRC 洪水风险数据集中提取不同返回周期的洪水风险信息统计,进行直方图可视化和分析并下载数据
此星光明
GEE教程训练gee云计算jrc直方图洪水数据可视化
GEE训练教程——从JRC洪水风险数据集中提取不同返回周期的洪水风险信息,进行可视化和分析,并导出特定数据代码解释这段代码使用GoogleEarthEngine(GEE)处理全球洪水风险数据。以下是代码的逐行解释:1.定义地理区域vargeometry=/*color:#d63000*//*displayProperties:[{"type":"rectangle"}]*/ee.Geometry.
- 【c++】日志格式化输出:以cicadaplayer为例
等风来不如迎风去
c/c++笔面应用实战c++开发语言后端
输出形如如下的日志:2022-02-2119:04:31.41100D[0.9][ApsaraPlayerService]:
- Vue 学习随笔系列二十一 -- 多级表头表格封装
梅子酱~
vue.js学习javascript
多级表头表格封装文章目录多级表头表格封装1、表格组件封装2、实现效果1、表格组件封装本例子只写到第三层,可自行拓展exportdefault{data(){return{tableData:[{secondPlayer1:"aaa",thirdPlayer1:"111",thirdPlayer2:"222",},],//表格数据数组tableColumns:[//表头配置数组{label:"序号"
- 在VM虚拟机中搭建CentOS7并配置镜像仓库与网络
rider189
杂谈centos
一、准备工作软件工具VMwareWorkstationPro/Player(16+版本)CentOS7ISO镜像(推荐阿里云镜像站下载)硬件建议虚拟机内存:≥2GB处理器:1核以上磁盘空间:≥20GB二、创建VMware虚拟机新建虚拟机打开VMware,选择「创建新的虚拟机」→「自定义」→兼容性默认→选择「稍后安装操作系统」(关键步骤)。配置硬件参数客户机操作系统:Linux→CentOS764位
- 将网页操作的脚本自动保存成yaml ,然后修改使用
PyAIGCMaster
我的学习笔记python自动化
可以使用Playwright更优雅地实现你的需求,它相比Selenium具有更现代化的API和更好的浏览器控制能力。以下是基于Playwright的改进方案:---###**1.Playwright核心优势**-**内置自动等待**:无需手动处理元素加载等待-**多浏览器支持**:Chromium/Firefox/WebKit统一API-**强大的录制功能**:自带`codegen`模式可生成操作
- Google Play 支付 : 此版本的应用程序未配置为通过Google Play结算。有关详情,请访问帮助中心
倾城半生-花落成殇
AndroidGooglePlay支付android
导致这个问题的原因:1、安装的app包的versionName、versionCode和GooglePlayConsole上传的不一样GooglePlayConsole-所有应用-查看应用(上传安装的app或者修改版本号)2、安装的app包的签名和上传到GooglePlayConsole的包签名不一致GooglePlayConsole-所有应用-查看应用-设置-应用完整性(查看签名是否一致)
- Google Play支付:测试报错“无法购买您要的商品”问题
倾城半生-花落成殇
AndroidGooglePlay支付android
google账号不在测试人员名单到GooglePlayConsole设置-账号详情-许可测试将测试人员账号添加测试人员列表
- python语言tdcq剧集下载爬虫程序代码
EYYLTV
python爬虫开发语言
importrequestsimportreimportosfromlxmlimportetreeurl=“https://xunaizhan.com/xgplay/tiandichuanqi-1-1/”h={‘user-agent’:‘Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/131
- 【Vue插件】Vue-rideo-player视频播放插件的使用
Mr.Plum
Vuevue
git项目地址参考文章今天项目中遇到了需要能够查看实时监控视视频的功能,再查阅并摸索下完成实现了此功能,现在此记录一下使用安装:npminstallvue-video-player--save在main.js入口文件中引入importVideoPlayerfrom'vue-video-player'require('video.js/dist/video-js.css')require('
- yarn 4.x版本创建项目坑
yoyoj(游鲸)
包管理器js/ts工具库分享web前端前端yarn源代码管理ide
yarn4.x版本创建项目坑yarn的新版本速度确实非常哇塞,完全不输于pnpm,并且其天然提供的workspace功能更是非常的省事儿,所以我也注意到了这个包管理工具。用了一点空闲时间去了解了一下新版本的yarn。注意,如果需要直接获取解决方案,找到对应章节下的解决方案直接跳转查看就好。使用包管理工具那么肯定需要有项目去“play”一下子。但是我在创建项目和使用yarn的过程中遇到了很多有意思的
- 在 Vue 中监听常用按键事件(回车,ESC 键,空格等)
介si啥呀~
jsvue.js前端javascript
一、Vue原生按键修饰符(推荐)html@keydown.esc="cancel"@keyup.space="togglePlay"@keydown.delete="clear"@keydown.tab="nextField"@keyup.up="navigate(-1)"@keyup.down="navigate(1)"@keyup.left="moveLeft"@keyup.right="mo
- 五.ubuntu20.04 - ffmpeg推拉流以及Nginx、SRS本地部署
djykkkkkk
ffmpeg学习ffmpegnginx运维
一.本地部署nginx1.编译ffmpeg,参考这位博主的,编译选项有的enable找不到的不需要的可以直接删除,但是像sdl(包含ffplay)、h264、h265这些需要提前下载好,里面都有下载指令。Ubuntu20.04编译安装FFmpeg详细教程_ubuntu20.04bianyiffmpegcsdn-CSDN博客2.下载并配置编译Nginxubuntu20.04编译安装nginx_ubu
- 安卓音频和视频播放
编程之升级打怪
音视频
一、安卓程序如何播放音乐1、MediaPlayer类可以实现音乐播放,同时只能播放一个音频。2、有对应的接口来控制播放,暂停,停止。二、播放视频VideoView类能播放视频,同时只能播放一个视频。三、适合多音频SoundPool类可以播放多个小音乐,适合游戏。四、自定义视频播放SuficeView类适合自定义视频播放。五、进度条SeekBar类和ProgressBar类是进度条的组件;
- Playwright + MCP:用AI对话重新定义浏览器自动化,效率提升300%!
测试工程师成长之路
测试工程师成长之路人工智能Playwright自动化测试
一、引言:自动化测试的“瓶颈”与MCP的革新传统自动化测试依赖开发者手动编写脚本,不仅耗时且容易因页面动态变化失效。例如,一个简单的登录流程可能需要开发者手动定位元素、处理等待逻辑,甚至反复调试超时问题。而MCP(ModelContextProtocol)协议的出现,让工具与大语言模型(LLM)的协作成为可能——通过自然语言描述需求,即可自动完成浏览器操作。以Playwright为例,结合MCP协
- Playwright从入门到实战:比Selenium更快的数据爬取案例实战
梦想画家
#python工具软件selenium测试工具Playwright
摘要Playwright是微软开源的下一代浏览器自动化工具,凭借其高性能、跨浏览器支持和现代化设计,迅速成为Web自动化领域的热门选择。本文将从安装配置开始,通过实战演练展示其核心功能,并与Selenium深度对比,帮助开发者选择适合的工具。一、Playwright基础前置知识1.什么是Playwright?Playwright是一个支持Chromium、Firefox、WebKit的浏览器自动化
- 树莓派超全系列文档--(14)无需交互使用raspi-config工具其一
想躺在地上晒成地瓜干
树莓派树莓派linux树莓派教程RaspberryPi
无需交互使用raspi-config工具其一无需交互的`raspi-config`SystemoptionsWirelessLANAudioPasswordHostnameBoot/AutologinNetworkatbootSplashscreenPowerLEDBrowserDisplayoptionsUnderscanScreenblankingVNCresolutionComposite文
- Android Audio基础——MediaPlayer播放音频(二十一)
c小旭
AndroidAudioandroidAudio开发
AndroidSDK提供了3套音频播放的API,分别是:MediaPlayer,SoundPool,AudioTrack。简单来说,MediaPlayer更加适合在后台长时间播放本地音乐文件或者在线的流式资源。SoundPool则适合播放比较短的音频片段,比如游戏声音、按键声、铃声片段等等,它可以同时播放多个音频。而AudioTrack则更接近底层,提供了非常强大的控制能力,支持低延迟播放,适合流
- Ansible Playbook的字典变量替换技巧
t0_54program
编程问题解决手册ansiblewindows个人开发
在使用Ansible进行自动化任务编排时,常常需要处理字典类型的变量,尤其是在从NutanixPrismCentral获取虚拟机列表并需要对这些VM的名称进行替换时。今天我们来探讨一下如何在Ansible中高效地替换字典变量中的值。背景介绍假设我们有一个Ansibleplaybook,它需要从NutanixPrismCentral获取虚拟机的列表,包括虚拟机的UUID和名称(vm_name),然后
- Ansible Playbook中的动态变量处理
t0_54program
编程问题解决手册ansible个人开发
在使用Ansible编写Playbook时,经常会遇到需要处理动态变量的情况。特别是在虚拟机管理等复杂场景中,输入的数据可能包含随机生成的键名,这给变量的提取和使用带来了挑战。本文将结合实际案例,介绍如何在AnsiblePlaybook中处理这种动态变量。背景假设我们有一个自动化系统,它会输出一个包含虚拟机相关属性的JSON对象,这些属性通过extra_vars传递给AnsiblePlaybook
- java短路运算符和逻辑运算符的区别
3213213333332132
java基础
/*
* 逻辑运算符——不论是什么条件都要执行左右两边代码
* 短路运算符——我认为在底层就是利用物理电路的“并联”和“串联”实现的
* 原理很简单,并联电路代表短路或(||),串联电路代表短路与(&&)。
*
* 并联电路两个开关只要有一个开关闭合,电路就会通。
* 类似于短路或(||),只要有其中一个为true(开关闭合)是
- Java异常那些不得不说的事
白糖_
javaexception
一、在finally块中做数据回收操作
比如数据库连接都是很宝贵的,所以最好在finally中关闭连接。
JDBCAgent jdbc = new JDBCAgent();
try{
jdbc.excute("select * from ctp_log");
}catch(SQLException e){
...
}finally{
jdbc.close();
- utf-8与utf-8(无BOM)的区别
dcj3sjt126com
PHP
BOM——Byte Order Mark,就是字节序标记 在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输 字符"ZERO WIDTH NO-BREAK SPACE"。这样如
- JAVA Annotation之定义篇
周凡杨
java注解annotation入门注释
Annotation: 译为注释或注解
An annotation, in the Java computer programming language, is a form of syntactic metadata that can be added to Java source code. Classes, methods, variables, pa
- tomcat的多域名、虚拟主机配置
g21121
tomcat
众所周知apache可以配置多域名和虚拟主机,而且配置起来比较简单,但是项目用到的是tomcat,配来配去总是不成功。查了些资料才总算可以,下面就跟大家分享下经验。
很多朋友搜索的内容基本是告诉我们这么配置:
在Engine标签下增面积Host标签,如下:
<Host name="www.site1.com" appBase="webapps"
- Linux SSH 错误解析(Capistrano 的cap 访问错误 Permission )
510888780
linuxcapistrano
1.ssh -v hdfs@192.168.18.133 出现
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
错误
运行状况如下:
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuratio
- log4j的用法
Harry642
javalog4j
一、前言: log4j 是一个开放源码项目,是广泛使用的以Java编写的日志记录包。由于log4j出色的表现, 当时在log4j完成时,log4j开发组织曾建议sun在jdk1.4中用log4j取代jdk1.4 的日志工具类,但当时jdk1.4已接近完成,所以sun拒绝使用log4j,当在java开发中
- mysql、sqlserver、oracle分页,java分页统一接口实现
aijuans
oraclejave
定义:pageStart 起始页,pageEnd 终止页,pageSize页面容量
oracle分页:
select * from ( select mytable.*,rownum num from (实际传的SQL) where rownum<=pageEnd) where num>=pageStart
sqlServer分页:
- Hessian 简单例子
antlove
javaWebservicehessian
hello.hessian.MyCar.java
package hessian.pojo;
import java.io.Serializable;
public class MyCar implements Serializable {
private static final long serialVersionUID = 473690540190845543
- 数据库对象的同义词和序列
百合不是茶
sql序列同义词ORACLE权限
回顾简单的数据库权限等命令;
解锁用户和锁定用户
alter user scott account lock/unlock;
//system下查看系统中的用户
select * dba_users;
//创建用户名和密码
create user wj identified by wj;
identified by
//授予连接权和建表权
grant connect to
- 使用Powermock和mockito测试静态方法
bijian1013
持续集成单元测试mockitoPowermock
实例:
package com.bijian.study;
import static org.junit.Assert.assertEquals;
import java.io.IOException;
import org.junit.Before;
import org.junit.Test;
import or
- 精通Oracle10编程SQL(6)访问ORACLE
bijian1013
oracle数据库plsql
/*
*访问ORACLE
*/
--检索单行数据
--使用标量变量接收数据
DECLARE
v_ename emp.ename%TYPE;
v_sal emp.sal%TYPE;
BEGIN
select ename,sal into v_ename,v_sal
from emp where empno=&no;
dbms_output.pu
- 【Nginx四】Nginx作为HTTP负载均衡服务器
bit1129
nginx
Nginx的另一个常用的功能是作为负载均衡服务器。一个典型的web应用系统,通过负载均衡服务器,可以使得应用有多台后端服务器来响应客户端的请求。一个应用配置多台后端服务器,可以带来很多好处:
负载均衡的好处
增加可用资源
增加吞吐量
加快响应速度,降低延时
出错的重试验机制
Nginx主要支持三种均衡算法:
round-robin
l
- jquery-validation备忘
白糖_
jquerycssF#Firebug
留点学习jquery validation总结的代码:
function checkForm(){
validator = $("#commentForm").validate({// #formId为需要进行验证的表单ID
errorElement :"span",// 使用"div"标签标记错误, 默认:&
- solr限制admin界面访问(端口限制和http授权限制)
ronin47
限定Ip访问
solr的管理界面可以帮助我们做很多事情,但是把solr程序放到公网之后就要限制对admin的访问了。
可以通过tomcat的http基本授权来做限制,也可以通过iptables防火墙来限制。
我们先看如何通过tomcat配置http授权限制。
第一步: 在tomcat的conf/tomcat-users.xml文件中添加管理用户,比如:
<userusername="ad
- 多线程-用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1
bylijinnan
java多线程
public class IncDecThread {
private int j=10;
/*
* 题目:用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1
* 两个问题:
* 1、线程同步--synchronized
* 2、线程之间如何共享同一个j变量--内部类
*/
public static
- 买房历程
cfyme
2015-06-21: 万科未来城,看房子
2015-06-26: 办理贷款手续,贷款73万,贷款利率5.65=5.3675
2015-06-27: 房子首付,签完合同
2015-06-28,央行宣布降息 0.25,就2天的时间差啊,没赶上。
首付,老婆找他的小姐妹接了5万,另外几个朋友借了1-
- [军事与科技]制造大型太空战舰的前奏
comsci
制造
天气热了........空调和电扇要准备好..........
最近,世界形势日趋复杂化,战争的阴影开始覆盖全世界..........
所以,我们不得不关
- dateformat
dai_lm
DateFormat
"Symbol Meaning Presentation Ex."
"------ ------- ------------ ----"
"G era designator (Text) AD"
"y year
- Hadoop如何实现关联计算
datamachine
mapreducehadoop关联计算
选择Hadoop,低成本和高扩展性是主要原因,但但它的开发效率实在无法让人满意。
以关联计算为例。
假设:HDFS上有2个文件,分别是客户信息和订单信息,customerID是它们之间的关联字段。如何进行关联计算,以便将客户名称添加到订单列表中?
&nbs
- 用户模型中修改用户信息时,密码是如何处理的
dcj3sjt126com
yii
当我添加或修改用户记录的时候对于处理确认密码我遇到了一些麻烦,所有我想分享一下我是怎么处理的。
场景是使用的基本的那些(系统自带),你需要有一个数据表(user)并且表中有一个密码字段(password),它使用 sha1、md5或其他加密方式加密用户密码。
面是它的工作流程: 当创建用户的时候密码需要加密并且保存,但当修改用户记录时如果使用同样的场景我们最终就会把用户加密过的密码再次加密,这
- 中文 iOS/Mac 开发博客列表
dcj3sjt126com
Blog
本博客列表会不断更新维护,如果有推荐的博客,请到此处提交博客信息。
本博客列表涉及的文章内容支持 定制化Google搜索,特别感谢 JeOam 提供并帮助更新。
本博客列表也提供同步更新的OPML文件(下载OPML文件),可供导入到例如feedly等第三方定阅工具中,特别感谢 lcepy 提供自动转换脚本。这里有导入教程。
- js去除空格,去除左右两端的空格
蕃薯耀
去除左右两端的空格js去掉所有空格js去除空格
js去除空格,去除左右两端的空格
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&g
- SpringMVC4零配置--web.xml
hanqunfeng
springmvc4
servlet3.0+规范后,允许servlet,filter,listener不必声明在web.xml中,而是以硬编码的方式存在,实现容器的零配置。
ServletContainerInitializer:启动容器时负责加载相关配置
package javax.servlet;
import java.util.Set;
public interface ServletContainer
- 《开源框架那些事儿21》:巧借力与借巧力
j2eetop
框架UI
同样做前端UI,为什么有人花了一点力气,就可以做好?而有的人费尽全力,仍然错误百出?我们可以先看看几个故事。
故事1:巧借力,乌鸦也可以吃核桃
有一个盛产核桃的村子,每年秋末冬初,成群的乌鸦总会来到这里,到果园里捡拾那些被果农们遗落的核桃。
核桃仁虽然美味,但是外壳那么坚硬,乌鸦怎么才能吃到呢?原来乌鸦先把核桃叼起,然后飞到高高的树枝上,再将核桃摔下去,核桃落到坚硬的地面上,被撞破了,于是,
- JQuery EasyUI 验证扩展
可怜的猫
jqueryeasyui验证
最近项目中用到了前端框架-- EasyUI,在做校验的时候会涉及到很多需要自定义的内容,现把常用的验证方式总结出来,留待后用。
以下内容只需要在公用js中添加即可。
使用类似于如下:
<input class="easyui-textbox" name="mobile" id="mobile&
- 架构师之httpurlconnection----------读取和发送(流读取效率通用类)
nannan408
1.前言.
如题.
2.代码.
/*
* Copyright (c) 2015, S.F. Express Inc. All rights reserved.
*/
package com.test.test.test.send;
import java.io.IOException;
import java.io.InputStream
- Jquery性能优化
r361251
JavaScriptjquery
一、注意定义jQuery变量的时候添加var关键字
这个不仅仅是jQuery,所有javascript开发过程中,都需要注意,请一定不要定义成如下:
$loading = $('#loading'); //这个是全局定义,不知道哪里位置倒霉引用了相同的变量名,就会郁闷至死的
二、请使用一个var来定义变量
如果你使用多个变量的话,请如下方式定义:
. 代码如下:
var page
- 在eclipse项目中使用maven管理依赖
tjj006
eclipsemaven
概览:
如何导入maven项目至eclipse中
建立自有Maven Java类库服务器
建立符合maven代码库标准的自定义类库
Maven在管理Java类库方面有巨大的优势,像白衣所说就是非常“环保”。
我们平时用IDE开发都是把所需要的类库一股脑的全丢到项目目录下,然后全部添加到ide的构建路径中,如果用了SVN/CVS,这样会很容易就 把
- 中国天气网省市级联页面
x125858805
级联
1、页面及级联js
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
&l