Wikidata:Contact the development team

From Wikidata
Jump to: navigation, search
Shortcut: WD:DEV
Wikidata development is ongoing. You can leave notes for the development team here, on #wikidata connect and on the mailing list or report bugs on Bugzilla. (See the list of bugs on Bugzilla.)

Regarding the accounts of the Wikidata development team, we have decided on the following rules:

  • Wikidata developers can have clearly marked staff accounts (in the form "Fullname (WMDE)"), and these can receive admin and bureaucrat rights.
  • These staff accounts should be used only for development, testing, spam-fighting, and emergencies.
  • The private accounts of staff members do not get admin and bureaucrat rights by default. If staff members desire admin and bureaucrat rights for their private accounts, those should be gained going through the processes developed by the community.
  • Every staff member is free to use their private account just as everyone else, obviously. Especially if they want to work on content in Wikidata, this is the account they should be using, not their staff account.

On this page, old discussions are archived. An overview of all archives can be found at this page's archive index. The current archive is located at October.

Duplicated links in corrupted item[edit]

Item Q17433231 seems corrupted. It precisely duplicates links that existed in Q17433230, which is now merged into Category:Belgian bibliographers (Q9046996). I'm unable to delete the two links in Q17433231, they reappear after I refresh the page. -- LaddΩ chat ;) 23:17, 16 October 2014 (UTC)

@Laddo: See Wikidata:True duplicates.--GZWDer (talk) 05:07, 17 October 2014 (UTC)

Sidebar links to Wikidata data pages[edit]

A feature that would (I think) be very useful would be if the sidebar on article pages on client wikis could include an entry that pointed to the corresponding data page on Wikidata.

Ideally this could go in the "other projects" box in the sidebar.

Yes, there is one issue with this. What about a template on say :en: with a corresponding instance here on :d: -- isn't that what should be linked to in the sidebar ?

It's a consideration; but 99% of the time it is the data page that would be more useful. If there is an instance of the item on Wikidata, perhaps that could be accommodated by moving the "Pages on other sites linked to this item" section to the top of the list, before the different languages, so if people specifically did want to go through to the Wikidata version of a template, they could find it quite quickly. That would really just leave Help pages as things people might want to click through to directly. Jheald (talk) 10:12, 17 October 2014 (UTC)

We show a link in the toolbox section of each article. It is labeled "Wikidata item". I have been asked to merge this with the part of the "in other projects" sidebar but have been hesitant for now because of the reason you mentioned. I am still looking for a better solution than just overwriting it. For a village pump getting directly to the project chat for example is probably what people expect. Ideas? --Lydia Pintscher (WMDE) (talk) 13:56, 20 October 2014 (UTC)

Merge function does not leave an empty item[edit]

See User talk:Magnus Manske#bug in QuickStatements. Q9665035 is not empty after merged.--GZWDer (talk) 10:30, 17 October 2014 (UTC)

Is there some error message? Is there anything that gets left behind? Anyone else have more examples of where this happens so we can investigate further? --Lydia Pintscher (WMDE) (talk) 13:59, 20 October 2014 (UTC)
@Lydia Pintscher (WMDE): If you merge two items (using an API call), everything is deleted except conflicting (different) descriptions etc. which stay in the merged-from item. If you want to redirect the item after the merge, you need to clear the item (as Merge.js does). The redirect call fails if the item is not empty. Matěj Suchánek (talk) 14:33, 20 October 2014 (UTC)
Ahhhh ok. Yes that is intended as we don't know what to do in those cases. Which description do we use and which do we throw away? One ticket we still have open is for conflicting labels. Those can just be added as an alias. That is bugzilla:65990. --Lydia Pintscher (WMDE) (talk) 14:36, 20 October 2014 (UTC)
... created by me. Shouldn't also a ticket for descriptions be created, then? I think too that this will really be difficult. Matěj Suchánek (talk) 18:44, 20 October 2014 (UTC)
Heh indeed. As for the description: The problem is that we really don't know which one to use and which one to throw away without asking the user. If we have a solution for that we can create a ticket but otherwise it'll just be there and rot. --Lydia Pintscher (WMDE) (talk) 18:57, 20 October 2014 (UTC)

Search option "containing"[edit]

Hi, the search option "containing" seems not to work at the moment. Try "Cyprinodon". --Succu (talk) 12:50, 17 October 2014 (UTC)

Lydia Pintscher (WMDE)? I'm running blind. Searching for "Senecio" gives no results. --Succu (talk) 21:11, 17 October 2014 (UTC)
Searching for "Senecio" works fine for me (with Firefox). -- LaddΩ chat ;) 02:01, 18 October 2014 (UTC)
No results with Firefox 32.0.3 / IE 11 with languages German / English using the magnifier icon or the dropdown item "containing". --Succu (talk) 07:00, 18 October 2014 (UTC)
You do not get any results here: ? --Lydia Pintscher (WMDE) (talk) 14:01, 20 October 2014 (UTC)
Argh. I found the problem. Somehow I have triggerd the option "Remember selection for future searches". So all my searches were done in the property namespace. I did not noticed this. Sorry. --Succu (talk) 14:17, 20 October 2014 (UTC)
Ah! Happens ;-) --Lydia Pintscher (WMDE) (talk) 14:19, 20 October 2014 (UTC)

Wikisource "mul"[edit]

The interwiki "mul" has been created to represent, see Wikidata_talk:Wikisource#mul:_interwiki_now_exists. Can it be added to the list of allowed sitelinks? --Micru (talk) 21:18, 17 October 2014 (UTC)

That will only support one sitelink. see bugzilla:52971.--GZWDer (talk) 06:46, 18 October 2014 (UTC)
How much of an issue would it be for Wikisource? As in how many topics exist in more than one language? If it is an insignificant amount we could probably give it a try. But if it is significant it'd be kind of meh. Also how do we expect this to change over the next years? --Lydia Pintscher (WMDE) (talk) 14:03, 20 October 2014 (UTC)

Wikisource badges[edit]

These are the proposed Wikisource badges. Would it be possible to display only those when adding badges to the Wikisource link group? Or are the badges shared with all projects?--Micru (talk) 12:07, 19 October 2014 (UTC)

They are shared. But we can probably add some constraint or abuse filter to limit it. --Lydia Pintscher (WMDE) (talk) 14:04, 20 October 2014 (UTC)

Unable to edit Q83210[edit]

Anyone else missing all "edit" buttons on Golan Heights (Q83210) ? Same behaviour in chrome and Firefox. -- LaddΩ chat ;) 15:28, 19 October 2014 (UTC)

Works fine here on Firefox. Do you see edit buttons on other items? --Stryn (talk) 15:36, 19 October 2014 (UTC)
Works fine also with IE and Crhome. Can tou try to disable all Beta feature? --ValterVB (talk) 15:38, 19 October 2014 (UTC)
All other items are fine. Weiiird. Same with IE too, and purging the cache does not help. Other things are strange on that page: the font of the title and description are different from all other pages, the text of the heading is actually smaller than normal-size ?! (But if I cut-and-paste these two lines in Word, they appear with the same font&size as other WD items :( ) Dunno if it's related, but this page is the only one I've seen showing an index at the top. Will try disabling Beta stuff. -- LaddΩ chat ;) 15:52, 19 October 2014 (UTC)
@ValterVB: No change after disabling all preferences, Beta gadgets and emptying common.js... Actually even after logging out of my WM account, that page still shows the same abnormal behavior. It hangs for multiple seconds in the middle of its load, possibly something times out - but I can load Moscow (Q649) without problems.
Why is Golan Heights (Q83210) the only page with a TOC ? -- LaddΩ chat ;) 16:09, 19 October 2014 (UTC)

──────────────────────────────────────────────────────────────────────────────────────────────────── OK, some news: a) Golan Heights (Q83210) now appears like all other pages, and b) I just figured that all large items have the same TOC at the top, but that it is normally organized horizontally, whereas for Q83210 all TOC links were listed one per line... So it seems it was a matter of layout that somehow got resolved. -- LaddΩ chat ;) 01:32, 20 October 2014 (UTC)

English or interface language?[edit]

Hello, There seems to be a problem that makes that in items at least some property values are displayed in English in stead of the interface language. Or at least an item as property value changes into English when one edits it. Dates can only be added in the YYYY-MM-DD (English) format. A bug? Kind regards, Lymantria (talk) 17:23, 22 October 2014 (UTC)

This is indeed a bug and appears related to Wikidata:Project chat#BIG problem with date adding. I have filed for this and we are looking into it. Aude (talk) 13:44, 23 October 2014 (UTC)


It seems Wikidata properties linking media are currently showing up in GlobalUsage, e.g. [1]. Am I corrent?--GZWDer (talk) 05:15, 23 October 2014 (UTC)

I think uses of commons media files in statements are registered (using standard mechanism) as links that GlobalUsage can find. (e.g. [2]) Aude (talk) 13:50, 23 October 2014 (UTC)

Connection between the new words in the daily damp updates[edit]

please tell me , where I can see the connection between the new words and old world in the daily damp updates, like in the monthly damp updates?

@Daniel Kinzler (WMDE): Maybe you can answer this? --Lydia Pintscher (WMDE) (talk) 20:16, 28 October 2014 (UTC)


Someone can check if API wbsetclaimvalue work? I tried with example data, claim=Q4115189$E3363DF2-8230-4F05-B42A-57CB5AA61D04&value={"entity-type":"item","numeric-id":1}&snaktype=value&token=cf874a0b42c245e6a513bbedd1b784e9+\, but don't works, return error: <error code="noclaim" info="The claim parameter must be set" xml:space="preserve">See for API usage</error> . --ValterVB (talk) 19:26, 23 October 2014 (UTC)

@Lydia Pintscher (WMDE): or someone of the staff: can you check this? Thanks. --ValterVB (talk) 18:51, 28 October 2014 (UTC)
@Hoo man: Can you have a look maybe? --Lydia Pintscher (WMDE) (talk) 20:04, 28 October 2014 (UTC)
Looking at this, please double check you are actually sending the claim parameter along. The actual paramter presence checking happens in a method defined by MediaWiki that's very widely used, so I'd be surprised if it didn't work. - Hoo man (talk) 07:49, 29 October 2014 (UTC)

Lua and Qualifiers[edit]

I have written some lua-code on using info from mediawiki:Extension:Wikibase Client/Lua. What I missed, is the possibility to work with qualifiers. I know how to get the value of a property - entity:formatPropertyValues - but not the qualifiers of that value. Is that already possible? If yes, could you point me to some code? --Molarus (talk) 07:48, 24 October 2014 (UTC)

I have been using Wikidata in Lua quite a bit, but never much used entity:formatPropertyValues. Mostly, I call chunks of the entity table directly. For that you need to know how items are structured and for some reason the documentation for this has been removed mw:Extension:Wikibase Client/Lua. I found this version much more interesting. Now, I use mw:Wikibase/Notes/JSON to guess the table structure.
Module:Wikidata can handle qualifiers (note that this module cannot readily be copied to other Wikis, because it is specifically tweaked for a multlingual project with arbitrary access to any item). fr:Module:Wikidata also supports qualifiers and should be more easily transposable to other projects. --Zolo (talk) 08:36, 24 October 2014 (UTC)
@Zolo:. We could probably use a version of fr:Module:Wikidata for Commons soon as well, now that the Commons RfC for Phase 2 is underway. We should probably keep the Commons version as close to the Wikidata one as we can, to allow prototyping and testing on Wikidata of templates for Commons (as at eg d:Template:SimpleCommonsGalleryHeader/test, d:Template:Creator/wrapper/test).
But I am aware that there may be some further refactoring you still have in mind for the module. Jheald (talk) 09:32, 24 October 2014 (UTC)
I have seen such code before, but I never understood where something like "snaktype" points to. Now I see, that it is the JSON output of the items, with witch I have already worked (Special:ApiSandbox). Your help gives me the startingpoint to learn it the right way. Thank you! I guess that the functions in mw:Extension:Wikibase Client/Lua are code around the table structure. I have already looked for this code and I found I don´t know, if that is the place where all this code is written. It has to be somethere! Well, I will not copy the french wikidata module, since there are so many different wikidata modules. In the de module I saw a function called getReferences, which should not be used so far. I guess it is under construction. But this module doesnt have qualifiers. And the en module is different too. Well, I will see how far I get. The first step will be to find out how to get the table strucrure (getClaims, my first guess). --Molarus (talk) 16:44, 24 October 2014 (UTC)
@Molarus:. Technically, this is not really JSON (JSON is used in Module:WBHacks), but it essentially contains the same thing, so that much of the JSON doc page can be used.
The function to get the full table is mw.wikibase.getEntityObject(). In Wikipedia, you can only get the table for the item connected to the page where you are (de:Universum can only get the table for Q1), so the function is passed without arguments. Then you can iterate over the keys to see what there is inside.
Yes, modules seem to have evolved in sligthly different direction depending on the language. Actually they usually cannot be directly copied very easily from one language to the next because they call other modules that may not exist in other languages.
@Jheald:, I do not plan major changes in Module:Wikidata at the moment. Perhaps, add some options, and prettify the layout, but not really change the functions, so it should be possible to carry it over to Commons. Arbitrary access will need to be disabled and date formatting adapted to local modules, but not much more than that. --Zolo (talk) 05:03, 25 October 2014 (UTC)
@Molarus: The Lua function mw.dumpObject() is useful to print out the data structure of an object. So, for example, the following could be useful if you're trying to get a handle on what is where:
  function p.showEntityStructure(frame)
        local entity = mw.wikibase.getEntityObject( frame.args[1] ) 
        return ( mw.dumpObject ( entity ) )  -- full structure
  function p.showEntitySitelinks(frame)
        local entity = mw.wikibase.getEntityObject( frame.args[1] ) 
        return ( mw.dumpObject ( entity.sitelinks ) )  -- sitelinks structure
But it's good to try to use mainstream modules like Module:Wikidata and Module:Wikibase or the basic functionality of mw:Extension:Wikibase_Client/Lua, if possible, rather than rolling your own accessors, because those calls will be more standardised and more familiar to people reading your code. Jheald (talk) 08:36, 25 October 2014 (UTC)
This is a part of the table structure:
 ["P115"] = table#20 {
     table#21 {
       ["id"] = "Q22$8f95ba7f-40b2-3ec7-fd83-75235df2d75b",
       ["mainsnak"] = table#22 {
         ["datavalue"] = table#23 {
           ["type"] = "wikibase-entityid",
           ["value"] = table#24 {
             ["entity-type"] = "item",
             ["numeric-id"] = 25,

This is the function:
   function p.test(frame)
        local entity = mw.wikibase.getEntityObject(frame.args[1])
        return "Q" ..["P115"][1].mainsnak.datavalue.value["numeric-id"]
The return is: Q25
I think with this background knowledge, everyone with some experience in writing code could understand our wikidata modules. (Lua is not that different) Maybe something like this could be copied somewhere on this wiki? PS: Thanks, Jheald. --Molarus (talk) 18:42, 25 October 2014 (UTC)

@Jheald:. Offtopic here, but one thing that I had forgotten is that mw.wikibase.label() only returns the label in the wiki's default language, so for Commons only in English. If we want multilingual labels without arbitrary access, I think we will need to plug some WBHacks into the Wikidata module. -Zolo (talk) 09:46, 25 October 2014 (UTC)

Lua, Wikidata and templates[edit]

Lets take the article en:Franz Kafka.

{{Infobox person
| birth_date       = {{birth date|1883|7|3|df=y}}
| birth_place      = [[Prague]], [[Bohemia]],<br>[[Austria-Hungary]]<br>(now [[Czech Republic]])

birth_date is property p569 and birth_place are properties p19(place of birth), p27(country of citizenship) and Czech Republic.  

That is 3 invoke commands. The whole template in en:Franz Kafka would have maybe 15 invokes. As far as I understand, one invoke gets the whole table structure, therefore one invoke should be enough? In Template:Infobox_person, for example, there should be one invoke, which gets all the data from wikidata at once. Therefore, we would need a new template called: Template:Infobox_person_wikidata. Am I right? I found en:Template:Infobox person/Wikidata. This template uses lots of invokes. And the templates in en:Category:Templates using data from Wikidata are using invoke the same way (as far as I have seen). --Molarus (talk) 07:23, 26 October 2014 (UTC)

One possibility, used in fr.wikipedia: define the infobox template in a Lua module, like fr:Module:Infobox/Station du métro d'Erevan, and "interpret" it using fr:Module:Infobox. Example: fr:Place Garéguine Njdeh (métro d'Erevan). The Wikidata item only needs to be loaded once. --Zolo (talk) 09:11, 26 October 2014 (UTC)
I like your solution. I have seen that the way you did it, the VisualEditor shows only the data written in Wikipedia, not in Wikidata. In this way, the infoboxes could get smaller and smaller the more info is moving from Wikipedia to Wikidata. By the way, in the en:WP I have seen it is possible to show in the VisualEditor which options an infobox has. For example: Paris. I guess, in this way it is possible to add info into the infoboxes (which should overwrite data coming from wikidata). What we would miss than, is a bot which compares data in Wikipedia infoboxes and Wikidata. --Molarus (talk) 16:41, 26 October 2014 (UTC)

RDF Dumps broken (?)[edit]

I asked on IRC about a problem with the RDF Dumps:

2014-10-24 06:11:52 <nloth> hi. I have a question about the Wikidata RDF dumps

2014-10-24 06:13:08 <nloth> I'm getting an error: illegal escape sequence value: " (0x22) when I try to load it (into Jena)

2014-10-24 06:13:17 <nloth> org.apache.jena.riot.RiotException: [line: 142128, col: 121] illegal escape sequence value: " (0x22)

2014-10-24 06:13:39 <nloth> line 142128 looks like this: <>; <>; <\"Retrat_de_l'escriptor_Juan_Carlos_Onetti_(1909-1994)\".png> .

2014-10-24 06:14:00 <nloth> Reading the RDF spec

2014-10-24 06:14:17 <nloth> I see [9] STRING_LITERAL_QUOTE ::= '"' ([^#x22#x5C#xA#xD] | ECHAR | UCHAR)* '"'

2014-10-24 06:14:49 <nloth> To me that looks like "R might be an illegal sequence?

2014-10-24 06:17:35 <nloth> hmm.. no one around?

2014-10-24 06:17:57 <GerardM-> nloth the latest ones are all corrupted due to a change in the JSON format

2014-10-24 06:18:11 <GerardM-> they did not fix it. I am not aware that they know how to

2014-10-24 06:18:37 <nloth> The RDF dumps are corrupted coz of a change in the JSON format?

2014-10-24 06:18:39 <GerardM-> both for the future dumps and for the ones that exist

2014-10-24 06:18:57 <nloth> ok well that explains it :(

2014-10-24 06:19:27 <nloth> thanks

2014-10-24 06:21:45 <GerardM-> yeo

2014-10-24 06:21:45 <GerardM-> yep

2014-10-24 06:22:14 <GerardM-> as a result there are no latest statistics for Wikidata

Is this a confirmed issue? Is there a Bugzilla link where I can find out more about what it would take to fix it?

@Daniel Kinzler (WMDE): Can you have a look please? --Lydia Pintscher (WMDE) (talk) 20:06, 28 October 2014 (UTC)

Calendar issues[edit]

  • Ive put a template in this article. The date is not properly shown. It tells year 0256 instead of 256.
  • In item Papyrus 1 (Q1627549) I put date of foundation or creation (P571) and value 250 and Genauigkeit centuy I get 3. century as a result, very nice but it just does not fit in the German Wikipedia this way. (language selector set to German). The interface is also localized only in part. On the other hand: If I want to change the value to 250 and Genauigkeit decade later, then the 250 are completely forgotten. You can not adjust Genauigkeit to a more precise value afterwards.--Giftzwerg 88 (talk) 17:08, 24 October 2014 (UTC)
@Aude: Could you have a look if this is the bug you were emailing about today? --Lydia Pintscher (WMDE) (talk) 20:18, 28 October 2014 (UTC)
Something is definitely wrong with precision handling and formatting but think it is unrelated to [[bugzilla:72393}}, since that happens in the api only (e.g. when editing an item). Aude (talk) 08:27, 29 October 2014 (UTC) for the first issue. I can't reproduce the second issue, although could use more investigation. Aude (talk) 08:36, 29 October 2014 (UTC)
We looked into this more... for the first issue, I see that de:Modul:Wikidata handles date formatting so I think it's likely or almost certain the issue is there. If I understand the second issue correctly (this also happens in Wikipedia?), then would also be an issue with the lua module. Aude (talk) 14:44, 29 October 2014 (UTC)

Editing issues[edit]

  • My ULS is set to German, XP, FF 33. Whenever I add a property or change a value or maybe link to another item, then the chosen item is showed in German, but when I save, the English label is shown. Only after a reload the German labels are shown.
  • Occasionaly I come across items without German labels. When I put in the label (and save) and then link this item to another item, the label is shown, when I chose the item, but when I save only Q#### is shown.
  • I tried to reorganize the properties of an item. I moved the different parts up and down and saved each time. But when I reload the item, only the first moved section has changed location, all others remain unchanged. This is a very annoying bug, because you can spend lots of time in reorganizing the order. There is however a workaround: You must reload the item each time after the placement of each section. --Giftzwerg 88 (talk) 09:47, 25 October 2014 (UTC)
Your first point gets tracked at Bugzilla:72393 --Pasleim (talk) 12:36, 25 October 2014 (UTC)
Your second issue is probably caching. The third one: We're currently figuring out how to do the underlying architecture for ordering so you can finally order without magic bugs happening. --Lydia Pintscher (WMDE) (talk) 20:20, 28 October 2014 (UTC)

Error on valid language code[edit]

Tried to add "Vuona gånågisrijkka" with language code smj for Norway (Q20), this is the name in w:en:Lule Sami Language according to w:nn:Noreg, but got an error on the language code. The code is in the drop down list for valid languages. This language does not have a valid interface language. Jeblad (talk) 15:29, 26 October 2014 (UTC)

This is already being tracked in bugzilla. --Lydia Pintscher (WMDE) (talk) 20:07, 28 October 2014 (UTC)

Census data[edit]

I took a look at some census data and noticed that a ±1 was added. In this case there is an uncertainty, but that is not ±1. In my data it is not given what the uncertainty is in this case, all I know is that the number is 5,124,383 for a specific sampling. I guess this is an on-going work, but if there is nothing known about the error bounds then nothing should be printed out either. Giving implicit error bounds when they are not correct is as bad as stating them explicit. Without starting a new discussion about errors vs uncertainty. Jeblad (talk) 13:26, 26 October 2014 (UTC)

see bugzilla:66580 --Pasleim (talk) 20:19, 26 October 2014 (UTC)

Truncation Problem[edit]

Sometimes I c&p values to put it as values for properties or in qualifiers. Once in a while I found the systems throws errors "malformed input". First it made no sense to me because if the input is datatype string it should accept all kinds of inputs. However the system does not accept strings with spaces before or after the string. In former days the system just would cut off spaces in front or after the string instead of throwing an error.--Giftzwerg 88 (talk) 19:38, 26 October 2014 (UTC)

see bugzilla:45925 --Pasleim (talk) 20:25, 26 October 2014 (UTC)


I'm unable to add references to Zürich (Q72). Either the error "timeout" or "Internal Server Error" get displayed. Adding claims work fine. --Pasleim (talk) 20:00, 26 October 2014 (UTC)

That is very likely bugzilla:71479 which is caused by bugs in PHP. JanZerebecki (talk) 11:22, 27 October 2014 (UTC)
We deployed new code that should have helped with this issue, and now I was able to add a reference to Zürich (Q72). Katie Filbert (WMDE) (talk) 20:04, 28 October 2014 (UTC)

Lua snak datatype[edit]

The Lua client doesn't expose the datatype field of snaks. Is this on purpose? --JulesWinnfield-hu (talk) 11:11, 27 October 2014 (UTC)

@Hoo man: I remember a bug about this? --Lydia Pintscher (WMDE) (talk) 20:21, 28 October 2014 (UTC)
No, this is actually supposed to work and I'm not aware of it being broken. Your snak table should have a datavalue table which has a type field that should have the information you are looking for. Please note that this might not apply to snaks with no value. - Hoo man (talk) 08:09, 29 October 2014 (UTC)
The datavalue has a type field, but the snak doesn't have a datatype field, which is not the same. The json has this field, but the Lua table doesn't. --JulesWinnfield-hu (talk) 09:00, 29 October 2014 (UTC)
Ah, now I see what you mean. I've uploaded a patch that will fix this. Cheers, Hoo man (talk) 00:29, 30 October 2014 (UTC)
Thank you. --JulesWinnfield-hu (talk) 11:06, 30 October 2014 (UTC)

Error when adding incorrect sitelinks[edit]


  1. Try to add aa:Test to Q4115189
  2. Shows "The external client site did not provide page information"
  3. Then click "Save" or "Cancel"
  4. Not able to edit this item.

--GZWDer (talk) 12:29, 31 October 2014 (UTC)