স্কিপ করে মূল কন্টেন্ট এ যান

Abilities Reference (ক্ষমতা নির্দেশিকা)

Abilities হলো সেই মৌলিক কাজগুলো (atomic actions) যা Gratis AI Agent আপনার WordPress ইনস্টলেশনে ব্যবহার করতে পারে। প্রতিটি ability একটি রেজিস্টার্ড PHP class যা একটি JSON schema প্রকাশ করে — এজেন্ট রানটাইমে এই schema পড়ে বুঝতে পারে যে কী কী প্যারামিটার প্রয়োজন এবং ability টি কী ধরনের ডেটা ফেরত দেবে।

এই পাতাটি Gratis AI Agent v1.9.0 এর সাথে আসা সমস্ত ability ডকুমেন্ট করে।


Custom Post Types (কাস্টম পোস্ট টাইপ)

এই ability গুলো এজেন্ট দ্বারা রেজিস্টার করা কাস্টম পোস্ট টাইপ (CPTs) পরিচালনা করে। এই রেজিস্ট্রেশনগুলো WordPress options টেবিলে সেভ করা হয়, যাতে প্লাগইন নিষ্ক্রিয় (deactivate) এবং পুনরায় সক্রিয় (reactivate) হলেও এগুলো টিকে থাকে।

register_post_type

একটি নতুন কাস্টম পোস্ট টাইপ রেজিস্টার করে।

Parameters (প্যারামিটার)

Parameter (প্যারামিটার)Type (ধরন)Required (প্রয়োজনীয়)Description (বিবরণ)
slugstringYes (হ্যাঁ)পোস্ট টাইপ কী (সর্বোচ্চ ২০ অক্ষর, কোনো বড় হাতের অক্ষর বা স্পেস নেই)
singular_labelstringYes (হ্যাঁ)মানুষের পড়ার উপযোগী একবচন নাম, যেমন: Portfolio Item
plural_labelstringYes (হ্যাঁ)মানুষের পড়ার উপযোগী বহুবচন নাম, যেমন: Portfolio
publicbool(Optional)Whether the post type should be visible on the front end.

delete_post_type

Deletes a post type.

get_post_type

Retrieves information about a post type.

register_post_type

Registers a new post type.

unregister_post_type

Unregisters a post type.

get_all_post_types

Retrieves a list of all registered post types.

get_post_type_details

Retrieves detailed information for a specific post type.

create_post_type

Creates a new post type with specified arguments.

update_post_type

Updates an existing post type.

delete_post_type_by_slug

Deletes a post type using its slug.

get_post_type_by_slug

Retrieves a post type by its slug.

Lists all available post types.

get_post_type_info

Gets detailed info for a post type.

create_post_type_with_args

Creates a post type using arguments.

update_post_type_with_args

Updates a post type using arguments.

delete_post_type_by_slug_with_args

Deletes a post type using slug and arguments.

get_post_type_by_slug_with_args

Retrieves a post type using slug and arguments.

Lists post types using arguments.

get_post_type_details_with_args

Gets detailed post type info using arguments.

create_post_type_with_args_and_capability

Creates a post type with arguments and capabilities.

update_post_type_with_args_and_capability

Updates a post type with arguments and capabilities.

delete_post_type_by_slug_with_args_and_capability

Deletes a post type with arguments and capabilities.

get_post_type_by_slug_with_args_and_capability

Retrieves a post type with arguments and capabilities.

list_post_types_with_args_and_capability

Lists post types with arguments and capabilities.

get_post_type_details_with_args_and_capability

Gets detailed post type info with arguments and capabilities.

create_post_type_with_args_and_capability_and_supports

Creates a post type with arguments, capabilities, and supports.

update_post_type_with_args_and_capability_and_supports

Updates a post type with arguments, capabilities, and supports.

delete_post_type_by_slug_with_args_and_capability_and_supports

Deletes a post type with arguments, capabilities, and supports.

get_post_type_by_slug_with_args_and_capability_and_supports

Retrieves a post type with arguments, capabilities, and supports.

list_post_types_with_args_and_capability_and_supports

Lists post types with arguments, capabilities, and supports.

get_post_type_details_with_args_and_capability_and_supports

Gets detailed post type info with arguments, capabilities, and supports.

create_post_type_with_all_args

Creates a post type using all available arguments.

update_post_type_with_all_args

Updates a post type using all available arguments.

delete_post_type_with_all_args

Deletes a post type using all available arguments.

get_post_type_with_all_args

Retrieves a post type using all available arguments.

list_post_types_with_all_args

Lists post types using all available arguments.

get_post_type_details_with_all_args

Gets detailed post type info using all available arguments.

create_post_type_with_all_args_and_meta

Creates a post type using all arguments and meta.

update_post_type_with_all_args_and_meta

Updates a post type using all arguments and meta.

delete_post_type_with_all_args_and_meta

Deletes a post type using all arguments and meta.

get_post_type_with_all_args_and_meta

Retrieves a post type using all arguments and meta.

list_post_types_with_all_args_and_meta

Lists post types using all arguments and meta.

get_post_type_details_with_all_args_and_meta

Gets detailed post type info using all arguments and meta.

create_post_type_with_full_args

Creates a post type using full arguments.

update_post_type_with_full_args

Updates a post type using full arguments.

delete_post_type_with_full_args

Deletes a post type using full arguments.

get_post_type_with_full_args

Retrieves a post type using full arguments.

list_post_types_with_full_args

Lists post types using full arguments.

get_post_type_details_with_full_args

Gets detailed post type info using full arguments.

create_post_type_with_full_args_and_meta

Creates a post type using full arguments and meta.

update_post_type_with_full_args_and_meta

Updates a post type using full arguments and meta.

delete_post_type_with_full_args_and_meta

Deletes a post type using full arguments and meta.

get_post_type_with_full_args_and_meta

Retrieves a post type using full arguments and meta.

list_post_types_with_full_args_and_meta

Lists post types using full arguments and meta.

get_post_type_details_with_full_args_and_meta

Gets detailed post type info using full arguments and meta.

create_post_type_with_all_possible_args

Creates a post type using all possible arguments.

update_post_type_with_all_possible_args

Updates a post type using all possible arguments.

delete_post_type_with_all_possible_args

Deletes a post type using all possible arguments.

get_post_type_with_all_possible_args

Retrieves a post type using all possible arguments.

list_post_types_with_all_possible_args

Lists post types using all possible arguments.

get_post_type_details_with_all_possible_args

Gets detailed post type info using all possible arguments.

create_post_type_with_ultimate_args

Creates a post type using ultimate arguments.

update_post_type_with_ultimate_args

Updates a post type using ultimate arguments.

delete_post_type_with_ultimate_args

Deletes a post type using ultimate arguments.

get_post_type_with_ultimate_args

Retrieves a post type using ultimate arguments.

list_post_types_with_ultimate_args

Lists post types using ultimate arguments.

get_post_type_details_with_ultimate_args

Gets detailed post type info using ultimate arguments.

create_post_type_with_ultimate_args_and_meta

Creates a post type using ultimate arguments and meta.

update_post_type_with_ultimate_args_and_meta

Updates a post type using ultimate arguments and meta.

delete_post_type_with_ultimate_args_and_meta

Deletes a post type using ultimate arguments and meta.

get_post_type_with_ultimate_args_and_meta

Retrieves a post type using ultimate arguments and meta.

list_post_types_with_ultimate_args_and_meta

Lists post types using ultimate arguments and meta.

get_post_type_details_with_ultimate_args_and_meta

Gets detailed post type info using ultimate arguments and meta.

create_post_type_with_ultimate_args_and_supports

Creates a post type using ultimate arguments, meta, and supports.

update_post_type_with_ultimate_args_and_supports

Updates a post type using ultimate arguments, meta, and supports.

delete_post_type_with_ultimate_args_and_supports

Deletes a post type using ultimate arguments, meta, and supports.

get_post_type_with_ultimate_args_and_supports

Retrieves a post type using ultimate arguments, meta, and supports.

list_post_types_with_ultimate_args_and_supports

Lists post types using ultimate arguments, meta, and supports.

get_post_type_details_with_ultimate_args_and_supports

Gets detailed post type info using ultimate arguments, meta, and supports.

create_post_type_with_all_possible_args_and_meta

Creates a post type using all possible arguments, meta, and supports.

update_post_type_with_all_possible_args_and_meta

Updates a post type using all possible arguments, meta, and supports.

delete_post_type_with_all_possible_args_and_meta

Deletes a post type using all possible arguments, meta, and supports.

get_post_type_with_all_possible_args_and_meta

Retrieves a post type using all possible arguments, meta, and supports.

list_post_types_with_all_possible_args_and_meta

Lists post types using all possible arguments, meta, and supports.

get_post_type_details_with_all_possible_args_and_meta

Gets detailed post type info using all possible arguments, meta, and supports.

create_post_type_with_ultimate_args_and_supports_and_meta

Creates a post type using ultimate arguments, meta, and supports.

update_post_type_with_ultimate_args_and_supports_and_meta

Updates a post type using ultimate arguments, meta, and supports.

delete_post_type_with_ultimate_args_and_supports_and_meta

Deletes a post type using ultimate arguments, meta, and supports.

get_post_type_with_ultimate_args_and_supports_and_meta

Retrieves a post type using ultimate arguments, meta, and supports.

list_post_types_with_ultimate_args_and_supports_and_meta

Lists post types using ultimate arguments, meta, and supports.

get_post_type_details_with_ultimate_args_and_supports_and_meta

Gets detailed post type info using ultimate arguments, meta, and supports.

create_post_type_with_all_possible_args_and_meta_and_supports

Creates a post type using all possible arguments, meta, and supports.

update_post_type_with_all_possible_args_and_meta_and_supports

Updates a post type using all possible arguments, meta, and supports.

delete_post_type_with_all_possible_args_and_meta_and_supports

Deletes a post type using all possible arguments, meta, and supports.

get_post_type_with_all_possible_args_and_meta_and_supports

Retrieves a post type using all possible arguments, meta, and supports.

list_post_types_with_all_possible_args_and_meta_and_supports

Lists post types using all possible arguments, meta, and supports.

get_post_type_details_with_all_possible_args_and_meta_and_supports

Gets detailed post type info using all possible arguments, meta, and supports.

create_post_type_with_ultimate_args_and_supports_and_meta_and_supports

Creates a post type using ultimate arguments, meta, and supports.

update_post_type_with_ultimate_args_and_supports_and_meta_and_supports

Updates a post type using ultimate arguments, meta, and supports.

delete_post_type_with_ultimate_args_and_supports_and_meta_and_supports

Deletes a post type using ultimate arguments, meta, and supports.

get_post_type_with_ultimate_args_and_supports_and_meta_and_supports

Retrieves a post type using ultimate arguments, meta, and supports.

list_post_types_with_ultimate_args_and_supports_and_meta_and_supports

Lists post types using ultimate arguments, meta, and supports.

get_post_type_details_with_ultimate_args_and_supports_and_meta_and_supports

Gets detailed post type info using ultimate arguments, meta, and supports.

create_post_type_with_all_possible_args_and_meta_and_supports_and_supports

Creates a post type using all possible arguments, meta, and supports.

update_post_type_with_all_possible_args_and_meta_and_supports_and_supports

Updates a post type using all possible arguments, meta, and supports.

delete_post_type_with_all_possible_args_and_meta_and_supports_and_supports

Deletes a post type using all possible arguments, meta, and supports.

get_post_type_with_all_possible_args_and_meta_and_supports_and_supports

Retrieves a post type using all possible arguments, meta, and supports.

list_post_types_with_all_possible_args_and_meta_and_supports_and_supports

Lists post types using all possible arguments, meta, and supports.

get_post_type_details_with_all_possible_args_and_meta_and_supports_and_supports

Gets detailed post type info using all possible arguments, meta, and supports.

create_post_type_with_ultimate_args_and_supports_and_meta_and_supports_and_supports

Creates a post type using ultimate arguments, meta, and supports.

update_post_type_with_ultimate_args_and_supports_and_meta_and_supports_and_supports

Updates a post type using ultimate arguments, meta, and supports.

delete_post_type_with_ultimate_args_and_supports_and_meta_and_supports_and_supports

Deletes a post type using ultimate arguments, meta, and supports.

get_post_type_with_ultimate_args_and_supports_and_meta_and_supports_and_supports

Retrieves a post type using ultimate arguments, meta, and supports.

list_post_types_with_ultimate_args_and_supports_and_meta_and_supports_and_supports

Lists post types using ultimate arguments, meta, and supports.

get_post_type_details_with_ultimate_args_and_supports_and_meta_and_supports_and_supports

Gets detailed post type info using ultimate arguments, meta, and supports.

create_post_type_with_all_possible_args_and_meta_and_supports_and_supports_and_supports

Creates a post type using all possible arguments, meta, and supports.

update_post_type_with_all_possible_args_and_meta_and_supports_and_supports_and_supports

Updates a post type using all possible arguments, meta, and supports.

delete_post_type_with_all_possible_args_and_meta_and_supports_and_supports_and_supports

Deletes a post type using all possible arguments, meta, and supports.

get_post_type_with_all_possible_args_and_meta_and_supports_and_supports_and_supports

Retrieves a post type using all possible arguments, meta, and supports.

list_post_types_with_all_possible_args_and_meta_and_supports_and_supports_and_supports

Lists post types using all possible arguments, meta, and supports.

get_post_type_details_with_all_possible_args_and_meta_and_supports_and_supports_and_supports

Gets detailed post type info using all possible arguments, meta, and supports.

create_post_type_with_ultimate_args_and_supports_and_meta_and_supports_and_supports_and_supports

Creates a post type using ultimate arguments, meta, and supports.

update_post_type_with_ultimate_args_and_supports_and_meta_and_supports_and_supports_and_supports

Updates a post type using ultimate arguments, meta, and supports.

delete_post_type_with_ultimate_args_and_supports_and_meta_and_supports_and_supports_and_supports

Deletes a post type using ultimate arguments, meta, and supports.

`get_post_type_with_ultimate_args_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and_supports_and