华为云用户手册
-
应用现状 随着信息化技术的不断发展,企业的业务系统越来越多,各业务系统间需要进行数据的互联互通,以提升企业的运作效率。如何实现企业内新老业务系统之间的数据安全互通,甚至是跨企业业务系统的数据安全互通,成为企业越来越重视的问题。 随着企业的跨区域发展,企业的业务系统也随之部署到各区域子公司中,总公司与各区域子公司的业务系统间需要时常进行业务交互。若不同业务系统间直接访问对方的数据库,操作方式过于复杂,且容易发生数据库信息泄露风险。 企业在日常运营的过程中,会持续的生产和累积数据资产,大部分企业的数据资产仅在企业内部使用,资产复用率低。若直接把数据库提供给合作伙伴或第三方访问,又难以保证数据库的对外安全访问问题。
-
解决方案 服务集成APIC是ROMA Connect的API集成组件,支持将已有后端服务、数据源和自定义函数封装成标准的RESTful API,并对外开放,简化分享数据或提供服务的过程,降低企业之间对接的成本。 本章节介绍如何通过ROMA Connect的服务集成,快速把数据库开放为RESTful API,不同业务系统间的数据以API方式互相开放访问,同时在开放API时可选择多种安全认证方式,实现跨网络跨地域应用系统数据间的安全访问。 对数据提供方而言,使用RESTful API形式对外开放其数据库中的数据,通过简单的操作,即可快速、低成本、低风险的开放数据或服务,提供业务增值能力。 对数据使用方而言,不再需要定制各种连接客户端,只需要使用一个具备简单RESTful请求发送能力的客户端,即可轻松获取各种数据库的数据。 ROMA Connect的服务集成直接读取数据库中的数据,把读取到的数据封装为一个RESTful API,并开放给企业内或企业外的其他业务系统。其他业务系统通过调用该API,即可获取该业务系统数据库中的数据。 ROMA Connect的服务集成把数据库数据封装为RESTful API有两种实现方式: 数据API:通过编写SQL脚本方式,读取数据库中的数据。操作简单方便,但灵活性较低。 函数API:通过编写JavaScript脚本方式,读取数据库中的数据。ROMA Connect提供了用于读取数据库数据的Java类DataSourceClient,在读取数据后可以通过JavaScript脚本对数据进行编排适配。操作较复杂,但灵活性更高。
-
方案概述 Kafka将Topic划分为多个分区,消息被分布式存储在分区中。同一个消费组内,一个消费者可同时消费多个分区,但一个分区在同一时刻只能被一个消费者消费。 在消息处理过程中,如果客户端的消费速度跟不上服务端的发送速度,未处理的消息会越来越多,这部分消息就被称为堆积消息。消息没有被及时消费就会产生消息堆积,从而会造成消息消费延迟。 消息堆积原因 导致消息堆积的常见原因如下: 生产者短时间内生产大量消息到Topic,消费者无法及时消费。 消费者的消费能力不足(消费者并发低、消息处理时间长),导致消费效率低于生产效率。 消费者异常(如消费者故障、消费者网络异常等)导致无法消费消息。 Topic分区设置不合理,或新增分区无消费者消费。 Topic频繁重平衡导致消费效率降低。
-
物码管理操作 单击左边功能模块区中的【赋码管理】,进入到赋码界面,如下图: 图2 赋码管理 还可批次赋码操作,单击【批次赋码】-进入如下界面,按页面相应的操作说明进行操作即可完成。 图3 批次赋码 单点【新增】,进入赋码设置,按页面设置即可 图4 新增 新增/修改批次信息 选择模板后,列表将回显出对应的模板数据 单位:选择单位,对应是当前产品的分销单位/单品单位,将会应用到扫码收货 印码数量:为在线赋码方式的实际使用数量 容错率:为印码过程中允许印坏的数量,合理区间为0~20% 码池数量:印码数量*(1+容错率),在线赋码限制3000万,离线赋码限制104万,单击确定时做校验 赋码方式:在线赋码和离线赋码,在线赋码为将码包推送给印码厂商进行喷码,离线赋码则可以下载码包自行与印码厂商对接 查看赋码设置 图5 批次详情 展示进入批次的所有码级别信息 提交在线赋码:勾选在线赋码数据,单击【提交在线赋码】按钮后,将码包推送给印码厂商进行喷码 下载码包:勾选离线赋码数据,单击【下载码包】按钮后,将码包以EXCEL的形式下载到本地 离线赋码:勾选离线赋码数据,单击【离线赋码】按钮后,勾选的数据状态更改为已印刷,系统判断为对应的码已经全部印刷完成 激活:单击激活,则将当前级别的码包全部激活,可被有效扫描,防止盗刷 赋码设置及管理
-
应用场景 行业:该解决方案实践推荐快消行业客户使用,实现厂家管理业务人员、经销商及终端门店的一站式管理,提高厂家对产品供销市场的掌控力。 业务:推荐业务快速铺货,智能化铺货、活动、费控等投产一手抓,全面提升业务数智化能力,提升市场竞争力。 客户的痛点: 随着数智信息化的不断发展,以及人们生活水平的不断提升,对快消企业的管理、营销等都提出了更高的要求。 供销链路长,导致管理难度大;业务人员众多,人员工作、考核目标管控难度大,人效低下,人员工作积极性弱,拜访路线效能低,计划与达成偏差统计难度大等问题。 经营商、动销慢,不达业绩,经营商赋能无从下手,串货管控力度弱,导致区域间价格失控。经营商拓店无区域准确数据参考,大量无效拓客,费时费力,效率低,难度大。 快消行业营销费用缺少有效管控,导致投入大,产出少。 通过本方案实现的业务效果: 本章节介绍如何通过快消行业全渠道营销数智化解决方案对传统快消行业进行数智化信息化升级改造,实现快消行业的全渠道人、货、场的智能化管理,提升企业资金效能,从而提升快消企业的市场竞争力。 SFA(销售管理系统):旨在实现高效的销售团队管理,降低销售过程中的人员管理成本,赋能销售人员,激励销售团队完成销售业绩,提高收入。销售管理系统基础应用紧紧围绕白酒行业的销售人员工作场景展开设计。 DMS(经销商管理系统):旨在实现渠道订单规范化、高效化管理,渠道进销存的透明化,赋能经销商和分销商团队,打通合同-订单-审核-收款-对账-费用池-业绩计算的管理闭环,为提升经销商服务质量和订单流转效率提供强有力的保障。 TPM(费用管理系统):旨在实现企业营销费用投放、跟踪、分析的一体化管理,提升费用投放的准确度,把有限的营销费用投放到ROI最高的地方。TPM费用管理系统的使用,拉通预算控制与费用执行,建立营销费用管理闭环流程,让费用全流程在线化管理,实现费用匹配与投放真实。 SMS (终端门店管理)旨在实现从厂家到终端一体化透明化的打通,为厂家掌握终端提供有力武器,实现点对点高效费用投放同时赋能给终端门店老板,推动终端销售。SMS(终端门店管理)赋能品牌业务员+经销商业务员实现高效拓店与终端服务。 DI智能拓店系统:通过大数据模型,帮助品牌商,在目标区域快速找到店铺铺货,以提升市占率以及销量。 AIOT智能冰柜:提供硬件、软件,帮助品牌企业实时收集人流、产品动销等数据,一个可以提升产品销售的的智能冰柜。 解决方案实践的应用行业推荐: 通过华为云中立、安全、可信、持续创新的云服务,在云上快速部署快消行业全渠道营销数据化管理平台,为快消企业如饮料、烟酒、粮油、调味料、日用品等企业提供全渠道管理平台,其中包括SFA销售人员管理软件(PC+APP)、DMS经营商管理软件(PC+小程序)、TPM费用管控软件,DI智能拓店软件,以及智能冰柜(硬件+软件)。特别适合如下类型和行业的渠道管控: 饮料行业:是典型的传统快消行业,需借助经营商进行终端门店的大量铺货,需要对业务人员、厂家业务员、经营商业务员、终端门店,消费者等全渠道的管控。 烟酒行业:经营商、VIP终端门店、特通渠道等都围绕着营销费用有效投放、经营商业务员、厂家业务员、动销等管控,有效全渠道管控提升企业生存空间 调味品行业 啤酒行业 日用品行业 粮油行业
-
方案优势 智能拜访路线:可依据不同业务人员的路线,智能制定高效的拜访路线,且能跟踪计划与实际拜访的差距,路线的科学制定是成功维护终端门店的必要动作,还可根据门店的动销情况,智能推荐访次,如一周一访还是一周两访等。 智能拓店任务:得终端者得天下,终端门店的铺货率决胜天下,特别是饮料行业!本方案中的DI一是能进行企业终端门店真假进行清洗,二是结合企业的细分行业领域提供市场可拓真实终端门店信息,可一键派任务给到业务员,最后可追踪任务达成情况进行统计分析,一站式市场开拓有了更坚实的数据依据,数智时代的到来大大提升了企业拓店的效能,有的放矢,事半功倍。 营销费效比:营销费用投放已进入到准确投放阶段,根据不同的门店的地理位置、动销状态等综合分析进行有计划费用投入,实时投入效果,及时分析,给予管理人员进行活动指导,对于活动的真实性有了进一步的管控,减少营销费用的浪费。
-
方案架构 业务架构: 图1 业务架构图 方案主要由 华为云计算 底座+智能AI+玄武智慧CRM解决方案软件产品形成面向客户关系管理全流程的解决方案: SFA:聚焦企业对业务员销售拜访流程的精细化管理和绩效管理,全面提升企业线下终端业务效率和积极性。 DMS:围绕品牌下游渠道管理需求,优化品牌方与经销商间及下游分销商的订单等业务往来效率,实现准确分销,为品牌提升渠道管理效率。 TPM:通过数据化与智能化手段,帮助企业实现市场营销费用从预算到核销、从线上到线下一体化管控,全面提升终端费用投放费效比。 部署架构: 图2 部署架构图 方案通过华为云CCE、RabbitMQ、Kafka以及WAF等实现架构弹性伸缩、高性能及安全可靠; CCE 提供高可靠高性能的企业级容器应用管理服务,支持Kubernetes社区原生应用和工具,简化云上自动化容器运行环境搭建; 通过RabbitMQ、Kafka 提供低延迟、弹性高可靠、高吞吐、动态扩展、便捷多样的消息中间件服务; 通过WAF保护网站等Web应用程序免受常见Web攻击,保障业务持续稳定运行,满足合规和监管要求; 使用 MRS -ClickHouse作为大数据数仓,提供OLAP能力,并且列存储可以将数据压缩,大幅降低存储成本和读取开销,提高查询性能; 通过OCR提供具备高精度、高性能的全文识别和高阶结构化识别能力; FRS能够在图像中快速检测人脸、分析人脸关键点信息、获取人脸属性、实现人脸的精确比对和检索。
-
组织人员操作(初始化操作) 登录PC端,账号+密码方式登录 图1 登录PC端 单击【组织人员】-【职位管理】页面,单击【新增职位】按钮,根据界面,完善职位信息后单击保存。 图2 新增职位 单击“职位列表”右侧【设置职位权限】,进入职位权限设置界面。 图3 设置职位权限 单击“职位列表”右侧【设置应用组织】。进入“设置应用组织”页面。设置后单击【保存】 图4 设置应用组织 新增营销组织树,单击【组织人员】-【组织管理】进入组织管理界面,在所需营销组织树下,选择新增节点后,单击【新增】进入新增营销组织设置界面,如下图所示: 图5 新增营销组织树 可通过单击【营销组织树】中的节点,组织列表中右边的【管理组织职位】、【查看职位人员】进行查看,进入到查看界面,如下图所示: 图6 营销组织树 以下生成职位,生成账号:勾选人员,单击【生成账号】,可生成该人员账号,用于登录Web端、app端;转换职位:应用于人员调岗或人员监管岗位设置 设置负责组织:应用在管理人员在不同机构下相同岗位,可以通过设置多负责组织方式查看多机构数据。 关联所属上级:应用于后续业务流程审批(如请假、活动申请等) 图7 生成账号 单击【账号管理】,可以对所有人员账号进行管理操作,如下图所示: 图8 账号管理 系统管理人员还需要进行数据字典的初始化设置,选择左侧某个字典对象,单击右侧【排序】按钮,在弹出的窗口中选择某个字典,上下拖动,调整顺序,单击【保存】按钮即可完成排序。 图9 初始化设置 保存完以上设置:组织人员包括人员账号、权限等设置。
-
资源和成本规划 表1 资源和成本规划 云资源 规格 数量 每月费用(元) 云容器引擎 产品分类: CCE容器集群 | Standard/Turbo | 50节点 | 是 1 ¥1262.40 弹性负载均衡 实例类型: 共享型负载均衡(性能保障模式) IP费用: 1个 | 全动态BGP 带宽: 全动态BGP | 带宽 | 1Mbit/s 1 ¥173.00 Web应用防火墙 规格选择: 标准版 1 ¥3880.00 分布式缓存服务Redis 产品类型: 基础版 | 6.0 | 主备 | X86 | D RAM | 2 | 128 MB 1 ¥8.44 业务引擎 规格: X86计算 | 通用计算增强型 | c6.xlarge.2 | 4核 | 8GB 镜像: AlmaLinux | AlmaLinux 9.0 64bit 系统盘: 通用型SSD | 40GB 弹性公网IP: 全动态BGP | 独享 | 按带宽计费 | 5Mbit/s 1 ¥560.20 报表引擎 规格: X86计算 | 通用计算增强型 | c3.xlarge.2 | 4核 | 8GB 镜像: AlmaLinux | AlmaLinux 9.0 64bit 系统盘: 通用型SSD | 40GB 弹性公网IP: 全动态BGP | 独享 | 按带宽计费 | 5Mbit/s 1 ¥582.10 弹性公网IP 带宽费用: 独享 | 全动态BGP | 按带宽计费 | 1Mbit/s 弹性公网IP费用: 1个 1 ¥23.00 分布式消息服务 RabbitMQ版 规格: 单机 | 4u8g.single | 代理个数:1 单个代理存储空间: 超高IO | 100GB ( 总存储空间: 100GB ) 1 ¥1360.00 分布式消息服务 Kafka版 规格: kafka.4u8g.cluster | 代理个数:3 单个代理存储空间: 超高IO | 100GB ( 总存储空间: 300GB ) 1 ¥4080.00 云数据库 RDS(for PostgreSQL) 规格: 通用可用区 | MySQL | 8.0 | 主备 | 通用型 | 2核4GB 存储空间: SSD云盘 | 40GB 1 ¥470.00 MapReduce ClickHouse Master 节点: 系统盘:高IO | 480GB *2 Master 节点: 数据盘:高IO | 200GB *2 node_group_1: 系统盘:高IO | 480GB *3 node_group_1: 数据盘:高IO | 100GB | 1个 *3 1 ¥1085.00 对象存储服务 产品类型: 对象存储 | 标准存储单AZ存储包 | 40GB 1 ¥1.00 企业主机安全 规格: 企业版 1 ¥90.00 云备份 存储库类型: 云服务器备份存储库 | 1000GB 1 ¥200.00 云日志 服务 日志读写流量: 59.51 GB 日志索引流量: 299.51 GB 日志存储空间: 69.51 GB 1 ¥130.65 应用运维管理 自定义指标上报量: 100百万次/天 指标存储时长: 7天 数据转储: 1GB 1 ¥70.20 云堡垒机 实例类型: 单机 性能规格: 10资产标准版 1 ¥700.00 OCR 服务类型: 不动产权证识别 | 1千次 1 ¥83.00 FRS 计费方式: 按调用量计费 | 人脸比对V2 | 300万 1 ¥9300.00 云数据库 GaussDB (for MySQL) CPU架构: X86 | 独享型 | 4核16GB | 2个节点 存储空间: DL5 | 40GB 1 ¥2342.00 容器镜像服务 4核,8G 1 ¥500.00 Anti-DDoS流量清洗 4核,8G 1 ¥100.00 总计:¥27000.99
-
与其他服务的关系 表1 异步复制与其他服务的关系 交互功能 相关服务 位置 使用弹性云服务器创建异步复制的保护实例。 弹性云服务器 创建保护实例 使用云硬盘创建异步复制的容灾盘。 云硬盘 创建保护实例 为异步复制创建云上的容灾网络。 虚拟私有云 创建站点复制对 作为生产端和容灾端的数据缓存。 对象存储服务 - 表2 同步复制与其他服务的关系 交互功能 相关服务 位置 使用弹性云服务器创建同步复制的保护实例。 弹性云服务器 创建保护实例 使用云硬盘创建同步复制的复制对。 云硬盘 创建复制对 使用专属分布式存储提供的独享物理存储资源创建的云硬盘来创建同步复制的复制对。 专属分布式存储 创建复制对 为同步复制的保护组选择一个所属的虚拟私有云。 虚拟私有云 创建保护组
-
产品基本概念 表1 公共概念 概念 说明 生产站点 正常情况下承载业务的数据中心机房,可以独立运行,对业务的正常运作起到直接支持作用。对于异步复制,生产站点指的是用户的本地数据中心、租户的服务器云主机所在的位置。对于同步复制,生产站点在创建保护组时指定,即租户的服务器所在的位置。 容灾站点 正常情况下不直接承载业务的机房,主要用于数据实时备份,在生产站点发生故障(计划性和非计划性)时可以通过执行容灾切换来接管业务,地理上不一定与业务管理中心接近,可以在同一个城市,也可以在不同的城市。 保护组 用于管理一组需要复制的服务器。一个保护组可以管理一个虚拟私有云下的服务器,租户拥有多个虚拟私有云时则需要创建多个保护组。 保护实例 一对拥有复制关系的服务器。保护实例仅属于一个特定的保护组,因此这对服务器所在位置与保护组的生产站点或容灾站点相同。 VBD VBD(Virtual Block Device)是云硬盘磁盘模式的一种。云硬盘的磁盘模式默认为VBD类型。VBD类型的云硬盘只支持简单的S CS I读写命令。适用于企业的日常办公应用以及开发测试等场景。 SCSI SCSI(Small Computer System Interface)是云硬盘磁盘模式的一种。SCSI类型的云硬盘支持SCSI指令透传,允许服务器操作系统直接访问底层存储介质。除了简单的SCSI读写命令,SCSI类型的云硬盘还可以支持更高级的SCSI命令,例如持久锁预留,适用于通过锁机制保障数据安全的集群应用场景。 RPO 恢复点目标,一种业务切换策略,是数据丢失最少的容灾切换策略。以数据恢复点为目标,确保容灾切换所使用的数据为最新的备份数据。 RTO 恢复时间目标,为使中断对业务所带来的冲击最小化,关键业务从中断时间点恢复到预定可接受水平上的目标时间。具体体现为,从生产站点发起切换或故障切换操作起,至容灾站点的服务器开始运行为止的一段时间,不包括手动操作DNS配置,安全组配置或执行客户脚本等任何时间,RTO小于30分钟。 容灾演练 为了确保一旦发生故障切换后,容灾机能够正常接管业务而进行的操作。 通过容灾演练,模拟真实故障恢复场景,制定应急恢复预案,当真实故障发生时,通过预案快速恢复业务,提高业务连续性。 表2 异步复制 概念 说明 站点复制对 一对拥有复制关系的生产站点和容灾站点。 云容灾网关 云容灾网关将生产站点所有被容灾的服务器上的数据进行汇聚压缩,并同步到容灾站点。 代理客户端 代理客户端将所在服务器上的数据传输到云容灾网关。 开启保护 生产业务位于生产站点时,数据同步停止后可执行此操作,用来开始数据同步。 切换 将业务从用户的生产站点切换到容灾站点。切换后数据同步中断,保护实例的状态是切换完成。 切回 切换完成后,当前生产业务位于容灾站点,通过切回操作,可将生产业务从容灾站点切回到生产站点。切回完成后,数据不再进行同步。 反向重保护 切换完成后,数据不会自动反向同步(容灾站点到生产站点),保护实例处于停止保护状态,如需开始反向数据同步,需要进行反向重保护操作。 重保护 切回完成后,数据不会自动同步(生产站点到容灾站点),保护实例处于停止保护状态,如需开始数据同步,需要进行重保护操作。 停止保护 生产业务位于生产站点时,数据同步中或者同步完成后可执行此操作,用来停止数据同步。 表3 同步复制概念 概念 说明 复制对 一对拥有复制关系的云硬盘。复制对仅属于一个特定的保护组,且可以挂载给同一个保护组下的保护实例。 切换 临时关闭生产站点服务器进行计划性迁移,可将业务从生产站点可用区切换到容灾站点可用区。切换后容灾方向更改为从容灾站点到生产站点,容灾站点可用区内的服务器和云硬盘等资源可启动。 故障切换 系统将生产站点的业务强制置为不可启动,将容灾站点的业务设置为可启动。该动作影响保护组内的所有保护实例,故障切换后,租户需要启动容灾站点的服务器。故障切换后,保护组进入故障切换状态,并中断数据同步,需要通过重保护来恢复数据同步。 开启保护 在保护组创建后、数据同步停止后可执行此操作,用来开始数据复制,此时界面上有复制进度的提示,该动作影响保护组内的所有保护实例、复制对。 单击“开启保护”,保护组状态变为“同步中”,此时,保护组不允许停止保护。 重保护 在故障切换后可执行此操作,用来开始数据复制,此时界面上有复制进度的提示,该动作影响保护组内的所有保护实例、复制对。 故障切换操作后,单击“重保护”,保护组的状态变为“重新开启保护中”,此时,保护组不允许停止保护。 停止保护 在保护组的数据同步完成后可执行此操作,用来停止数据复制。停止完成后,保护状态变为可用。 挂载复制对 将一个复制对挂载给一个保护实例,等价于同时为保护实例中的两个服务器挂载复制对中的两个云硬盘。 卸载复制对 从一个保护实例中卸载一个复制对,等价于同时从保护实例中的两个服务器中卸载复制对中的两个云硬盘。 容灾方向 创建保护组时,选择的生产站点可用区到容灾站点可用区的数据复制方向。 切换操作会改变保护组的容灾方向,将生产站点可用区的业务切换到容灾站点可用区,容灾站点可用区的业务切换到生产站点可用区。 保护组状态 同步复制对某一个保护组进行创建、删除、开启保护、停止保护、切换、故障切换等操作之后的状态,表示该保护组资源的状态。 具体请参见《存储容灾服务接口参考》附录中的“保护组状态”。 同步状态 保护组的生产站点可用区与容灾站点可用区之间的数据复制状态。 所属VPC VPC即虚拟私有云,可以方便地管理、配置内部网络,进行安全、快捷的网络变更,不同虚拟私有云里面的服务器网络默认不通。所属VPC即保护组所在的虚拟私有云。 父主题: 基本概念
-
产品优势 存储容灾服务具有以下优势: 便捷的业务恢复方案 存储容灾服务提供集中的控制台,您可以通过管理控制台配置和管理服务器复制,执行切换和容灾演练等操作。 服务器复制 您可以创建从生产站点至容灾站点的复制。 按需复制 您可以将服务器按需复制至另一个可用区,免除您维护另一个数据中心的成本和复杂度。 不感知应用 运行在服务器上的任何应用都支持被复制。 RPO目标 存储容灾服务为云服务器提供异步复制,恢复点目标(RPO)为秒级。 RTO目标 恢复时间目标(RTO)为从生产站点发起切换或故障切换操作起,至容灾站点的服务器开始运行为止的一段时间,不包括手动操作DNS配置、安全组配置或执行客户脚本等任何时间,正常情况下,SDRS的RTO小于30分钟。 保持崩溃一致性 保证基于主机的异步复制,您容灾站点的数据与生产站点的数据保持崩溃一致性(存储容灾服务可以保证崩溃一致性,不能保证应用一致性)。 在不中断业务的情况下进行容灾演练 支持在线一键式容灾演练,通过容灾演练,模拟真实故障恢复场景,制定应急恢复预案,当真实故障发生时,通过预案快速恢复业务,提高业务连续性。 灵活的故障切换 生产站点发生故障时,可一键式执行切换操作,在容灾站点自动创建、部署、拉起云服务器,并挂载包含最新数据的容灾盘,仅需用户少量配置即可恢复业务。 高性价比:业务正常情况下,容灾端不启动云服务器,用户只需要支付少量的OBS服务费用以及容灾站点云硬盘费用即可。 部署简单:Agent在线安装,生产业务不中断,部署简单快捷。
-
什么是区域、可用区? 区域和可用区用来描述数据中心的位置,您可以在特定的区域、可用区创建资源。 区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 可用区(AZ,Availability Zone):一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 图1阐明了区域和可用区之间的关系。 图1 区域和可用区 目前,华为云已在全球多个地域开放云服务,您可以根据需求选择适合自己的区域和可用区。更多信息请参见华为云全球站点。
-
基本概念 账号 用户注册时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用他们进行日常管理工作。 用户 由账号在 IAM 中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中创建资源,然后以子项目为单位进行授权,使得仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型
-
SDRS权限 默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 SDRS部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京四)对应的项目(cn-north-4)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问SDRS时,需要先切换至授权区域。 如表1所示,包括了SDRS的所有系统角色。由于华为云各服务之间存在业务交互关系,存储容灾服务的角色依赖其他服务的角色实现功能。因此给用户授予存储容灾服务的角色时,需要同时授予依赖的角色,存储容灾服务的权限才能生效。 表1 SDRS系统角色 策略名称 描述 依赖关系 SDRS Administrator 存储容灾服务的管理员权限。 依赖Tenant Guest、Server Administrator和VPC Administrator策略。 Tenant Guest:全局级策略,在全局项目中勾选。 Server Administrator:项目级策略,在同项目中勾选。 VPC Administrator:项目级策略,在同项目中勾选。
-
存储容灾 存储容灾服务(Storage Disaster Recovery Service)是一种为弹性云服务器(Elastic Cloud Server,ECS)和云硬盘(Elastic Volume Service,EVS)等服务提供容灾的服务。通过主机层复制、数据冗余和缓存加速等多项技术,提供给用户高级别的数据可靠性以及业务连续性,简称存储容灾。 存储容灾服务有助于保护业务应用,将弹性云服务器的数据、配置信息复制到容灾站点,并允许业务应用在生产站点云服务器服务器停机期间在容灾站点云服务器上启动并正常运行,从而提升业务连续性。
-
容灾与备份 容灾和备份具有以下区别: 容灾主要应对数据中心软硬件故障或重大自然灾害,生产站点和容灾站点之间通常会保持一定的安全距离,支持同城或异地;备份主要针对人为误操作、病毒感染、逻辑错误等因素,用于业务系统的数据恢复,数据备份一般在同一数据中心进行。 容灾系统不仅保护数据,更重要的目的在于保证业务的连续性;而数据备份系统只保护不同时间点版本数据的可恢复。一般首次备份为全量备份,所需的备份时间会比较长,而后续增量备份则在较短时间内就可完成。 容灾可实现低至秒级的RPO;备份可设置一天最多24个不同时间点的自动备份策略,后续可将数据恢复至不同的备份点。 故障情况下(例如地震、火灾、数据中心故障),容灾系统的切换时间一般为分钟级;而备份系统的恢复时间可能几小时到几十小时。
-
调用API获取项目ID 项目ID可以通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为IAM的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "xxxxxxxx", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" }}
-
状态码 正常 返回值 说明 200 请求成功。 异常 状态码 编码 说明 400 Bad Request 服务器不能或不会处理该请求。 401 Unauthorized 当前请求需要用户验证。 403 Forbidden 服务器拒绝执行该请求。 404 Not Found 服务器无法找到被请求的资源。 418 I'm a teapot 请求参数错误,服务器无法处理该请求。 500 Internal Server Error 请求失败,服务异常。 父主题: 附录
-
请求URI 请求URI由如下部分组成。 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 URI-scheme: 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint: 指定承载REST服务端点的服务器 域名 或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点获取。 例如IAM服务在“华北-北京一”区域的Endpoint为“iam.cn-north-1.myhuaweicloud.com”。 resource-path: 资源路径,也即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string: 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。 例如您需要获取IAM在“华北-北京一”区域的Token,则需使用“华北-北京一”区域的Endpoint(iam.cn-north-1.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,同一个服务的Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
-
请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxxxxxxxxxxxx为project的名称,如“cn-north-1”,您可以从地区和终端节点获取,对应地区和终端节点页面的“区域”字段的值。 scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可以设置Token作用域为某个账号下所有资源或账号的某个project下的资源,详细定义请参见获取用户Token。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokensContent-Type: application/json{ "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxxxxxxxxxxxx" } } }} 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
-
请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源,如删除对象等。 HEAD:请求服务器资源头部。 PATCH:请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
-
请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 如下公共消息头需要添加到请求中。 Content-Type:消息体的类型(格式),必选,默认取值为“application/json”,有其他取值时会在具体接口中专门说明。 X-Auth-Token:用户Token,可选,当使用Token方式认证时,必须填充该字段。用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参见AK/SK认证。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokensContent-Type: application/json
-
响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 端口总数 最小值:0 最大值:100000 data Array of PortItem objects 端口信息列表 数组长度:0 - 100000 表5 PortItem 参数 参数类型 描述 port Integer 端口号 最小值:0 最大值:65535 service String 服务 最小长度:0 最大长度:1000 protocol String 端口协议: TCP UDP 枚举值: TCP UDP status String 端口状态: filtered - 过滤的 open - 开放 枚举值: filtered open 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 418 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256
-
URI GET /v3/{project_id}/webscan/results/ports 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 用户的project_id,获取方法请参见获取项目ID。 最小长度:32 最大长度:32 表2 Query参数 参数 是否必选 参数类型 描述 task_id 是 String 任务ID 最小长度:32 最大长度:50 offset 否 Integer 分页查询,偏移量,表示从此偏移量开始查询 最小值:0 最大值:10000 缺省值:0 limit 否 Integer 分页查询,每页显示的条目数量 最小值:1 最大值:10000 缺省值:5
-
响应示例 状态码: 200 OK { "total" : 1, "data" : [ { "port" : 22, "service" : "Secure Shell (SSH), secure logins, file transfers (scp, sftp) and port forwarding", "protocol" : "TCP", "status" : "open" } ]}
-
响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 task_id String 任务ID 最小长度:32 最大长度:50 report_status String PDF报告生成状态: ungenerated - 未生成 generating - 生成中 generated - 已生成 failed - 生成失败 枚举值: ungenerated generating generated failed 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 418 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256
-
URI GET /v3/{project_id}/webscan/report/status 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 用户的project_id,获取方法请参见获取项目ID。 最小长度:32 最大长度:32 表2 Query参数 参数 是否必选 参数类型 描述 task_id 是 String 任务ID 最小长度:32 最大长度:50
-
响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 info_code String 状态码: success - 成功 failure - 失败 枚举值: success failure info_description String 返回的提示信息 最小长度:0 最大长度:64 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 418 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256
-
响应示例 状态码: 200 OK { "total" : 1, "items" : [ { "type" : "protocolvuln", "port" : "general-tcp", "title" : "Apache Log4j2 Remote Code Execution Vulnerability", "sa_id" : "Apache Log4j2 Remote Code Execution Vulnerability", "vuln_id" : "1.3.6.1.4.1.25623.1.0.301012-general-tcp", "severity" : "high", "topic" : "Apache Log4j2 Remote Code Execution Vulnerability", "description" : "Apache Log4j2 2.0-beta9 through 2.15.0 (excluding security releases 2.12.2, 2.12.3) JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. \\nAn attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution is enabled.\\nhttps://www.huaweicloud.com/notice/2021/20211210001621800.html\\n", "fix_advisory" : "Update log4j to 2.12.2, 2.16.0 or later. Ask application vendor for a fix.\\nPlease refer to https://www.huaweicloud.com/notice/2021/20211210001621800.html", "cve_list" : [ { "id" : "CVE-2021-44228", "link" : "" } ], "ref_link_list" : [ "" ], "vul_detect_result" : "/var/lib/docker/overlay2/54e1e225d711d77afc0e8cf6fa3dda0274c56659b21d214715ee53f18565789f/diff/root/sdkrend/log4j-core-2.8.2.jar\\n", "cvss_score" : "9.3", "cvss_version" : "", "cvss_vector" : "AV:N/AC:M/Au:N/C:C/I:C/A:C", "is_ignore" : false } ]}
共100000条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- ...
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333