Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.
Joomla! Version | 5.2.5 |
PHP Version | 8.2.27 |
Identity | guest |
Response | 200 |
Template | cassiopeia |
Database |
|
1 x Before Access::preloadComponents (all components) (825.98KB) (35.47%) | 9.78ms |
1 x afterInitialise (1.42MB) (22.47%) | 6.20ms |
1 x afterRender (110.05KB) (9.78%) | 2.70ms |
1 x afterRenderRawModule mod_custom (Einfach anrufen : Im Kontakt liegt die Lösung: 03040786324) (9.77KB) (4.04%) | 1.11ms |
1 x beforeRenderRawModule mod_custom (https://www.facebook.com/Computerhilfe.Berlin) (37.39KB) (3.96%) | 1.09ms |
1 x afterRoute (52.6KB) (3.69%) | 1.02ms |
1 x beforeRenderComponent com_tags (40.75KB) (3.37%) | 929μs |
1 x After Access::preloadComponents (all components) (106.91KB) (3.36%) | 928μs |
1 x afterRenderRawModule mod_menu (Horizontales Menu) (100.8KB) (2.45%) | 675μs |
1 x afterRenderRawModule mod_rssocial (Facebook & Social) (49.64KB) (2.33%) | 644μs |
1 x afterLoad (109.74KB) (1.19%) | 329μs |
1 x afterRenderComponent com_tags (29.66KB) (1.11%) | 306μs |
1 x afterRenderRawModule mod_breadcrumbs (Breadcrumbs ) (8.11KB) (0.9%) | 249μs |
1 x afterRenderRawModule mod_custom (https://www.facebook.com/Computerhilfe.Berlin) (4.37KB) (0.67%) | 185μs |
1 x afterRenderRawModule mod_menu (Service) (68.46KB) (0.67%) | 184μs |
1 x beforeRenderModule mod_custom (Einfach anrufen : Im Kontakt liegt die Lösung: 03040786324) (52.61KB) (0.42%) | 115μs |
1 x afterDispatch (3.15KB) (0.34%) | 93μs |
1 x beforeRenderModule mod_rssocial (Facebook & Social) (48.81KB) (0.31%) | 85μs |
1 x afterRenderModule mod_custom (https://www.facebook.com/Computerhilfe.Berlin) (3.48KB) (0.3%) | 84μs |
1 x afterRenderModule mod_custom (Einfach anrufen : Im Kontakt liegt die Lösung: 03040786324) (3.92KB) (0.3%) | 83μs |
1 x beforeRenderRawModule mod_rssocial (Facebook & Social) (50.23KB) (0.26%) | 71μs |
1 x afterRenderModule mod_rssocial (Facebook & Social) (5.17KB) (0.24%) | 67μs |
1 x beforeRenderModule mod_breadcrumbs (Breadcrumbs ) (296B) (0.2%) | 55μs |
1 x beforeRenderRawModule mod_custom (Einfach anrufen : Im Kontakt liegt die Lösung: 03040786324) (592B) (0.16%) | 44μs |
1 x afterRenderModule mod_custom (IT TIREL: Einfach anrufen ! +493040786324) (2.66KB) (0.15%) | 41μs |
1 x After Access::getAssetRules (id:35 name:com_tags) (7.2KB) (0.13%) | 36μs |
1 x beforeRenderModule mod_custom (https://www.facebook.com/Computerhilfe.Berlin) (50.8KB) (0.12%) | 34μs |
1 x beforeRenderRawModule mod_menu (Horizontales Menu) (1.12KB) (0.12%) | 32μs |
1 x afterRenderModule mod_menu (Service) (2.99KB) (0.1%) | 29μs |
1 x afterRenderRawModule mod_custom (IT TIREL: Einfach anrufen ! +493040786324) (1KB) (0.09%) | 26μs |
1 x beforeRenderModule mod_menu (Horizontales Menu) (1.16KB) (0.09%) | 24μs |
1 x beforeRenderRawModule mod_breadcrumbs (Breadcrumbs ) (960B) (0.08%) | 23μs |
1 x afterRenderModule mod_breadcrumbs (Breadcrumbs ) (3.06KB) (0.08%) | 23μs |
1 x afterRenderModule mod_menu (Horizontales Menu) (4.19KB) (0.08%) | 21μs |
1 x beforeRenderModule mod_menu (Service) (912B) (0.07%) | 19μs |
1 x beforeRenderRawModule mod_custom (IT TIREL: Einfach anrufen ! +493040786324) (752B) (0.06%) | 17μs |
1 x Before Access::getAssetRules (id:35 name:com_tags) (56B) (0.05%) | 15μs |
1 x beforeRenderModule mod_custom (IT TIREL: Einfach anrufen ! +493040786324) (832B) (0.05%) | 15μs |
1 x beforeRenderRawModule mod_menu (Service) (2.45KB) (0.05%) | 14μs |
SELECT `data`
FROM `vsavn_session`
WHERE `session_id` = ?
114μs17.03KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:250CopySELECT `session_id`
FROM `vsavn_session`
WHERE `session_id` = :session_id LIMIT 1
89μs16.99KBParams/libraries/src/Session/MetadataManager.php:187CopyUPDATE `vsavn_session`
SET `guest` = :guest
, `time` = :time
, `userid` = :user_id
, `username` = :username
WHERE `session_id` = :session_id
122μs1.56KBParamsCopySELECT `extension_id` AS `id`,`element` AS `option`,`params`,`enabled`
FROM `vsavn_extensions`
WHERE `type` = 'component' AND `state` = 0 AND `enabled` = 1
231μs16.67KB/libraries/src/Component/ComponentHelper.php:399CopySELECT `id`,`rules`
FROM `vsavn_viewlevels`
66μs16.44KB/libraries/src/Access/Access.php:955CopySELECT `b`.`id`
FROM `vsavn_usergroups` AS `a`
LEFT JOIN `vsavn_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt`
WHERE `a`.`id` = :guest
131μs17.02KBParams/libraries/src/Access/Access.php:868CopySELECT `folder` AS `type`,`element` AS `name`,`params` AS `params`,`extension_id` AS `id`
FROM `vsavn_extensions`
WHERE `enabled` = 1 AND `type` = 'plugin' AND `state` IN (0,1) AND `access` IN (:preparedArray1)
ORDER BY `ordering`
450μs19.64KBParams/libraries/src/Plugin/PluginHelper.php:294CopySELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m`.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`language`,`m`.`browserNav`,`m`.`access`,`m`.`params`,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`.`component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component`
FROM `vsavn_menu` AS `m`
LEFT JOIN `vsavn_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id`
WHERE
(
(`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND
(`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :currentDate1)) AND
(`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :currentDate2)
ORDER BY `m`.`lft`
418μs18.32KBParams/libraries/src/Menu/SiteMenu.php:166CopySELECT `id`
FROM `vsavn_tags`
WHERE `alias` = :alias
133μs17.56KBParams/components/com_tags/src/Service/Router.php:416CopySELECT *
FROM `vsavn_languages`
WHERE `published` = 1
ORDER BY `ordering` ASC
128μs16.43KB/libraries/src/Language/LanguageHelper.php:177CopySELECT `id`,`home`,`template`,`s`.`params`,`inheritable`,`parent`
FROM `vsavn_template_styles` AS `s`
LEFT JOIN `vsavn_extensions` AS `e` ON `e`.`element` = `s`.`template` AND `e`.`type` = 'template' AND `e`.`client_id` = `s`.`client_id`
WHERE `s`.`client_id` = 0 AND `e`.`enabled` = 1
192μs16.17KB/administrator/components/com_templates/src/Model/StyleModel.php:775CopySHOW FULL COLUMNS FROM `vsavn_tags`
453μs16.92KB/libraries/vendor/joomla/database/src/Mysql/MysqlDriver.php:442CopyUPDATE `vsavn_tags`
SET `hits` = (`hits` + 1)
WHERE `id` = '56'
139μs56BCopySELECT *
FROM `vsavn_tags`
WHERE `id` = '56'
113μs16.72KB/libraries/src/Table/Table.php:780CopySELECT *
FROM `vsavn_content_types`
129μs32.49KB/libraries/src/Helper/TagsHelper.php:798CopySELECT `m`.`type_alias`,`m`.`content_item_id`,`m`.`core_content_id`,COUNT(`m`.`tag_id`) AS `match_count`,MAX(`m`.`tag_date`) AS `tag_date`,MAX(`c`.`core_title`) AS `core_title`,MAX(`c`.`core_params`) AS `core_params`,MAX(`c`.`core_alias`) AS `core_alias`,MAX(`c`.`core_body`) AS `core_body`,MAX(`c`.`core_state`) AS `core_state`,MAX(`c`.`core_access`) AS `core_access`,MAX(`c`.`core_metadata`) AS `core_metadata`,MAX(`c`.`core_created_user_id`) AS `core_created_user_id`,MAX(`c`.`core_created_by_alias`) AS`core_created_by_alias`,MAX(`c`.`core_created_time`) AS `core_created_time`,MAX(`c`.`core_images`) AS `core_images`,CASE WHEN `c`.`core_modified_time` = :nullDate THEN `c`.`core_created_time` ELSE `c`.`core_modified_time` END AS `core_modified_time`,MAX(`c`.`core_language`) AS `core_language`,MAX(`c`.`core_catid`) AS `core_catid`,MAX(`c`.`core_publish_up`) AS `core_publish_up`,MAX(`c`.`core_publish_down`) AS `core_publish_down`,MAX(`ct`.`type_title`) AS `content_type_title`,MAX(`ct`.`router`) AS `router`,CASE WHEN `c`.`core_created_by_alias` > ' ' THEN `c`.`core_created_by_alias` ELSE `ua`.`name` END AS `author`,`ua`.`email` AS `author_email`
FROM `vsavn_contentitem_tag_map` AS `m`
INNER JOIN `vsavn_ucm_content` AS `c` ON `m`.`type_alias` = `c`.`core_type_alias` AND `m`.`core_content_id` = `c`.`core_content_id`
INNER JOIN `vsavn_content_types` AS `ct` ON `ct`.`type_alias` = `m`.`type_alias`
LEFT JOIN `vsavn_categories` AS `tc` ON `tc`.`id` = `c`.`core_catid`
LEFT JOIN `vsavn_users` AS `ua` ON `ua`.`id` = `c`.`core_created_user_id`
WHERE
(
(
(`c`.`core_state` IN (:preparedArray1) AND `m`.`tag_id` IN (:preparedArray2)) AND
(`c`.`core_catid` = 0 OR `tc`.`published` = 1) AND `m`.`type_alias` IN (:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15) AND `c`.`core_access` IN (:preparedArray16,:preparedArray17)) AND
(`c`.`core_publish_up` = :nullDate1 OR `c`.`core_publish_up` IS NULL OR `c`.`core_publish_up` <= :nowDate1)) AND
(`c`.`core_publish_down` = :nullDate2 OR `c`.`core_publish_down` IS NULL OR `c`.`core_publish_down` >= :nowDate2)
GROUP BY `m`.`type_alias`,`m`.`content_item_id`,`m`.`core_content_id`,`core_modified_time`,`core_created_time`,`core_created_by_alias`,`author`,`author_email`
ORDER BY MAX(`c`.`core_title`) ASC LIMIT 20
975μs23.59KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:164CopySELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug`
FROM `vsavn_categories` AS `s`
INNER JOIN `vsavn_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`)
WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1) AND `c`.`published` = 1 AND `s`.`id` = :id
ORDER BY `c`.`lft`
336μs20.05KBParams/libraries/src/Categories/Categories.php:375CopySELECT *
FROM `vsavn_tags`
WHERE `id` = '56'
115μs16.77KB/libraries/src/Table/Table.php:780CopySELECT `m`.`type_alias`,`m`.`content_item_id`,`m`.`core_content_id`,COUNT(`m`.`tag_id`) AS `match_count`,MAX(`m`.`tag_date`) AS `tag_date`,MAX(`c`.`core_title`) AS `core_title`,MAX(`c`.`core_params`) AS `core_params`,MAX(`c`.`core_alias`) AS `core_alias`,MAX(`c`.`core_body`) AS `core_body`,MAX(`c`.`core_state`) AS `core_state`,MAX(`c`.`core_access`) AS `core_access`,MAX(`c`.`core_metadata`) AS `core_metadata`,MAX(`c`.`core_created_user_id`) AS `core_created_user_id`,MAX(`c`.`core_created_by_alias`) AS`core_created_by_alias`,MAX(`c`.`core_created_time`) AS `core_created_time`,MAX(`c`.`core_images`) AS `core_images`,CASE WHEN `c`.`core_modified_time` = :nullDate THEN `c`.`core_created_time` ELSE `c`.`core_modified_time` END AS `core_modified_time`,MAX(`c`.`core_language`) AS `core_language`,MAX(`c`.`core_catid`) AS `core_catid`,MAX(`c`.`core_publish_up`) AS `core_publish_up`,MAX(`c`.`core_publish_down`) AS `core_publish_down`,MAX(`ct`.`type_title`) AS `content_type_title`,MAX(`ct`.`router`) AS `router`,CASE WHEN `c`.`core_created_by_alias` > ' ' THEN `c`.`core_created_by_alias` ELSE `ua`.`name` END AS `author`,`ua`.`email` AS `author_email`
FROM `vsavn_contentitem_tag_map` AS `m`
INNER JOIN `vsavn_ucm_content` AS `c` ON `m`.`type_alias` = `c`.`core_type_alias` AND `m`.`core_content_id` = `c`.`core_content_id`
INNER JOIN `vsavn_content_types` AS `ct` ON `ct`.`type_alias` = `m`.`type_alias`
LEFT JOIN `vsavn_categories` AS `tc` ON `tc`.`id` = `c`.`core_catid`
LEFT JOIN `vsavn_users` AS `ua` ON `ua`.`id` = `c`.`core_created_user_id`
WHERE
(
(
(`c`.`core_state` IN (:preparedArray1) AND `m`.`tag_id` IN (:preparedArray2)) AND
(`c`.`core_catid` = 0 OR `tc`.`published` = 1) AND `m`.`type_alias` IN (:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15) AND `c`.`core_access` IN (:preparedArray16,:preparedArray17)) AND
(`c`.`core_publish_up` = :nullDate1 OR `c`.`core_publish_up` IS NULL OR `c`.`core_publish_up` <= :nowDate1)) AND
(`c`.`core_publish_down` = :nullDate2 OR `c`.`core_publish_down` IS NULL OR `c`.`core_publish_down` >= :nowDate2)
GROUP BY `m`.`type_alias`,`m`.`content_item_id`,`m`.`core_content_id`,`core_modified_time`,`core_created_time`,`core_created_by_alias`,`author`,`author_email`
770μs32.2KBParamsCopySELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug`
FROM `vsavn_categories` AS `s`
INNER JOIN `vsavn_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`)
WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1) AND `c`.`published` = 1 AND `s`.`id` = :id
ORDER BY `c`.`lft`
301μs18.8KBParams/libraries/src/Categories/Categories.php:375CopySELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note
FROM vsavn_fields AS a
LEFT JOIN `vsavn_languages` AS l ON l.lang_code = a.language
LEFT JOIN vsavn_users AS uc ON uc.id=a.checked_out
LEFT JOIN vsavn_viewlevels AS ag ON ag.id = a.access
LEFT JOIN vsavn_users AS ua ON ua.id = a.created_user_id
LEFT JOIN vsavn_fields_groups AS g ON g.id = a.group_id
LEFT JOIN `vsavn_fields_categories` AS fc ON fc.field_id = a.id
WHERE
(
(`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2)) AND `a`.`access` IN (:preparedArray3)) AND
(`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray4)) AND `a`.`state` = :state) AND
(`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform
ORDER BY a.ordering ASC
585μs20.05KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:164CopySELECT `id`,`name`,`rules`,`parent_id`
FROM `vsavn_assets`
WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39,:preparedArray40,:preparedArray41)
816μs25.83KBParams/libraries/src/Access/Access.php:357CopySELECT `m`.`id`,`m`.`title`,`m`.`module`,`m`.`position`,`m`.`content`,`m`.`showtitle`,`m`.`params`,`mm`.`menuid`
FROM `vsavn_modules` AS `m`
LEFT JOIN `vsavn_modules_menu` AS `mm` ON `mm`.`moduleid` = `m`.`id`
LEFT JOIN `vsavn_extensions` AS `e` ON `e`.`element` = `m`.`module` AND `e`.`client_id` = `m`.`client_id`
WHERE
(
(
(`m`.`published` = 1 AND `e`.`enabled` = 1 AND `m`.`client_id` = :clientId AND `m`.`access` IN (:preparedArray1)) AND
(`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :publishUp)) AND
(`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :publishDown)) AND
(`mm`.`menuid` = :itemId OR `mm`.`menuid` <= 0)
ORDER BY `m`.`position`,`m`.`ordering`
591μs18.35KBParams/libraries/src/Cache/Controller/CallbackController.php:51CopySELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note
FROM vsavn_fields AS a
LEFT JOIN `vsavn_languages` AS l ON l.lang_code = a.language
LEFT JOIN vsavn_users AS uc ON uc.id=a.checked_out
LEFT JOIN vsavn_viewlevels AS ag ON ag.id = a.access
LEFT JOIN vsavn_users AS ua ON ua.id = a.created_user_id
LEFT JOIN vsavn_fields_groups AS g ON g.id = a.group_id
WHERE
(
(`a`.`context` = :context AND `a`.`access` IN (:preparedArray1)) AND
(`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray2)) AND `a`.`state` = :state) AND
(`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform
ORDER BY a.ordering ASC
880μs19.57KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:164CopySELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count
FROM `vsavn_scheduler_tasks` AS `a`
WHERE `a`.`state` = 1
255μs17.1KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:517CopySELECT `session_id`
FROM `vsavn_session`
WHERE `session_id` = ?
103μs16.61KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:277CopyUPDATE `vsavn_session`
SET `data` = ?
, `time` = ?
WHERE `session_id` = ?
153μs1.53KBParamsCopy