华为云用户手册
-
配置参数说明 ROMA Connect的实例配置参数如下表所示。 表2 配置参数说明 参数名 参数说明 ratelimit_api_limits API全局默认流控值。API未绑定流控策略时,执行此默认流控;API绑定流控策略时,则执行绑定的流控策略。 request_body_size API请求中允许携带的Body大小上限。 backend_timeout APIC到后端服务的请求超时时间上限。 app_token app_token认证方式开关。启用后,可在API请求中使用获取的access_token进行API的调用认证。 app_token_expire_time:access_token的有效时间,在access_token到期前,需要获取新的access_token。 refresh_token_expire_time:refresh_token的有效时间。refresh_token用于获取新的access_token。 app_token_uri:获取access_token的uri。 app_token_key:access_token的加密key。 app_api_key app_api_key认证方式开关。启用后,可在API请求中添加“apikey”参数,携带集成应用的Key(或客户端的AppKey)进行API的调用认证。 app_basic app_basic认证方式开关。启用后,可在API请求中添加“Authorization”参数,携带集成应用的Key和Secret(或客户端的AppKey和AppSecret)进行API的调用认证。 app_jwt app_jwt认证方式开关。启用后,可在API请求中添加“Authorization”和“Timestamp”参数,携带集成应用的Key和Secret(或客户端的AppKey和AppSecret)以及时间戳进行API的调用认证。 app_jwt_auth_header:app_jwt认证头,即API请求中携带app_jwt认证信息的Header参数,默认为Authorization。 app_secret app_secret认证方式开关。启用后,可在API请求中添加“X-HW-ID”和“X-HW-AppKey”参数,携带集成应用的Key和Secret(或客户端的AppKey和AppSecret)进行API的调用认证。 public_key public_key类型后端签名开关。启用后,可在后端签名认证中使用public_key类型签名。 public_key_uri_prefix:获取public_key对应secret的uri前缀。具体uri格式为:https://{服务集成APIC 连接地址}{public_key_uri_prefix}{public_key签名密钥名称}。 app_route 支持IP访问开关。启用后,非DEFAULT分组下的API可以使用IP地址调用。 使用app_router方式进行调用的API,其所属应用以及授权应用下不能有路径相同的API,如果有相同路径的API,在使用app_router前需要删除所有路径相同的API,并重新创建。 cascade API级联功能开关。启用后,可以实现跨实例间的API调用。 cascade_auth_key:级联认证的加密密钥,用于级联API之间的调用认证。 cascade_instance_ids:级联实例的实例ID列表,仅允许的实例可级联到当前实例。 default_group_hide DEFAULT分组隐藏开关。启用后,DEFAULT分组被隐藏。 livedata_config 自定义后端配置。 sandbox_max_memory:函数后端中执行脚本所允许使用的内存最大值。 sandbox_max_cpu_time:函数后端中执行脚本所允许占用的CPU时间最大值。 livedata_env:自定义后端的运行模式,设置为online时,自定义后端将会按照线上格式返回。 gw_address_protocol:函数脚本中,通过DICT:gw_rest_float_addr字段传递的默认请求协议。 procedure_async:存储过程是否使用异步方式执行。 dataapi_return_type:数据后端的返回格式。 backend_client_certificate 后端双向认证开关。启用后,创建API配置后端服务时,可配置后端双向认证。 ssl_ciphers 可支持配置的https加密套件,可根据需要选择开启的加密套件。 apiclient_first_use_x_hw_id 自定义后端的ApiClient类是否优先使用X-HW-ID字段进行校验。 real_ip_from_xff 是否使用X-Forwarded-For头中的IP作为ACL、流控的判断依据。 xff_index:X-Forwarded-For头中IP的排序序号,值允许为正数、负数、0。 xff_index值为0或正数时,获取X-Forwarded-For头中对应索引的IP。 xff_index值为负数时,按倒序方式从X-Forwarded-For头中获取IP。 例如到达API网关的X-Forwarded-For头中依次有IP1,IP2,IP3三个IP地址,xff_index取0时获取IP1,xff_index取1时获取IP2,xff_index取-1时获取IP3,xff_index取-2时获取IP2。 custom_log 自定义日志功能开关。开启自定义日志功能后,ROMA Connect实例下所有API的调用日志中会打印指定位置(header、query和cookie)和指定名称的参数值。 启用后,需单击“添加”,添加需在调用日志中打印的参数。 自定义日志只支持打印客户端发起的请求中携带的信息,不支持打印APIC中定义的常量参数和系统参数信息。 自定义日志最多支持添加10个参数,且所有参数字段总大小不超过2KB。 自定义日志打印的参数值中部分特殊字符会进行编码,例如:加号(+)会被编码为空格,双引号(")会被编码为“\x22”,反斜杠(\)会被编码为“\x5C”。 real_ip_header_getter header_getter:是否开启用户自定义Header获取源ip地址,作为访问控制、流控策略的源ip生效依据。 vpc_name_modifiable 负载通道名称支持修改开关。开启后可修改负载通道名称,但当前实例的负载通道无法通过“VPC通道管理-项目级”API接口操作。 default_group_host_trustlist DEFAULT分组中的API是否支持非本实例IP访问。开启后,IP列表中配置的地址可访问DEFAULT分组中的API,请根据业务需要谨慎添加。 缺省分组是否支持配置非本实例IP:DEFAULT分组中的API是否支持非本实例IP访问开关。 非本实例IP列表:填写允许访问DEFAULT分组中API的非本实例主机地址,多个IP地址间使用英文分号(;)分隔。 data_api_column_types_converted_to_string 数据后端是否支持数据列类型转换String类型。开启后,勾选的数据列类型允许转换为String类型数据。 是否支持配置数据列类型:数据后端的数据列类型转换String类型开关。 数据列类型列表:勾选要转换String类型的数据列类型,当前仅支持nvarchar2类型。 kafka_log_plugin_options Kafka日志推送插件可推送的请求体和响应体大小配置。 request_body_size:Kafka日志推送插件可推送的请求体大小上限。 response_body_size:Kafka日志推送插件可推送的响应体大小上限。 sse_strategy SSE传输策略开关,默认关闭。启用后,支持通过使用Server-Sent Events (SSE)按照流式输出后端API的响应内容,可以实现逐字符渲染。 sse_strategy配置完成后,如需修改,至少需要1分钟后。 request_custom_config 支持自定义配置客户端请求相关参数。 HTTP/2:HTTP/2协议的开关,默认为开启状态。 request_body_timeout:客户端请求体超时时间的修改,默认为8秒。网络状况差或请求体过大的情况下可适当调整该参数。 客户端请求自定义配置修改完成后,如需再次修改,至少需要1分钟后。 gzip 对响应请求使用gzip压缩,用于减少公网流量。默认未配置gzip压缩,配置后1分钟生效,请谨慎修改。 启用后,可配置comp_level参数,comp_level表示压缩级别,值越大表示性能消耗越大,一般默认为6。 响应请求体大于1KB时,您可以使用gzip压缩文件(即1KB以下的文件不做压缩)。 gzip压缩支持的文件类型有text/xml、text/plain、text/css、application/javascript、application/x-javascript、application/rss+xml、text/javascript、image/tiff、image/svg+xml、application/json、application/xml 启用gzip压缩后,须在请求中添加请求头“Accept-Encoding: gzip”。 gzip配置完成后,如需修改,至少需要1分钟后。 custom_auth_header 认证头域自定义配置开关,默认关闭。启用后,参数“app_auth_header”和“backend_sign_header”的初始值为空,与不启用效果一致。 如果配置“app_auth_header”的“参数运行值”,那么对于APP认证的API,请求header中携带APP认证信息的参数为此处“app_auth_header”的值;如果配置“backend_sign_header”的“参数运行值”,那么对于绑定HMAC或者Basic Auth类型签名密钥策略的API,APIC到后端服务的请求header中携带签名信息的参数为此处“backend_sign_header”的值。 配置后会影响当前实例下所有APP认证或签名密钥策略(HMAC/Basic Auth类型),请谨慎配置。 api_uri_no_escape API的URL中的Path转义处理开关。默认关闭,表示URL中的Path会进行转义处理。 开启“api_uri_no_escape”开关后,使用Path不转义的功能请参见表3。 op_trusted_ips API认证方式为华为 IAM 认证时可配置。 控制 API 的调用来源 IP 。新建实例的“op_trusted_ips”默认禁止所有源IP访问,需要在“配置参数”页面的“op_trusted_ips”中添加源IP网段才可以访问。 访问控制策略中的IP地址控制属于API级别控制IP,此处的IP控制属于实例级别控制IP。 表3 Path不转义影响的功能 功能 描述 API前端定义的Path 请求发送时使用的Path api_uri_no_escape开关关闭 api_uri_no_escape开关开启 API定义 APIC进行匹配路由的Path /{path} /aa%2Faa /aa/aa /aa%2Faa 参数编排 后端服务参数使用的Path - - /aa/aa /aa%2Faa http到https重定向 重定向使用的Path - - /aa/aa /aa%2Faa 策略后端 策略条件为请求入参的Path - - /aa/aa /aa%2Faa 第三方认证策略 API绑定第三方认证策略后,传递到第三方的Path - - /aa/aa /aa%2Faa kafka日志推送策略 API绑定kafka日志推送策略后,使用的请求Path - - /aa/aa /aa%2Faa 负载通道 使用URI哈希分发算法的负载通道时,APIC用来转发的Path - - /aa/aa /aa%2Faa FunctionGraph后端 API的后端类型为FunctionGraph时,发送到函数请求Path - - /aa/aa /aa%2Faa 自定义认证 API认证方式选择自定义认证时,发送到函数请求Path - - /aa/aa /aa%2Faa
-
导出资产 在实例控制台的“实例信息”页面,单击右上角的“导出资产”。 导出资产。 导出指定资产:勾选您想要导出的应用和任务资产,然后单击“导出已选”,导出资产文件到本地。 导出全部资产:单击“导出全部资产”,导出资产文件到本地。 导出应用资产时,如果需要导出所有API资产信息,可勾选“是否导出应用中的所有API资产信息”按钮,所有API资产信息包括自有API和授权API。不勾选时,导出自有API和自有授权API信息。 完成后单击“关闭”,您可以在本地查看已导出的资产。
-
导入资产 在实例控制台的“实例信息”页面,单击右上角的“导入资产”。 在“导入资产”弹窗中根据实际情况选择“新增导入”或“覆盖导入”。 不同实例的数据源ID不可以相同,如含有相同ID的数据源,请选择覆盖导入。 当选择“覆盖导入”时,根据是否需要覆盖环境配置选择“覆盖”或“不覆盖”。 覆盖:当导入的数据源存在同名数据源时,选择更新数据源。 不覆盖:当导入的数据源存在同名数据源时,不做更新。 输入前缀。 同一实例的数据集成任务名不可以重复,如含有相同名称的FDI任务,请输入前缀。 在弹窗中选择本地保存的资产文件,并导入。 完成后单击“关闭”,您可以在实例中查看已导入的资产。 自定义认证名称全局唯一,若导入资产时实例中已有相同名称的自定义认证,会在新导入的自定义认证名称后添加随机字符,避免重名。 若导入资产时出现以下报错信息,请联系技术支持升级实例。 "CipherEntry":{"reason":"{\"resourceType\":\"cipherEntries\",\"resourceId\":\"\",\"resourceName\":null,\"errorCode\":\"APIG.9999\",\"errorMsg\":\"System error\"}"}
-
前提条件 资产导入功能仅支持集成资产数据导入,不支持资产相关的实例配置数据导入。在完成集成资产的导入后,还需要完成资产相关的实例配置,具体配置说明和配置指导请参见恢复/迁移集成资产。 资产导入时,需要保证资产导入和导出的实例配置相同,否则会导致资产导入失败。例如:app_route开启后不允许API之间存在路径冲突,若导出的实例未开启app_route,导入的实例开启了app_route,如果导入资产包中存在路径冲突的API,则资产无法导入。 不支持导入导出API的流量控制策略、访问控制策略和签名密钥。 若导入的资产中含有后端类型为FunctionGraph的API,需确保当前用户账号下FunctionGraph的函数版本或别名与资产包中的相同。 导入资产时,当应用A存在API定时任务且此任务调用应用B的API时,此时会导入失败。导入时可先导入应用B的资产,再导入应用A的资产即可解决。
-
概述 在开放API前,您需要为API分组绑定独立 域名 ,用户通过独立域名访问分组内的API。 独立域名可分为内网域名和公网域名两种: 内网域名:部署在云服务平台内的业务系统,可以使用内网域名访问API。 公网域名:部署在云服务平台外的业务系统,可以使用公网域名访问API。 您也可以使用系统分配的默认子域名访问API分组内的API,该子域名唯一且不可修改,每天最多可以访问1000次,仅适用于内部测试使用。 Site实例不支持使用子域名调用API,仅支持使用IP+Host头方式调用API。
-
获取域名 云服务平台内业务系统访问API的场景,需获取内网域名作为独立域名。 申请内网域名,具体请参考创建内网域名。 配置域名到“服务集成APIC 连接地址”的A类型记录集配置,具体请参考增加A类型记录集。 如果API分组中的API支持HTTPS请求协议,则需要为独立域名添加SSL证书。您需要提前获取SSL证书的内容和密钥,并创建SSL证书。 云服务平台外业务系统访问API的场景,需获取公网域名作为独立域名。 申请公网域名,具体可通过 域名注册服务 申请。 备案公网域名,您可以通过备案中心完成域名备案。备案时长需几个工作日,建议您提前进行备案。 配置域名到API分组子域名的CNAME类型记录集配置,具体请参考增加CNAME类型记录集。 如果API分组中的API支持HTTPS请求协议,则需要为独立域名添加SSL证书。您需要提前获取SSL证书的内容和密钥,并创建SSL证书。
-
配置参数说明 表1 配置参数 参数 配置说明 策略基本信息 Broker地址 日志要推送的目标Kafka连接地址列表,多个地址间以英文逗号(,)隔开。 Topic主题 日志要推送的目标Kafka Topic名称。 Key 填写消息的Key值,表示消息存储在Kafka的指定分区,可以当成有序消息队列使用。如果Key为空,则消息分布式存储在不同的消息分区。 失败重试配置 日志推送到Kafka失败后的重试配置。 重试次数:失败后的重试次数,范围为0-5次。 重试间隔:失败后的重试时间间隔,范围为1-10秒。 SASL配置信息 安全协议 连接目标Kafka所使用的安全协议。 PLAINTEXT:默认接入点的用户认证协议。 SASL_PLAINTEXT:SASL用户认证协议。 SASL_SSL:SSL用户认证协议。 消息收发机制 目标Kafka的消息收发的机制,默认为PLAIN。 SASL用户名 仅当“安全协议”选择“SASL_PLAINTEXT”或“SASL_SSL”时需配置。 SASL或SSL认证所使用的用户名。 SASL用户密码 仅当“安全协议”选择“SASL_PLAINTEXT”或“SASL_SSL”时需配置。 SASL或SSL认证所使用的用户密码。 证书内容 仅当“安全协议”选择“SASL_SSL”时需配置。 SSL认证所使用的CA证书内容。 元数据配置信息 系统元数据 推送的日志中,需要携带的系统字段信息。 其中,start_time、request_id、client_ip、request_time、http_status、scheme、request_method、host、uri、upstream_addr、upstream_status、upstream_response_time、http_x_forwarded_for、http_user_agent和error_type字段信息默认在日志中携带,其他系统字段需勾选后才携带。 请求数据 推送的日志中,需要携带的API请求信息。 日志包含请求头域信息:勾选后,需填写日志中要携带的请求Header参数。多个字段间使用英文逗号(,)分隔,支持使用*进行通配设置。 日志包含请求QueryString信息:勾选后,需填写日志中要携带的请求Query参数信息。多个字段间使用英文逗号(,)分隔,支持使用*进行通配设置。 日志包含请求Body体信息:勾选后,日志中会携带API请求的Body体信息。 响应数据 推送的日志中,需要携带的API响应信息。 日志包含响应头域信息:勾选后,需填写日志中要携带的响应Header参数。多个字段间使用英文逗号(,)分隔,支持使用*进行通配设置。 日志包含响应Body体信息:勾选后,日志中会携带响应Body体信息。 自定义认证配置 推送的日志中,需要携带的自定义认证信息。 前端:填写日志中要携带的前端自定义认证的响应字段信息,多个字段间使用英文逗号(,)分隔。 后端:填写日志中要携带的后端自定义认证的响应字段信息,多个字段间使用英文逗号(,)分隔。
-
使用限制 同一个API在同一个环境中只能绑定一个相同类型的插件策略,已被API绑定的插件策略无法删除。 同一个ROMA Connect实例内最多可创建5个Kafka日志推送插件。 推送的日志信息中,响应数据暂不支持Transfer Encoding响应头参数。 默认支持推送的最大日志大小为4K,超出的日志部分会被截断。 推送的日志信息中,请求Body和响应Body信息是按UTF-8编码方式计算字节长度。
-
概述 ROMA Connect提供了常见的数据源连接支持,如关系型数据库、消息队列、API、NoSQL、对象存储等,这些数据源可以直接在ROMA Connect中使用,您只需要接入数据源,创建并启动数据集成任务,就可以将您的源端数据集成到目标端。 如果ROMA Connect支持的数据源类型无法接入您使用的数据源,您可以自行开发一个数据源插件,用于实现对数据源的读写。同时,这个数据源插件以标准RESTful接口形式供ROMA Connect接入,最终实现ROMA Connect对数据源的读写。这个数据源插件称为连接器,这类通过连接器接入的数据源称为自定义数据源。 连接器可以直连数据源,是数据源与ROMA Connect的数据交换通道。ROMA Connect对数据源的读写请求,通过调用连接器开放标准的RESTful接口完成。 在完成连接器的开发和部署后,您需要在ROMA Connect上创建连接器,定义连接器的对接参数。
-
操作步骤 登录ROMA Connect控制台,在左侧的导航栏选择“资产管理”。 单击页面右上角的“创建连接器”。 在创建连接器页面中填写连接器的相关配置信息。 表1 连接器配置 参数 配置说明 连接器名称 填写连接器的名称,根据规划自定义。建议您按照一定的命名规则填写连接器名称,方便您快速识别和查找。 类型 选择连接器操作数据的权限类型。 读写:连接器可对数据源进行读写操作。 读:连接器仅可对数据源进行读操作。 写:连接器仅可对数据源进行写操作。 描述 填写连接器的描述信息。 数据源定义 定义数据源的接入参数。在配置ROMA Connect接入该数据源时,需要配置此处定义的接入参数。ROMA Connect与连接器间交互的消息数据为JSON格式,参数以Key-Value形式传递。 单击“添加参数”,添加数据源的接入参数。 参数名称:参数在数据源接入配置界面的显示名称,仅用于识别参数,在实际数据集成任务中不产生作用。 参数键:数据源接入请求中传递的参数Key。 参数值类型:参数值在数据源接入配置界面的配置样式。 Text:字符输入框。 Select:下拉选择框。 Date:日期控件,可选择日期与时间。 Textarea:字符输入框,可换行。 校验规则:是否对输入的参数值进行校验。 无:不校验。 不允许有特殊字符:校验参数值是否有特殊字符,约定字符范围包含数字、字母、中划线、下划线。 默认值:参数值如果没有填写时,是否传递一个默认值,置空则表示不传递默认值。 是否必填:参数是否必须填写。 读端参数定义 定义数据源的读端参数,在数据集成任务的源端选择该数据源时,需要配置此处定义的读端参数。ROMA Connect与连接器间交互的消息数据为JSON格式,参数以Key-Value形式传递。 单击“添加参数”,添加数据源的读端参数,具体的参数配置说明与“数据源定义”类似。 写端参数定义 定义数据源的写端参数,在数据集成任务的目标端选择该数据源时,需要配置此处定义的写端参数。ROMA Connect与连接器间交互的消息数据为JSON格式,参数以Key-Value形式传递。 单击“添加参数”,添加数据源的写端参数,具体的参数配置说明与“数据源定义”类似。 图1 连接器参数定义示例 完成后单击“创建”,完成连接器的创建。
-
附录:API错误码 用户调用API失败时,系统返回的错误码如下所示。 表1 错误码 HTTP状态码 错误码 错误描述 解决方案 404 APIC.0101 The API does not exist or has not been published in the environment. 检查域名、方法、路径和注册的API是否一致。 检查API是否发布,如果发布到非生产环境,检查请求X-Stage头是否为发布的环境名。 500 APIC.0103 The backend does not exist. 联系技术支持。 500 APIC.0104 The plug-ins do not exist. 联系技术支持。 500 APIC.0105 The backend configurations do not exist. 联系技术支持。 400 APIC.0106 Orchestration error. 检查API配置的前后端参数是否合理。 400 APIC.0201 Bad request. 使用合法的请求。 413 APIC.0201 Request entity too large. 减小请求body大小,小于12M。 414 APIC.0201 Request URI too large. 减小请求URI大小,小于32K。 494 APIC.0201 Request headers too large. 减小请求头大小,单个请求头小于32K或所有请求头总长度小于128K。 502 APIC.0202 Backend unavailable. 检查API配置的后端地址是否可用。 504 APIC.0203 Backend timeout. 增大超时时间或缩小后端的处理时间。 401 APIC.0301 Incorrect IAM authentication information. 检查token是否正确。 403 APIC.0302 The IAM user is not authorized to access the API. 检查用户是否被黑白名单限制。 401 APIC.0303 Incorrect App authentication information. 检查请求的方法、路径、查询参数、请求体和签名使用的方法、路径、查询参数、请求体是否一致。 检查客户端机器时间是否正确。 403 APIC.0304 The app is not authorized to access the API. 检查APP是否授权访问API。 401 APIC.0305 Incorrect authentication information. 检查认证信息是否正确。 403 APIC.0306 API access denied. 检查是否授权访问API。 401 APIC.0307 The token must be updated. token需要更新。 429 APIC.0308 The throttling threshold has been reached. 等待流控时间结束后再访问API,或修改流控限制值。 403 APIC.0401 Unknown client IP address. 联系技术支持。 403 APIC.0402 The IP address is not authorized to access the API. 检查IP地址是否被黑白名单限制。 503 APIC.0404 Access to the backend IP address has been denied. 使用可用的IP地址访问后端服务。 403 APIC.0405 The app is not accessed from a trusted IP address. 检查IP地址是否被客户端访问控制策略限制。 500 APIC.0601 Internal server error. 联系技术支持。 400 APIC.0602 Bad request. 检查请求是否合法。 500 APIC.0605 Backend domain name resolution failed. 检查域名拼写,以及域名是否绑定了正确的后端地址。 500 APIC.0606 Failed to load the API configurations. 联系技术支持。 400 APIC.0607 The following protocol is supported: {xxx} 改用支持的协议(HTTP/HTTPS)访问。 500 APIC.0608 Failed to obtain the admin token. 联系技术支持。 500 APIC.0609 The VPC backend does not exist. 联系技术支持。 502 APIC.0610 No backend available. 检查所有后端是否可用。 500 APIC.0611 The backend port does not exist. 联系技术支持。 500 APIC.0612 An API cannot call itself. 修改API后端配置,递归调用层数不能超过10层。 500 APIC.0705 Backend signature calculation failed. 联系技术支持。 父主题: 调用API
-
概述 ROMA Connect通过创建负载通道,可访问指定服务器中已部署的后端服务,并实现后端服务访问的负载均衡功能。ROMA Connect的负载通道可直接访问同一VPC内的弹性云服务器(E CS ),也可以通过IP访问其他VPC内的ECS和私有服务器。 例如,VPC中包含6台ECS,ROMA Connect已创建一条负载通道,并把ECS 01和ECS 04已添加到负载通道中,此时ROMA Connect通过负载通道可以直接访问VPC中的ECS 01和ECS 04。 图1 访问负载通道中的ECS
-
操作步骤 登录ROMA Connect控制台,在“实例”页面单击实例上的“查看控制台”,进入实例控制台。 在左侧的导航栏选择“数据源管理”,单击页面右上角的“接入数据源”。 在接入数据源页面的“默认数据源”页签下,选择“IBM MQ”类型的数据源,然后单击“下一步”。 在页面中配置数据源的连接信息。 表1 数据源连接信息 参数 配置说明 数据源名称 填写数据源的名称,根据规划自定义。建议您按照一定的命名规则填写数据源名称,方便您快速识别和查找。 编码格式 默认“utf-8”格式。 集成应用 选择数据源所归属的集成应用。 描述 填写数据源的描述信息。 连接地址 填写IBM MQ的连接IP地址和端口号。 队列管理器 填写IBM MQ队列管理器的名称。 字符集标识 填写IBM MQ队列管理器的编码字符集标识。 通道名称 填写连接IBM MQ队列管理器所使用的通道名称。 用户名 填写连接IBM MQ的用户名。 密码 填写连接IBM MQ的用户密码。 是否开启SSL认证 ROMA Connect与IBM MQ的连接是否使用SSL认证加密。 密钥算法套件 仅当“是否开启SSL认证”选择“是”时需要配置。 填写“通道名称”所指队列管理器通道中,使用的密钥算法套件名称。 公钥库文件 仅当“是否开启SSL认证”选择“是”时需要配置。 SSL认证过程中,客户端(ROMA Connect)使用的公钥库文件,与服务端(IBM MQ)使用的私钥相匹配。 公钥库密码 仅当“是否开启SSL认证”选择“是”时需要配置。 公钥库文件对应的密码。 以开启SSL认证为例,需要上传公钥库文件,数据源的接入配置示例如下图所示。 图1 IBM MQ数据源配置示例 完成数据源接入配置后,单击“开始检测”,检测ROMA Connect与数据源之间是否能够连通。 若测试结果为“数据源连接成功!”,则继续下一步。 若测试结果为“数据源连接失败!”,则检查数据源状态和数据源连接参数配置,然后单击“重新检测”,直到连接成功为止。 单击“创建”,完成数据源的接入。
-
操作步骤 登录ROMA Connect控制台,在“实例”页面单击实例上的“查看控制台”,进入实例控制台。 在左侧的导航栏选择“数据源管理”,单击页面右上角的“接入数据源”。 在接入数据源页面的“默认数据源”页签下,选择“HIVE”类型的数据源,然后单击“下一步”。 在页面中配置数据源的连接信息。 表1 数据源连接信息 参数 配置说明 数据源名称 填写数据源的名称,根据规划自定义。建议您按照一定的命名规则填写数据源名称,方便您快速识别和查找。 编码格式 默认“utf-8”格式。 集成应用 选择数据源所归属的集成应用。 描述 填写数据源的描述信息。 连接模式 选择数据库的连接方式。 默认:使用系统默认方式连接数据库。 专业:使用JDBC方式连接数据库。 连接地址 仅当“连接模式”选择“默认”时需要配置。 填写数据库的连接IP地址和端口号。 数据库名 仅当“连接模式”选择“默认”时需要配置。 填写要接入的数据库名。 连接字符串 仅当“连接模式”选择“专业”时需要配置。 填写HIVE的JDBC格式连接串,例如:jdbc:hive2://{hostname}:{port}/{dbname}。 {hostname}为数据库的连接地址。 {port}为数据库的连接端口号。 {dbname}为要接入的数据库名。 用户名 填写连接数据库的用户名。 密码 填写连接数据库的用户密码。 HIVE数据源的接入配置与DB2的类似,配置示例可参考DB2数据源接入配置示例。 完成数据源接入配置后,单击“开始检测”,检测ROMA Connect与数据源之间是否能够连通。 若测试结果为“数据源连接成功!”,则继续下一步。 若测试结果为“数据源连接失败!”,则检查数据源状态和数据源连接参数配置,然后单击“重新检测”,直到连接成功为止。 单击“创建”,完成数据源的接入。
-
附录:订阅的通知消息报文 以普通设备为例介绍订阅管理中MQS各报文示例。 消息属性 {"deviceIdentifier":"iottest2", // 设备标识"eventTime":"1588843914884", // 消息时间"gatewayIdentifier":"null", // 网关设备标识"deviceId":"D114VKx7a", // 设备ID"gatewayId":"null", // 网关设备ID"TAGS":"null" // 消息标签} 普通设备/网关设备时,gatewayId和gatewayIdentifier的值设置为null。 网关子设备时,gatewayId和gatewayIdentifier分别为其网关设备的deviceId和deviceIdentifier。 消息内容 设备添加 {'deviceType':'Default', // 设备类型'instanceOid':'40', // 实例Oid'manufacturerName':'iotcompro1',// 厂商名称'productOid':'1', // 产品Oid'manufacturerId':'iotcompro1', // 厂商ID'remark':'', // 设备描述'deviceId':'D114VKx7a', // 设备ID'deviceName':'iottest2',// 设备名称'productName':'iotcompro1',// 产品名称'notifyType':'deviceAdded',// 消息类型'deviceIdentifier':'iottest2',// 设备标识'deviceOid':'14', // 设备Oid'createdBy':'admin', // 创建者'eventTime':'1588843914884',// 消息时间'model':'iotcompro1', // 产品模型'productType':'0', // 产品类型 1-网关产品 0-普通产品'status':'0', // 设备状态 0-启用 1-禁用'parentDeviceOid':'null'// 父设备Oid} 设备删除 {'notifyType':'deviceDeleted',// 消息类型'deviceIdentifier':'iottest2',// 设备标识'eventTime':'1588843914884',// 消息时间'deviceId':'D114VKx7a' // 设备ID} 设备上线 { 'notifyType':'deviceOnline', // 消息类型-设备上线 'deviceIdentifier':'iottest2', // 设备标识 'eventTime':'1588843914884', // 消息时间 'deviceId':'D114VKx7a' // 设备ID} 设备下线 { 'notifyType':'deviceOffline', // 消息类型 'deviceIdentifier':'iottest2', // 设备标识 'eventTime':'1588843914884', // 消息时间 'deviceId':'D114VKx7a' // 设备ID} 设备类型变更 {'instanceOid':'40', // 实例Oid'productOid':'1', // 产品Oid'remark':'', // 设备描述'deviceId':'D114VKx7a', // 设备ID'deviceName':'iottest1', // 设备名称'notifyType':'deviceChange', // 消息类型'deviceIdentifier':'iottest1', // 设备标识'deviceOid':'1', // 设备Oid'createdBy':'admin', // 创建者'eventTime':'1588843914884', // 消息时间'status':'0', // 设备状态 0-启用 1-禁用'parentDeviceOid':'null' // 父设备Oid} 父主题: 订阅管理
-
功能介绍 产品创建后,用户可根据实际需要参考下表查看、编辑产品。 表1 功能介绍 功能 功能说明 查看密码 产品密码可以作为访问产品所属的设备的凭证,实现一个产品下所有设备使用一个密码。 用户可单击对应产品下密码栏右侧的图标,查看密码。 导入 如果本地已存在文件,可以直接在“产品”页签单击“导入”,即可导入包含产品信息的文件。 文件模板获取方式:在界面创建一个产品,选中该产品,单击导出键导出csv文件,根据需要导入的产品修改csv文件的内容。 导出/导出所有产品 导出单个或多个产品信息的csv文件。 如果导出单个或多个产品,可勾选需要导出的产品,单击“导出”按钮即可;如果导出所有产品,直接单击“导出所有产品”即可。 重置密码 如果需要修改密码,可单击对应产品右侧操作栏中的“重置密码”按钮。 编辑 在需要编辑的产品右侧操作栏中单击“编辑”,即可编辑产品信息。其中产品类型、协议类型以及应用不支持修改。 删除 删除已创建好的产品。支持单个或多个删除。 删除单个或多个产品,可勾选需要删除的产品,单击“删除”按钮即可;删除单个产品也可直接单击对应产品操作栏的“删除”按钮。
-
接入设备 EdgeShell是用于采集边缘侧设备端数据,并发送到ROMA Connect的边缘网关程序。Modbus协议接入设备操作步骤如下: 创建产品。 在“产品管理”页面单击“创建产品”,产品类型选择“普通产品”,协议类型选择“Modbus”。 创建设备。 在“设备管理”页面单击“创建设备”,所属产品选择上一步创建的产品。 下载EdgeShell安装包。 单击设备名称,进入设备详情页,在基础信息页签中,单击的“EdgeShell”项的“下载安装包”,下载EdgeShell安装包。 启动EdgeShell。 EdgeShell支持运行在Windows和Linux环境中,根据不同的环境执行不同的启动脚本。 EdgeShell依赖于java11运行环境,运行前需要先确保java运行环境已安装,并且JAVA_HOME环境变量已设置。 解压下载的edge-shell.zip,解压后目录结构如下图。 bin:启动停止脚本。 config:配置参数。 lib:依赖的jar包。 edge-shell-1.0.0.jar:运行的主程序。 在设备详情页的“基本信息”页签中拷贝“边缘连接配置(IPV4)”到config目录下的mqtt.properties文件中。 执行启动脚本。 Windows下执行bin/windows/start.bat。 Linux下执行bin/linux/start.sh。 正常启动后,EdgeShell会连接上LINK,此时在会显示设备在线,设备详情页中的边缘详情会有数据上报。 启动脚本后会生成log目录,该目录下会记录启动和运行日志。该目录下会有edge-shell-error.log和edge-shell-info.log两个文件,如果启动后设备没有连接上,可以通过查看error日志快速定位。 Windows下如果单击启动后,log目录没有生成,可以修改start.bat下列语句: 修改前: start edge-shell %JAVA_OPT% -jar edge-shell-1.0.0.jarpause 修改后: java %JAVA_OPT% -jar edge-shell-1.0.0.jar 插件下载。 在插件管理页面中,单击“下载插件”,在弹出框中单击“下载并部署”。 插件安装成功后,单击操作栏中的启动键启动插件。 配置Modbus连接点和采集策略。 当创建的设备是Modbus类型设备时,设备详情页中显示的是“Modbus配置”,Modbus插件支持TCP/IP和串口两种连接方式。具体创建配置如下: 创建Modbus TCP/IP连接点时,配置参数如下图。 创建Modbus串口连接点时,配置参数如下图。 在已创建的连接点下创建采集策略,配置参数如下图。 用户设备端寄存器地址由起始地址编号和功能码决定。 Modbus协议定义了设备地址(即起始地址)范围是0到65535,而寄存器地址是从1开始,范围为1到65536,所以如果起始地址为5,则对应的寄存器地址为6。 目前功能码仅支持01、02、03、04,对应寄存器地址范围如下: 功能码为01时,范围为:000001~065536 功能码为02时,范围为:100001~165536 功能码为03时,范围为:400001~465536 功能码为04时,范围为:300001~365536 例如:功能码为03,起始地址为5,则对应的寄存器地址为400006。 下发采集策略到边缘EdgeShell。 在设备详情页中的“Modbus配置”页签,勾选需要下发的Modbus连接点,单击“下发策略”按钮。 配置规则引擎。 配置普通设备采集上来的数据转发到MQS。 在规则引擎界面单击“创建规则”按钮,规则引擎所属应用需要与普通产品相同。 · 单击规则引擎名称进入规则引擎详情页面,配置数据源端和数据目的端。 数据源端选择之前创建的产品和设备。 数据目的端选择同实例下的MQS。
-
概述 在模型目录中的业务模型管理页面是由对应的信息架构自动生成,可以进行业务模型的录入。数据资产信息架构来源于信息架构中的业务架构,它可以显示每个已发布业务架构的具体信息,可对业务架构每一层对应类型的业务模型进行创建,编辑,下架,删除等操作。在完成业务模型的录入后,您可以审核所录入的业务模型。上架后,在模型地图中检索到录入的业务资产。资产目录管理是数据资产管理中数据资产信息架构的核心目录。 子实例包含的页签是根据用户创建业务架构自动生成的,具体页签名以实际显示为准。
-
脚本配置示例 { "cache_key": { "system_params": [ "$context.sourceIp", "$context.requestId" ], "parameters": [ "demo_parameters" ], "headers": [ "demo_header" ] }, "cache_http_status_and_ttl": [ { "http_status": [ 200 ], "ttl": 300 } ], "client_cache_control": { "mode": "apps", "datas": [ "demo_app_id_1,demo_app_id_2" ] }, "cacheable_headers": [ "demo_cacheable_headers_1,demo_cacheable_headers_2" ]}
-
功能简介 应用业务模型ABM是ROMA Connect的模型集成组件,ABM为客户提供统一的业务模型管理平台,可以提供通用的业务/技术模型定义管理,业务/技术模型对应元数据的自动/手动采集,提供模型查询、维护、业务与技术模型关联、数据关联分析等功能,同时提供数据访问管控、开放共享等能力,使用ROMA Connect进行模型集成,有如下优势: 支持模型采集 系统预置常用数据源的采集适配器,针对数据采集提供了数据源管理、采集任务管理功能,实现自动模型采集。 支持模型管理 遵循MOF规范提供业务/技术元模型管理,支持对采集的模型进行搜索配置、业务与技术数据关联、定义业务流程模板等功能。 支持模型访问 提供模型查询搜索功能,便于用于快速浏览模型数据;针对第三方应用开放模型查询搜索能力,实现模型共享。
-
脚本配置示例 { "broker_list": [ "10.10.10.10:81", "10.10.10.11:82", "10.10.10.12:83" ], "topic": "Topic-test", "key": "aaa", "max_retry_count": 0, "retry_backoff": 1, "sasl_config": { "security_protocol": "PLAINTEXT", "sasl_mechanisms": "PLAIN", "sasl_username": "", "sasl_password": "", "ssl_ca_content": "" }, "meta_config": { "system": { "start_time": true, "request_id": true, "client_ip": true, "api_id": false, "user_name": false, "app_id": false, "request_time": true, "http_status": true, "server_protocol": false, "scheme": true, "request_method": true, "host": false, "api_uri_mode": false, "uri": false, "request_size": false, "response_size": false, "upstream_uri": false, "upstream_addr": true, "upstream_status": true, "upstream_connect_time": false, "upstream_header_time": false, "upstream_response_time": true, "http_x_forwarded_for": true, "http_user_agent": true, "error_type": true, "access_model1": false, "access_model2": false, "inner_time": false, "proxy_protocol_vni": false, "proxy_protocol_vpce_id": false, "proxy_protocol_addr": false, "body_bytes_sent": false, "api_name": false, "app_name": false, "provider_app_id": false, "all_upstream_response_time": false, "region_id": false, "auth_type": false, "response_source": false, "provider_app_name": false, "custom_data_log01": false, "custom_data_log02": false, "custom_data_log03": false, "custom_data_log04": false, "custom_data_log05": false, "custom_data_log06": false, "custom_data_log07": false, "custom_data_log08": false, "custom_data_log09": false, "custom_data_log10": false }, "call_data": { "log_request_header": true, "request_header_filter": "aaa", "log_request_query_string": true, "request_query_string_filter": "bbb", "log_request_body": true, "log_response_header": true, "response_header_filter": "ccc", "log_response_body": true, "custom_authorizer": { "frontend": [], "backend": [] } } }}
-
约束与限制 同一个API在同一个环境中只能绑定一个相同类型的插件策略,已被API绑定的插件策略无法删除。 同一个ROMA Connect实例内最多可创建5个Kafka日志推送策略。 推送的日志信息中,响应数据暂不支持Transfer Encoding响应头参数。 消息中的请求体字段和响应体字段大小受到kafka_log_plugin_options中request_body_size和response_body_size的限制,当超过对应限制值时,对应字段会被截断。 推送的日志信息中,请求Body和响应Body信息是按UTF-8编码方式计算字节长度。
-
响应消息头 调用API时,APIC增加如下响应消息头。 X-Apig-Mode: debug表示响应消息头增加APIC调试信息。 响应消息头 描述 说明 X-Request-Id 请求ID 所有合法请求,都会返回此参数 X-Apig-Latency 从APIC接收请求到后端返回消息头的用时 仅在请求消息头包含X-Apig-Mode: debug时,返回此参数 X-Apig-Upstream-Latency 从APIC请求后端到后端返回消息头的用时 仅在请求消息头包含X-Apig-Mode: debug,且后端服务类型不为Mock时,返回此参数 X-Apig-RateLimit-api API流量控制信息 示例:remain:9,limit:10,time:10 second 仅在请求消息头包含X-Apig-Mode: debug,且API配置了API流量控制时,返回此参数 X-Apig-RateLimit-user 用户流量限制信息 示例:remain:9,limit:10,time:10 second 仅在请求消息头包含X-Apig-Mode: debug,且API配置了用户流量限制时,返回此参数 X-Apig-RateLimit-app 凭据流量限制信息 示例:remain:9,limit:10,time:10 second 仅在请求消息头包含X-Apig-Mode: debug,且API配置了凭据流量限制时,返回此参数 X-Apig-RateLimit-ip 源IP流量限制信息 示例:remain:9,limit:10,time:10 second 仅在请求消息头包含X-Apig-Mode: debug,且API配置了源IP流量限制时,返回此参数 X-Apig-RateLimit-api-allenv API默认流控信息 示例:remain:199,limit:200,time:1 second 仅在请求消息头包含X-Apig-Mode: debug时,返回此参数 X-Apig-count 请求经过APIC的总次数 经过APIC调用的合法请求都会返回此参数,当X-Apig-count请求头取值大于10时,会报错APIC.0612 父主题: 调用API
-
使用流程 使用ROMA Connect进行服务集成的流程如下图所示。 图1 业务使用流程 已创建实例和集成应用。 开放API 开放API 创建API分组 每个API都归属到某一个API分组下,在创建API前应提前创建API分组。 绑定域名 在开放API前,您需要为API分组绑定一个独立域名,供用户访问API使用。 在绑定独立域名前,您可以使用系统为API分配的默认子域名进行API调用测试,ROMA Connect对默认子域名的访问次数做了限制,每天最多可以访问1000次。 创建API 把已有后端服务封装为标准RESTful API,并对外开放。 调试API 通过ROMA Connect提供的调试功能,验证 API服务 的功能是否正常可用。 发布API 把API发布到环境中,API只有在发布到环境后,才支持被调用。 配置API授权(可选) 仅使用APP认证方式的API,才需要配置调用授权,把API授权给指定集成应用,用户使用集成应用的Key和Secret进行API请求的安全认证。 创建并开放数据API 接入数据源 接入数据源,确保可以正常从数据源读取数据。 创建数据API 把数据源定义为API,并对外开放。 配置API授权(可选) 仅使用APP认证方式的API,才需要配置调用授权,把API授权给指定集成应用,用户使用集成应用的Key和Secret进行API请求的安全认证。 创建并开放函数API 创建函数API 把自定义函数定义为API,并对外开放。 配置API授权(可选) 仅使用APP认证方式的API,才需要配置调用授权,把API授权给指定集成应用,用户使用集成应用的Key和Secret进行API请求的安全认证。 调用API 通过获取API及API访问地址,调用API。根据API使用认证方式的不同,调用API时需要进行不同的认证鉴权操作。
-
脚本配置示例 { "auth_request": { "method": "GET", "protocol": "HTTPS", "url_domain": "10.10.10.10", "timeout": 5000, "path": "/auth", "vpc_channel_enabled": false, "vpc_channel_info": null }, "custom_forbid_limit": 100, "carry_body": { "enabled": true, "max_body_size": 1000 }, "auth_downgrade_enabled": true, "carry_path_enabled": true, "return_resp_body_enabled": false, "carry_resp_headers": [], "simple_auth_mode_enabled": true, "match_auth": null, "rule_enabled": false, "rule_type": "allow"}
-
功能简介 服务集成APIC是ROMA Connect的API集成组件,支持将已有后端服务、数据源和自定义函数封装成标准的RESTful API,并对外开放。使用ROMA Connect进行服务集成,有如下优势: 支持便捷的API生命周期管理 ROMA Connect提供了API的全生命周期管理,从API的创建、调试、发布、下线、授权、编辑和删除等,实现完整的API解决方案。 支持自定义API后端服务 ROMA Connect可自定义数据后端和函数后端两种后端服务: 数据后端:将数据源以API的形式对外开放,具体支持的数据源类型请参见APIC支持的数据源。 函数后端:将函数能力以API的形式对外开放。 支持可视化的API监控面板 ROMA Connect提供了可视化的API调用分析看板,帮助您监控API调用的性能指标信息,识别可能影响业务的潜在风险。 支持多层安全防护措施 ROMA Connect提供了多种认证鉴权方式、精细化的流量控制、严格的访问控制等安全防护措施,全方位保护API安全调用。
-
概述 如果您需要对您所拥有的ROMA Connect进行精细的权限管理,您可以使用 统一身份认证 服务(Identity and Access Management,简称IAM),通过IAM,您可以: 根据企业的业务组织,在您的华为云账号中,给企业中不同职能部门的员工创建IAM用户,让员工拥有唯一安全凭证,并使用ROMA Connect资源。 根据企业用户的职能,设置不同的访问权限,以达到用户之间的权限隔离。 将ROMA Connect资源委托给更专业、高效的其他华为云账号或者云服务,这些账号或者云服务可以根据权限进行代运维。 如果华为云账号已经能满足您的要求,不需要创建独立的IAM用户,您可以跳过本章节,不影响您使用ROMA Connect服务的其它功能。
-
新增用户组并授权 创建用户组并授权 在IAM控制台创建用户组,并授予ROMA Connect服务只读权限“ROMA ReadOnlyAccess”。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 使用新创建的用户登录控制台,切换至授权区域,验证权限: 在“服务列表”中选择应用与 数据集成平台 ,进入ROMA Connect主界面,单击右上角“购买ROMA Connect实例”,尝试购买ROMA Connect实例,如果无法购买ROMA Connect实例(假设当前权限仅包含ROMA ReadOnlyAccess),表示“ROMA ReadOnlyAccess”已生效。 在“服务列表”中选择除ROMA Connect外(假设当前权限仅包含ROMA ReadOnlyAccess)的任一服务,若提示权限不足,表示“ROMA ReadOnlyAccess”已生效。
-
为已有用户组授权 给用户组授权 选择已有用户组,并授予ROMA Connect服务只读权限“ROMA ReadOnlyAccess”。 用户登录并验证权限 使用1中用户组下的用户登录控制台,切换至授权区域,验证权限: 在“服务列表”中选择应用与数据集成平台,进入ROMA Connect主界面,单击右上角“购买ROMA Connect实例”,尝试购买ROMA Connect实例,如果无法购买ROMA Connect实例,表示“ROMA ReadOnlyAccess”已生效。
-
使用流程 ROMA Connect是一个全栈式的应用与数据集成平台,聚焦应用和数据连接,提供数据、API、消息和设备的集成能力,适用于多种常见的企业系统集成场景。 使用ROMA Connect进行系统集成的流程如下图所示。 图1 ROMA Connect使用流程 创建实例。 在ROMA Connect服务控制台创建一个ROMA Connect实例,实例规格配置根据实际业务情况选择。 创建集成应用。 在实例控制台创建一个集成应用,实例中的所有资源都要有归属的集成应用。 根据不同的业务场景,选择使用不同ROMA Connect功能。 数据集成:接入源端和目标端数据源,然后通过集成任务进行源端到目标端的数据集成。 服务集成:把已有后端服务、数据源和自定义函数封装成标准的RESTful API,并对外开放。 消息集成:创建消息Topic,不同系统通过Topic进行对接,发送和接收消息。 设备集成:在云端定义设备模型和注册设备,设备通过集成SDK接入云端,发送和接收消息。
共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