An error occurred while processing the template.
The string doesn't match the expected date/time/date-time format. The string to parse was: "1/1/54, 12:00 AM". The expected format was: "dd/MM/yyyy HH:mm".
The nested reason given follows:
Unparseable date: "1/1/54, 12:00 AM"

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${[.dataModel["ObjectRelationship#C_F...  [in template "22823141604726#20121#null" at line 777, column 37]
----
1<#assign 
2dlAppLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService") 
3dlURLHelper = serviceLocator.findService("com.liferay.document.library.util.DLURLHelper") 
4 
5objectEntryLocalService = serviceLocator.findService("com.liferay.object.service.ObjectEntryLocalService") 
6objectRelationshipLocalService = serviceLocator.findService("com.liferay.object.service.ObjectRelationshipLocalService") 
7objectDefinitionLocalService = serviceLocator.findService("com.liferay.object.service.ObjectDefinitionLocalService") 
8 
9listTypeDefinitionService = serviceLocator.findService("com.liferay.list.type.service.ListTypeDefinitionLocalService") 
10listTypeEntryService = serviceLocator.findService("com.liferay.list.type.service.ListTypeEntryLocalService") 
11/> 
12 
13<#assign summary = garance.getSummaryContent("Film")> 
14 
15<#assign workID = ObjectEntry_objectEntryId.getData() 
16workEntry = objectEntryLocalService.fetchObjectEntry(workID?number) 
17filmID = workEntry.values.r_filmWork_c_filmId 
18filmEntry = objectEntryLocalService.fetchObjectEntry(filmID?number) 
19filmGroupID = filmEntry.getGroupId() /> 
20 
21<#--------------------------------- Identité --------------------------> 
22<#assign othTltsRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "otherTitles")> 
23<#assign othTlts = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, othTltsRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
24<#assign othTltsFull = othTlts?filter(ot -> ot.values.otherTitleType != "TITDEP") /> 
25 
26<#assign viesPresRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "viesPresentation")> 
27<#assign viesPres = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, viesPresRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
28<#assign viePresFull = []> 
29<#assign viesPresFullOut = []> 
30<#if viesPres?hasContent> 
31    <#list viesPres as viePres> 
32        <#assign viePresCountry = ''> 
33        <#if viePres.values.r_viePresentationPays_c_thesaurusId != 0> 
34            <#assign viePresCountry = garance.getThesaurusByID(viePres.values.r_viePresentationPays_c_thesaurusId)> 
35        </#if> 
36        <#if viePresCountry?hasContent 
37        && viePresCountry == "France" 
38        && viePres.values.viePresentationType?hasContent 
39        && viePres.values.viePresentationType == "SALLE"> 
40            <#assign viePresFull = viePresFull + [viePres.values.viePresentationDate] /> 
41        <#elseIf viePresCountry?hasContent 
42        && viePres.values.viePresentationType?hasContent 
43        && (viePresCountry != "France" || viePres.values.viePresentationType != "SALLE")> 
44            <#assign viesPresFullOut = viesPresFullOut + [{ 
45            "date": (viePres.values.viePresentationDate??)?then(viePres.values.viePresentationDate, ''), 
46            "country": viePresCountry, 
47            "type": garance.getPicklistItemName(viePres.values.viePresentationType, "picklistViePresentationType") 
48            }] /> 
49        </#if> 
50    </#list> 
51</#if> 
52 
53<#assign creditsProdRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "creditsProduction")> 
54<#assign creditsProd = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, creditsProdRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
55<#assign creditsProdFull = []> 
56<#if creditsProd?hasContent> 
57    <#list creditsProd as creditProd> 
58        <#assign creditProdDomaine = ''> 
59        <#if creditProd.values.r_creditsProductionDomaine_c_thesaurusId != 0> 
60            <#assign creditProdDomaine = garance.getThesaurusByID(creditProd.values.r_creditsProductionDomaine_c_thesaurusId)> 
61        </#if> 
62 
63        <#if creditProdDomaine?hasContent && creditProdDomaine == "Société de production"> 
64            <#if creditProd.values.r_creditsProductionName_c_transitionPersonneId != 0> 
65                <#assign creditsProdFull = creditsProdFull + [{ 
66                "personne": garance.getPersonneDisplayData(creditProd.values.r_creditsProductionName_c_transitionPersonneId), 
67                "presume": creditProd.values.creditProductionPresume, 
68                "credite": creditProd.values.creditProductionCredite 
69                }] /> 
70            </#if> 
71        </#if> 
72    </#list> 
73</#if> 
74 
75<#assign viesClassRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "viesClassification")> 
76<#assign viesClass = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, viesClassRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
77<#assign viesClassFull = []> 
78<#if viesClass?hasContent> 
79    <#list viesClass as vieClass> 
80        <#if vieClass.values.vieClassificationLevels?hasContent> 
81            <#assign viesClassFull = viesClassFull + [{ 
82            "type" : garance.getPicklistItemName(vieClass.values.vieClassificationLevels, "picklistVieClassificationLevel"), 
83            "date": (vieClass.values.vieClassificationDateDeDecision??)?then(vieClass.values.vieClassificationDateDeDecision, '') 
84            }] /> 
85        </#if> 
86    </#list> 
87</#if> 
88 
89<#assign languesParlRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "languesParlees")> 
90<#assign languesParl = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, languesParlRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
91<#assign languesParlFull = []> 
92<#if languesParl?hasContent> 
93    <#list languesParl as langueParl> 
94        <#if langueParl.values.r_languagesSpoken_c_thesaurusId != 0> 
95            <#assign langueThes = garance.getThesaurusByID(langueParl.values.r_languagesSpoken_c_thesaurusId)> 
96            <#if langueThes?hasContent && langueParl.values.languagesSpokenType?hasContent> 
97                <#assign languesParlFull = languesParlFull + [ 
98                garance.getPicklistItemName(langueParl.values.languagesSpokenType, "picklistLangueParleeType") + " : " + langueThes 
99                ] /> 
100            </#if> 
101        </#if> 
102    </#list> 
103</#if> 
104 
105<#assign cataloguesRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "catalogues")> 
106<#assign catalogues = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, cataloguesRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
107 
108<#assign showIdentity = (othTltsFull?hasContent 
109|| .dataModel["ObjectRelationship#C_Film#filmWork_workType"].getData()?hasContent 
110|| .dataModel["ObjectRelationship#C_Film#filmWork_cardinalite"].getData()?hasContent 
111|| .dataModel["ObjectRelationship#C_Film#filmWork_titleDateStart"].getData()?hasContent 
112|| viePresFull?hasContent 
113|| creditsProdFull?hasContent 
114|| .dataModel["ObjectRelationship#C_Film#filmWork_rcaLinkNumber"].getData()?hasContent 
115|| viesClassFull?hasContent 
116|| languesParlFull?hasContent 
117|| catalogues?hasContent 
118|| viesPresFullOut?hasContent 
119)> 
120 
121<#--------------------------------- Description --------------------------> 
122 
123<#assign keywordsRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "contentSubjects")> 
124<#assign keywords = objectEntryLocalService.getManyToManyObjectEntries(filmGroupID, keywordsRel.objectRelationshipId, filmID, true, keywordsRel.isReverse(), null, -1, -1 ) /> 
125 
126<#assign contentGenresRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "contentGenres")> 
127<#assign contentGenres = objectEntryLocalService.getManyToManyObjectEntries(filmGroupID, contentGenresRel.objectRelationshipId, filmID, true, contentGenresRel.isReverse(), null, -1, -1 ) /> 
128 
129<#assign formesOeuvreAdapteeRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "formesOeuvreAdaptee")> 
130<#assign formesOeuvreAdaptee = objectEntryLocalService.getManyToManyObjectEntries(filmGroupID, formesOeuvreAdapteeRel.objectRelationshipId, filmID, true, formesOeuvreAdapteeRel.isReverse(), null, -1, -1 ) /> 
131 
132<#assign vocabulairesCinematographiquesRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "vocabulairesCinematographiques")> 
133<#assign vocabulairesCinematographiques = objectEntryLocalService.getManyToManyObjectEntries(filmGroupID, vocabulairesCinematographiquesRel.objectRelationshipId, filmID, true, vocabulairesCinematographiquesRel.isReverse(), null, -1, -1 ) /> 
134 
135<#assign viesProductionRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "viesProduction")> 
136<#assign viesProduction = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, viesProductionRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
137 
138<#assign viesTournageRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "viesTournage")> 
139<#assign viesTournage = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, viesTournageRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
140<#assign datesViesTournage = []> 
141<#if viesTournage?hasContent> 
142    <#list viesTournage as vieTournage> 
143        <#assign vieTournageEndDate = ""> 
144        <#if vieTournage.values.vieProductionPrecisionDateStart?hasContent> 
145            <#if vieTournage.values.vieProductionPrecisionDateEnd?hasContent> 
146                <#assign vieTournageEndDate = vieTournage.values.vieProductionPrecisionDateEnd?string("dd/MM/yyyy") > 
147            </#if> 
148            <#assign datesViesTournage = datesViesTournage + [{ 
149            "start": vieTournage.values.vieProductionPrecisionDateStart?string("dd/MM/yyyy"), 
150            "end": vieTournageEndDate 
151            }]> 
152        </#if> 
153    </#list> 
154</#if> 
155 
156 
157<#assign studiosTournageRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "viesProductionStudiosDeTournage")> 
158<#assign studiosTournage = objectEntryLocalService.getManyToManyObjectEntries(filmGroupID, studiosTournageRel.objectRelationshipId, filmID, true, studiosTournageRel.isReverse(), null, -1, -1 ) /> 
159 
160<#assign studiosEnregRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "viesProductionStudiosDEnregistrement")> 
161<#assign studiosEnreg = objectEntryLocalService.getManyToManyObjectEntries(filmGroupID, studiosEnregRel.objectRelationshipId, filmID, true, studiosEnregRel.isReverse(), null, -1, -1 ) /> 
162 
163<#assign labsRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "viesProductionLaboratoire")> 
164<#assign labs = objectEntryLocalService.getManyToManyObjectEntries(filmGroupID, labsRel.objectRelationshipId, filmID, true, labsRel.isReverse(), null, -1, -1 ) /> 
165 
166<#assign showDescription = (.dataModel["ObjectRelationship#C_Film#filmWork_description"].getData()?hasContent 
167|| keywords?hasContent 
168|| .dataModel["ObjectRelationship#C_Film#filmWork_genre"].getData()?hasContent 
169|| contentGenres?hasContent 
170|| formesOeuvreAdaptee?hasContent 
171|| vocabulairesCinematographiques?hasContent 
172|| viesProduction?hasContent 
173|| datesViesTournage?hasContent 
174|| studiosTournage?hasContent 
175|| studiosEnreg?hasContent 
176|| labs?hasContent 
177|| .dataModel["ObjectRelationship#C_Film#filmWork_notes"].getData()?hasContent)> 
178 
179 
180<#--------------------------------- Générique --------------------------> 
181<#assign credRealsRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "creditsRealisation")> 
182<#assign credReals = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, credRealsRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
183<#assign credRealsFull = {}> 
184<#list credReals as credReal> 
185    <#assign function = ""> 
186    <#if credReal.values.r_creditsRealisationDomaine_c_thesaurusId != 0> 
187        <#assign function = garance.getThesaurusByID(credReal.values.r_creditsRealisationDomaine_c_thesaurusId)> 
188    </#if> 
189 
190    <#if credReal.values.r_creditsRealisationName_c_transitionPersonneId != 0> 
191        <#if credRealsFull[function]??> 
192            <#assign credRealsFull = credRealsFull + {function: credRealsFull[function]+ [{ 
193            "presume": credReal.values.creditRealisationPresume, 
194            "credite": credReal.values.creditRealisationCredite, 
195            "personne": garance.getPersonneDisplayData(credReal.values.r_creditsRealisationName_c_transitionPersonneId) 
196            }]}> 
197        <#else> 
198            <#assign credRealsFull = credRealsFull + {function: [{ 
199            "presume": credReal.values.creditRealisationPresume, 
200            "credite": credReal.values.creditRealisationCredite, 
201            "personne": garance.getPersonneDisplayData(credReal.values.r_creditsRealisationName_c_transitionPersonneId) 
202            }]}> 
203        </#if> 
204    </#if> 
205</#list> 
206 
207<#assign credEcritsRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "creditsEcriture")> 
208<#assign credEcrits = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, credEcritsRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
209<#assign credEcritsFull = {}> 
210<#list credEcrits as credEcriture> 
211    <#assign function = ""> 
212    <#if credEcriture.values.r_creditsEcritureDomaine_c_thesaurusId != 0> 
213        <#assign function = garance.getThesaurusByID(credEcriture.values.r_creditsEcritureDomaine_c_thesaurusId)> 
214    </#if> 
215    <#if credEcriture.values.r_creditsEcritureName_c_transitionPersonneId != 0> 
216        <#if credEcritsFull[function]??> 
217            <#assign credEcritsFull = credEcritsFull + {function: credEcritsFull[function]+ [{ 
218            "presume": credEcriture.values.creditEcriturePresume, 
219            "credite": credEcriture.values.creditEcritureCredite, 
220            "personne": garance.getPersonneDisplayData(credEcriture.values.r_creditsEcritureName_c_transitionPersonneId) 
221            }]}> 
222        <#else> 
223            <#assign credEcritsFull = credEcritsFull + {function: [{ 
224            "presume": credEcriture.values.creditEcriturePresume, 
225            "credite": credEcriture.values.creditEcritureCredite, 
226            "personne": garance.getPersonneDisplayData(credEcriture.values.r_creditsEcritureName_c_transitionPersonneId) 
227            }]}> 
228        </#if> 
229    </#if> 
230</#list> 
231 
232<#assign credMusicsRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "creditsMusic")> 
233<#assign credMusics = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, credMusicsRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
234<#assign credMusicsFull = {}> 
235<#list credMusics as credMusic> 
236    <#assign function = ""> 
237    <#if credMusic.values.r_creditsMusicDomaine_c_thesaurusId != 0> 
238        <#assign function = garance.getThesaurusByID(credMusic.values.r_creditsMusicDomaine_c_thesaurusId)> 
239    </#if> 
240    <#if credMusic.values.r_creditsMusicName_c_transitionPersonneId != 0> 
241        <#if credMusicsFull[function]??> 
242            <#assign credMusicsFull = credMusicsFull + {function: credMusicsFull[function]+ [{ 
243            "presume": credMusic.values.creditMusicPresume, 
244            "credite": credMusic.values.creditMusicCredite, 
245            "personne": garance.getPersonneDisplayData(credMusic.values.r_creditsMusicName_c_transitionPersonneId) 
246            }]}> 
247        <#else> 
248            <#assign credMusicsFull = credMusicsFull + {function: [{ 
249            "presume": credMusic.values.creditMusicPresume, 
250            "credite": credMusic.values.creditMusicCredite, 
251            "personne": garance.getPersonneDisplayData(credMusic.values.r_creditsMusicName_c_transitionPersonneId) 
252            }]}> 
253        </#if> 
254    </#if> 
255</#list> 
256 
257 
258<#assign credTechsRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "creditsTechnique")> 
259<#assign credTechs = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, credTechsRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
260<#assign credTechsFull = {}> 
261<#list credTechs as credTechnique> 
262    <#assign function = ""> 
263    <#if credTechnique.values.r_creditsTechniqueDomaine_c_thesaurusId != 0> 
264        <#assign function = garance.getThesaurusByID(credTechnique.values.r_creditsTechniqueDomaine_c_thesaurusId)> 
265    </#if> 
266    <#if credTechnique.values.r_creditsTechniqueName_c_transitionPersonneId != 0> 
267        <#if credTechsFull[function]??> 
268            <#assign credTechsFull = credTechsFull + {function: credTechsFull[function]+ [{ 
269            "presume": credTechnique.values.creditTechniquePresume, 
270            "credite": credTechnique.values.creditTechniqueCredite, 
271            "personne": garance.getPersonneDisplayData(credTechnique.values.r_creditsTechniqueName_c_transitionPersonneId) 
272            }]}> 
273        <#else> 
274            <#assign credTechsFull = credTechsFull + {function: [{ 
275            "presume": credTechnique.values.creditTechniquePresume, 
276            "credite": credTechnique.values.creditTechniqueCredite, 
277            "personne": garance.getPersonneDisplayData(credTechnique.values.r_creditsTechniqueName_c_transitionPersonneId) 
278            }]}> 
279        </#if> 
280    </#if> 
281</#list> 
282 
283<#assign credProdsRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "creditsProduction")> 
284<#assign credProds = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, credProdsRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
285<#assign credProdsFull = {}> 
286<#list credProds as credProduction> 
287    <#assign function = ""> 
288    <#if credProduction.values.r_creditsProductionDomaine_c_thesaurusId != 0> 
289        <#assign function = garance.getThesaurusByID(credProduction.values.r_creditsProductionDomaine_c_thesaurusId)> 
290    </#if> 
291    <#if credProduction.values.r_creditsProductionName_c_transitionPersonneId != 0> 
292        <#if credProdsFull[function]??> 
293            <#assign credProdsFull = credProdsFull + {function: credProdsFull[function]+ [{ 
294            "presume": credProduction.values.creditProductionPresume, 
295            "credite": credProduction.values.creditProductionCredite, 
296            "personne": garance.getPersonneDisplayData(credProduction.values.r_creditsProductionName_c_transitionPersonneId) 
297            }]}> 
298        <#else> 
299            <#assign credProdsFull = credProdsFull + {function: [{ 
300            "presume": credProduction.values.creditProductionPresume, 
301            "credite": credProduction.values.creditProductionCredite, 
302            "personne": garance.getPersonneDisplayData(credProduction.values.r_creditsProductionName_c_transitionPersonneId) 
303            }]}> 
304        </#if> 
305    </#if> 
306</#list> 
307 
308<#assign credIntersRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "creditsInterpretation")> 
309<#assign credInters = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, credIntersRel.objectRelationshipId, filmID, true, null, -1, -1) /> 
310<#assign credIntersFull = {}> 
311<#list credInters as credInterpretation> 
312    <#assign function = ""> 
313    <#if credInterpretation.values.r_creditsInterpretationDomaine_c_thesaurusId != 0> 
314        <#assign function = garance.getThesaurusByID(credInterpretation.values.r_creditsInterpretationDomaine_c_thesaurusId)> 
315    </#if> 
316    <#if credInterpretation.values.r_creditsInterpretationName_c_transitionPersonneId != 0> 
317        <#if credIntersFull[function]??> 
318            <#assign credIntersFull = credIntersFull + {function: credIntersFull[function]+ [{ 
319            "presume": credInterpretation.values.creditInterpretationPresume, 
320            "credite": credInterpretation.values.creditInterpretationCredite, 
321            "role": credInterpretation.values.castCreditOnScreen, 
322            "personne": garance.getPersonneDisplayData(credInterpretation.values.r_creditsInterpretationName_c_transitionPersonneId) 
323            }]}> 
324        <#else> 
325            <#assign credIntersFull = credIntersFull + {function: [{ 
326            "presume": credInterpretation.values.creditInterpretationPresume, 
327            "credite": credInterpretation.values.creditInterpretationCredite, 
328            "role": credInterpretation.values.castCreditOnScreen, 
329            "personne": garance.getPersonneDisplayData(credInterpretation.values.r_creditsInterpretationName_c_transitionPersonneId) 
330            }]}> 
331        </#if> 
332    </#if> 
333</#list> 
334 
335 
336<#assign showGenerique = (credRealsFull?hasContent 
337|| credEcritsFull?hasContent 
338|| credMusicsFull?hasContent 
339|| credTechsFull?hasContent 
340|| credProdsFull?hasContent 
341|| credIntersFull?hasContent 
342)> 
343 
344 
345 
346<#--------------------------------- Infos techniques --------------------------> 
347<#assign techColorsRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "techniquesCouleur")> 
348<#assign techColors = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, techColorsRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
349 
350<#assign workSoundsRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "workSounds")> 
351<#assign workSounds = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, workSoundsRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
352<#assign workSoundsFull=[]> 
353<#if workSounds?hasContent> 
354    <#list workSounds as workSound> 
355        <#assign systemLabel = ""> 
356        <#if workSound.values.r_workSystemeSonores_c_thesaurusId != 0> 
357            <#assign systemLabel = garance.getThesaurusByID(workSound.values.r_workSystemeSonores_c_thesaurusId)> 
358            <#if systemLabel?hasContent> 
359                <#assign workSoundsFull = workSoundsFull + [{ 
360                "system": systemLabel, 
361                "surround": garance.getThesaurusByID(workSound.values.r_workSurroundSounds_c_thesaurusId) 
362                }]> 
363            </#if> 
364        </#if> 
365    </#list> 
366</#if> 
367 
368<#assign techniquesImageRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "techniquesImage")> 
369<#assign techniquesImage = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, techniquesImageRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
370<#assign techniquesImageFull=[]> 
371<#if techniquesImage?hasContent> 
372    <#list techniquesImage as techniqueImage> 
373        <#assign formatLabel = ""> 
374        <#if techniqueImage.values.r_formatsPicture_c_thesaurusId != 0> 
375            <#assign formatLabel = garance.getThesaurusByID(techniqueImage.values.r_formatsPicture_c_thesaurusId)> 
376            <#if formatLabel?hasContent> 
377                <#assign techniquesImageFull = techniquesImageFull + [{ 
378                "format": formatLabel, 
379                "cadrage": garance.getThesaurusByID(techniqueImage.values.r_workTechniqueCadrage_c_thesaurusId), 
380                "relief": techniqueImage.values.workReliefFlag 
381                }]> 
382            </#if> 
383        </#if> 
384    </#list> 
385</#if> 
386 
387<#assign showTechnique = (.dataModel["ObjectRelationship#C_Film#filmWork_typeDeMetrage"].getData()?hasContent 
388|| (.dataModel["ObjectRelationship#C_Film#filmWork_workVariantQuantity"].getData()?hasContent && .dataModel["ObjectRelationship#C_Film#filmWork_workVariantQuantity"].getData()?string != "0") 
389|| .dataModel["ObjectRelationship#C_Film#filmWork_workVariantMetrage"].getData()?hasContent 
390|| techColors?hasContent 
391|| .dataModel["ObjectRelationship#C_Film#filmWork_sonore"].getData()?hasContent 
392|| workSoundsFull?hasContent 
393|| techniquesImageFull?hasContent)> 
394 
395 
396<#--------------------------------- Presse --------------------------> 
397 
398<#assign florilegesRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "florileges")> 
399<#assign florileges = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, florilegesRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
400 
401<#assign synthesesRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "syntheses")> 
402<#assign syntheses = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, synthesesRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
403 
404<#assign showPress = (florileges?hasContent 
405|| syntheses?hasContent)> 
406 
407<#--------------------------------- Récompenses --------------------------> 
408 
409<#assign awardsRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "awards")> 
410<#assign awards = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, awardsRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
411<#assign awardsFull = []> 
412<#if awards?hasContent> 
413    <#list awards as award> 
414        <#assign eventResult = ""> 
415        <#assign eventYear = ""> 
416        <#if award.values.r_awardEvent_c_eventId != 0> 
417            <#assign event = objectEntryLocalService.fetchObjectEntry(award.values.r_awardEvent_c_eventId?number)> 
418            <#if award.values.eventResult?hasContent> 
419                <#assign eventResult = garance.getPicklistItemName(award.values.eventResult, "picklistRecompenseResultat") > 
420            </#if> 
421            <#if event.values.eventAwardYear?hasContent> 
422                <#assign eventYear = event.values.eventAwardYear?string("yyyy") > 
423            </#if> 
424            <#if event.objectEntryId?hasContent> 
425                <#assign awardsFull = awardsFull + [[eventYear, award.values.eventsNomination, event.values.eventParticipant, eventResult]]> 
426            </#if> 
427        </#if> 
428    </#list> 
429</#if> 
430<#assign showAwards = awardsFull?hasContent> 
431 
432<#--------------------------------- Exploitation --------------------------> 
433 
434<#assign exploitationParisRaw = { 
435"salle":   .dataModel["ObjectRelationship#C_Film#filmWork_vieExploitationSallesParis"].getData(), 
436"semaine": .dataModel["ObjectRelationship#C_Film#filmWork_vieExploitationSemaineParis"].getData(), 
437"entree":  .dataModel["ObjectRelationship#C_Film#filmWork_vieExploitationEntreeParis"].getData(), 
438"total":   .dataModel["ObjectRelationship#C_Film#filmWork_vieExploitationTotalParis"].getData() 
439} /> 
440 
441<#assign exploitationParis = {} /> 
442<#list exploitationParisRaw?keys as k> 
443    <#if exploitationParisRaw[k]?hasContent> 
444        <#assign exploitationParis = exploitationParis + { k: exploitationParisRaw[k] } /> 
445    </#if> 
446</#list> 
447 
448<#assign hasExploitationParis = (exploitationParis?size > 0) /> 
449 
450<#assign exploitationProvinceRaw = { 
451"salle":   .dataModel["ObjectRelationship#C_Film#filmWork_vieExploitationSallesProvince"].getData(), 
452"semaine": .dataModel["ObjectRelationship#C_Film#filmWork_vieExploitationSemaineProvince"].getData(), 
453"entree":  .dataModel["ObjectRelationship#C_Film#filmWork_vieExploitationEntreeProvince"].getData(), 
454"total":   .dataModel["ObjectRelationship#C_Film#filmWork_vieExploitationTotalProvince"].getData() 
455} /> 
456 
457<#assign exploitationProvince = {} /> 
458<#list exploitationProvinceRaw?keys as k> 
459    <#if exploitationProvinceRaw[k]?hasContent> 
460        <#assign exploitationProvince = exploitationProvince + { k: exploitationProvinceRaw[k] } /> 
461    </#if> 
462</#list> 
463 
464<#assign hasExploitationProvince = (exploitationProvince?size > 0) /> 
465 
466 
467<#assign exploitationFranceRaw = { 
468"salle":    .dataModel["ObjectRelationship#C_Film#filmWork_vieExploitationSallesFrance"].getData(), 
469"semaine":  .dataModel["ObjectRelationship#C_Film#filmWork_vieExploitationSemaineFrance"].getData(), 
470"entree":   .dataModel["ObjectRelationship#C_Film#filmWork_vieExploitationEntreeFrance"].getData(), 
471"total":    .dataModel["ObjectRelationship#C_Film#filmWork_vieExploitationTotalFrance"].getData() 
472} /> 
473 
474<#assign exploitationFrance = {} /> 
475<#list exploitationFranceRaw?keys as k> 
476    <#if exploitationFranceRaw[k]?hasContent> 
477        <#assign exploitationFrance = exploitationFrance + { k: exploitationFranceRaw[k] } /> 
478    </#if> 
479</#list> 
480 
481<#assign hasExploitationFrance = (exploitationFrance?size > 0) /> 
482 
483<#assign showExploitation = (hasExploitationParis || hasExploitationProvince || hasExploitationFrance)> 
484 
485<#--------------------------------- Bibliographies --------------------------> 
486 
487<#assign bibliographiesRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "bibliographies")> 
488<#assign bibliographies = objectEntryLocalService.getManyToManyObjectEntries(filmGroupID, bibliographiesRel.objectRelationshipId, filmID, true, bibliographiesRel.isReverse(), null, -1, -1 ) /> 
489<#assign digitalRefs = []> 
490<#if bibliographies?hasContent> 
491    <#list bibliographies as bibliographie> 
492        <#assign digitalRefsRel = objectRelationshipLocalService.getObjectRelationship(bibliographie.objectDefinitionId, "digitalReferences")> 
493        <#assign digitalRefs = objectEntryLocalService.getOneToManyObjectEntries(bibliographie.getGroupId(), digitalRefsRel.objectRelationshipId, bibliographie.objectEntryId, true, null, -1, -1 ) /> 
494    </#list> 
495</#if> 
496 
497<#assign showBibliographie = digitalRefs?hasContent> 
498 
499 
500<#assign seriesFull = []> 
501<#assign corpusFull = []> 
502<#assign ensembleFull = []> 
503 
504<#--------------------------------- Series --------------------------> 
505 
506<#assign seriesRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "relatedSeries")> 
507<#assign series = objectEntryLocalService.getManyToManyObjectEntries(filmGroupID, seriesRel.objectRelationshipId, filmID, true, seriesRel.isReverse(), null, -1, -1 ) /> 
508<#assign relatedSeriesFull = []> 
509<#if series?hasContent> 
510    <#list series as relatedObject> 
511        <#assign relatedSerie = {}> 
512        <#assign serieTitle = ""> 
513        <#if relatedObject.values.relatedPriref?hasContent> 
514            <#attempt> 
515                <#assign relatedSerie = objectEntryLocalService.fetchObjectEntry(relatedObject.values.relatedPriref, filmEntry.objectDefinitionId)> 
516                <#recover> 
517                    <#assign relatedSerie = ""> 
518            </#attempt> 
519 
520            <#if relatedSerie?hasContent && relatedSerie.values.descriptionLevel?? && relatedSerie.values.descriptionLevel == "WORK"> 
521                <#assign workSerie = objectEntryLocalService.fetchObjectEntry("work_" + relatedSerie.externalReferenceCode, workEntry.objectDefinitionId)> 
522                <#if relatedSerie.values.frenchTitle?hasContent> 
523                    <#assign relatedSeriesFull = relatedSeriesFull + [{ 
524                    "id": workSerie.objectEntryId, 
525                    "title": [relatedSerie.values.frenchTitleArticle, relatedSerie.values.frenchTitle]?filter(v->v?hasContent)?join(" "), 
526                    "type": relatedSerie.values.worklevelTypeSerie!"" 
527                    }]> 
528                <#elseIf relatedSerie.values.titleComplete?hasContent> 
529                    <#assign relatedSeriesFull = relatedSeriesFull + [{ 
530                    "id": workSerie.objectEntryId, 
531                    "title": relatedSerie.values.titleComplete, 
532                    "type": relatedSerie.values.worklevelTypeSerie!"" 
533                    }]> 
534                <#else> 
535                    <#assign relatedSeriesFull = relatedSeriesFull + [{ 
536                    "id": workSerie.objectEntryId, 
537                    "title": relatedObject.values.title, 
538                    "type": relatedSerie.values.worklevelTypeSerie!"" 
539                    }]> 
540                </#if> 
541            </#if> 
542        </#if> 
543    </#list> 
544</#if> 
545 
546<#assign seriesFull = relatedSeriesFull?filter(s->s.type == "SERIE") /> 
547<#assign corpusFull = relatedSeriesFull?filter(s->s.type == "CORPUS") /> 
548<#assign ensembleFull = relatedSeriesFull?filter(s->s.type == "ENSEMBLE") /> 
549 
550<#assign composingFull = relatedSeriesFull?filter(s-> !(s.type)?hasContent) /> 
551 
552<#--------------------------------- Films liés --------------------------> 
553 
554 
555<#assign relatedFilmsRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "relatedFilms")> 
556<#assign relatedFilms = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, relatedFilmsRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
557<#assign relatedFilmsFull = []> 
558<#if relatedFilms?hasContent> 
559    <#list relatedFilms as relatedFilm> 
560        <#assign relatedFilmRelatedObject = {}> 
561        <#assign relatedObject = {}> 
562        <#assign relatedFilmRef = {}> 
563        <#if relatedFilm.values.r_filmRelatedFilm_c_relatedObjectId != 0 && relatedFilm.values.r_filmRelatedFilm_c_relatedObjectId != 0> 
564            <#assign relatedObject = objectEntryLocalService.fetchObjectEntry(relatedFilm.values.r_filmRelatedFilm_c_relatedObjectId)> 
565            <#if relatedObject?? && relatedObject.values.relatedPriref?hasContent> 
566                <#attempt> 
567                    <#assign relatedFilmRef = objectEntryLocalService.fetchObjectEntry(relatedObject.values.relatedPriref, filmEntry.objectDefinitionId)> 
568                    <#recover> 
569                        <#assign relatedFilmRef = ""> 
570                </#attempt> 
571                <#if relatedFilmRef?hasContent && relatedFilmRef.values.descriptionLevel?hasContent && relatedFilmRef.values.descriptionLevel == "WORK"> 
572                    <#assign workRelatedFilm = objectEntryLocalService.fetchObjectEntry("work_" + relatedFilmRef.externalReferenceCode, workEntry.objectDefinitionId)> 
573                    <#if relatedFilmRef.values.frenchTitle?hasContent> 
574                        <#assign relatedFilmsFull = relatedFilmsFull + [{ 
575                        "id": workRelatedFilm.objectEntryId, 
576                        "title": [relatedFilmRef.values.frenchTitleArticle, relatedFilmRef.values.frenchTitle]?filter(v->v?hasContent)?join(" "), 
577                        "type": relatedFilm.values.filmRelationType 
578                        }]> 
579                    <#else> 
580                        <#assign relatedFilmsFull = relatedFilmsFull + [{ 
581                        "id": workRelatedFilm.objectEntryId, 
582                        "title": relatedObject.values.title, 
583                        "type": relatedFilm.values.filmRelationType 
584                        }]> 
585                    </#if> 
586                <#else> 
587                    <#assign relatedFilmsFull = relatedFilmsFull + [{ 
588                    "title": relatedObject.values.title, 
589                    "type": relatedFilm.values.filmRelationType 
590                    }]> 
591                </#if> 
592            </#if> 
593        </#if> 
594    </#list> 
595</#if> 
596 
597<#assign showRelatedFilms = relatedFilmsFull?hasContent> 
598 
599<#--------------------------------- Versions --------------------------> 
600<#assign filmChildrenRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "filmChildren")> 
601<#assign filmChildren = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, filmChildrenRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
602<#assign variantChildren = []> 
603<#if filmChildren?hasContent> 
604    <#assign variantChildren = filmChildren?filter(v -> v.values.descriptionLevel?hasContent && v.values.descriptionLevel == "VARIANT")> 
605</#if> 
606 
607<#assign showVariant = variantChildren?hasContent> 
608 
609<#--------------------------------- Corpus --------------------------> 
610 
611<#assign corpusRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "corpusRelation")> 
612<#assign corpus = objectEntryLocalService.getManyToManyObjectEntries(filmGroupID, corpusRel.objectRelationshipId, filmID, true, corpusRel.isReverse(), null, -1, -1 ) /> 
613<#if corpus?hasContent> 
614    <#list corpus as relatedObject> 
615        <#assign relatedCorpus = {}> 
616        <#if relatedObject.values.relatedPriref?hasContent> 
617            <#attempt> 
618                <#assign relatedCorpus = objectEntryLocalService.fetchObjectEntry(relatedObject.values.relatedPriref, filmEntry.objectDefinitionId)> 
619                <#recover> 
620                    <#assign relatedCorpus = ""> 
621            </#attempt> 
622            <#if relatedCorpus?hasContent && relatedCorpus.values.descriptionLevel && relatedCorpus.values.descriptionLevel == "WORK"> 
623                <#assign workCorpus = objectEntryLocalService.fetchObjectEntry("work_" + relatedCorpus.externalReferenceCode, workEntry.objectDefinitionId)> 
624                <#if relatedCorpus.values.frenchTitle?hasContent> 
625                    <#assign corpusFull = corpusFull + [{ 
626                    "id": workCorpus.objectEntryId, 
627                    "title": [relatedCorpus.values.frenchTitleArticle, relatedCorpus.values.frenchTitle]?filter(v->v?hasContent)?join(" ")} 
628                    ]> 
629                <#elseIf relatedCorpus.values.titleComplete?hasContent> 
630                    <#assign corpusFull = corpusFull + [{ 
631                    "id": workCorpus.objectEntryId, 
632                    "title": relatedCorpus.values.titleComplete} 
633                    ]> 
634                <#else> 
635                    <#assign corpusFull = corpusFull + [{ 
636                    "id": workCorpus.objectEntryId, 
637                    "title": relatedObject.values.title 
638                    }]> 
639                </#if> 
640            <#else> 
641                <#assign corpusFull = corpusFull + [{ 
642                "title": relatedObject.values.title 
643                }]> 
644            </#if> 
645        </#if> 
646    </#list> 
647</#if> 
648 
649<#assign showCorpus = corpusFull?hasContent> 
650<#assign showSerie = seriesFull?hasContent> 
651<#assign showEnsemble = ensembleFull?hasContent> 
652<#assign showComposingCorpus = filmEntry.values.worklevelTypeSerie == "CORPUS" && composingFull?hasContent> 
653<#assign showComposingSerie = filmEntry.values.worklevelTypeSerie == "SERIE" && composingFull?hasContent> 
654<#assign showComposingEnsemble = filmEntry.values.worklevelTypeSerie == "ENSEMBLE" && composingFull?hasContent> 
655 
656<#--------------------------------- Consultation --------------------------> 
657<#assign filmManifestationsRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "filmChildrenManifestation")> 
658<#assign filmManifestations = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, filmManifestationsRel.objectRelationshipId, filmID, true, null, -1, -1 ) /> 
659<#if variantChildren?hasContent> 
660    <#list variantChildren as variantChild> 
661        <#assign variantChildrenManifestation = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, filmManifestationsRel.objectRelationshipId, variantChild.objectEntryId, true, null, -1, -1 ) /> 
662        <#assign filmManifestations = filmManifestations + variantChildrenManifestation /> 
663    </#list> 
664</#if> 
665 
666<#assign filmConsultationsFull = []> 
667<#list filmManifestations as filmManifestation> 
668    <#assign filmItemsRel = objectRelationshipLocalService.getObjectRelationship(filmManifestation.objectDefinitionId, "filmManifestationChildrenItem")> 
669    <#assign filmItems = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, filmItemsRel.objectRelationshipId, filmManifestation.objectEntryId, true, null, -1, -1 ) /> 
670    <#list filmItems as filmItem> 
671        <#assign filmItemConsulationRel = objectRelationshipLocalService.getObjectRelationship(filmItem.objectDefinitionId, "consultations")> 
672        <#assign filmItemConsulation = objectEntryLocalService.getOneToManyObjectEntries(filmGroupID, filmItemConsulationRel.objectRelationshipId, filmItem.objectEntryId, true, null, -1, -1 ) /> 
673        <#if filmItemConsulation?hasContent> 
674            <#assign filmConsultationsFull = filmConsultationsFull + filmItemConsulation> 
675        </#if> 
676    </#list> 
677</#list> 
678<#assign filmConsultationsFull = filmConsultationsFull?filter(c -> c.values.lieuDeConsultation != "Noncommunicable")> 
679 
680<#assign showConsultation = filmConsultationsFull?hasContent> 
681 
682 
683<#--------------------------------- Media --------------------------> 
684<#assign reproductionsRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "reproductions")> 
685<#assign reproductions = objectEntryLocalService.getManyToManyObjectEntries(filmGroupID, reproductionsRel.objectRelationshipId, filmID, true, reproductionsRel.isReverse(), null, -1, -1 ) /> 
686 
687<#assign reproductionsImages = []> 
688<#assign reproductionsVideos = []> 
689<#if reproductions?hasContent> 
690    <#list reproductions as reproduction> 
691        <#if  reproduction.values.reproductionNature?hasContent> 
692            <#if reproduction.values.reproductionNature == "PICTURE" && reproduction.values.media?string != "0"> 
693                <#assign reproductionsImages = reproductionsImages + [reproduction]> 
694            <#elseIf reproduction.values.reproductionNature == "VIDEO"> 
695                <#assign reproductionsVideos = reproductionsVideos + [reproduction]> 
696            </#if> 
697        </#if> 
698    </#list> 
699</#if> 
700 
701<#assign showMedia = (reproductionsImages?hasContent || reproductionsVideos?hasContent)> 
702 
703<#--------------------------------- Collections --------------------------> 
704 
705<#assign relatedObjectsRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "filmRelatedObjects")> 
706<#assign relatedObjects = objectEntryLocalService.getManyToManyObjectEntries(filmGroupID, relatedObjectsRel.objectRelationshipId, filmID, true, relatedObjectsRel.isReverse(), null, -1, -1 ) /> 
707<#assign relatedObjectsFull = garance.getRelatedObjects(relatedObjects, filmEntry, false)> 
708 
709<#assign showCollection = relatedObjectsFull?hasContent> 
710 
711 
712<div class="notice notice--film js-notice"> 
713    <div class="notice-header tw:text-white tw:pt-[3.375rem] tw:pb-[2.5rem] tw:relative tw:overflow-hidden 
714    tw:before:content-[''] tw:before:absolute tw:before:inset-0 tw:before:size-full tw:before:block tw:before:bg-text tw:before:opacity-90 
715    tw:xl:pt-[9.5rem]"> 
716        <div class="page-wrapper tw:z-0 tw:relative"> 
717            <#if request.getParameter("searchContext")?hasContent> 
718                <@garance.noticePagination request.getParameter("searchContext") filmID /> 
719            </#if> 
720 
721            <div class="tw:flex tw:gap-5 tw:items-start tw:flex-wrap tw:flex-col tw:z-0 
722            tw:md:flex-row tw:lg:flex-nowrap 
723            tw:xl:gap-[2.125rem]"> 
724                <div class="tw:order-2 tw:lg:order-1 tw:flex tw:flex-col tw:w-full tw:text-center 
725                    tw:md:w-fit tw:md:text-left"> 
726                    <#if .dataModel["ObjectRelationship#C_Film#filmWork_titleComplete"].getData()?hasContent> 
727                        <h1 class="tw:order-1 tw:text-prim tw:mb-[0.625rem]"> 
728                            ${.dataModel["ObjectRelationship#C_Film#filmWork_titleComplete"].getData()} 
729                        </h1> 
730                    </#if> 
731                    <#if (.dataModel["ObjectRelationship#C_Film#filmWork_worklevelType"].getData()?hasContent || .dataModel["ObjectRelationship#C_Film#filmWork_worklevelTypeSerie"].getData()?hasContent)> 
732                        <#if .dataModel["ObjectRelationship#C_Film#filmWork_worklevelType"].getData()?hasContent> 
733                            <#assign filmWorklevel = .dataModel["ObjectRelationship#C_Film#filmWork_worklevelType"].getData() /> 
734                        <#else> 
735                            <#assign filmWorklevel = .dataModel["ObjectRelationship#C_Film#filmWork_worklevelTypeSerie"].getData() /> 
736                        </#if> 
737                        <#if !reproductionsImages?hasContent> 
738                            <p class="tw:order-0 tw:mb-5 tw:text-[0.75rem]/[1rem] tw:block tw:mx-auto tw:rounded-xs tw:w-fit tw:bg-[rgba(255,255,255,0.9)] tw:text-prim tw:uppercase tw:px-[0.625rem] tw:py-1 
739                                            tw:md:mx-0"> 
740                                ${filmWorklevel} 
741                            </p> 
742                        </#if> 
743                    </#if> 
744                    <#if .dataModel["ObjectRelationship#C_Film#filmWork_frenchTitle"].getData()?hasContent> 
745                        <p class="tw:order-1 tw:font-title tw:text-[1.25rem]/[1.875rem] tw:font-medium"> 
746                            <#if (.dataModel["ObjectRelationship#C_Film#filmWork_frenchTitleArticle"].getData())?hasContent> 
747                                ${.dataModel["ObjectRelationship#C_Film#filmWork_frenchTitleArticle"].getData()} 
748                            </#if> 
749                            ${.dataModel["ObjectRelationship#C_Film#filmWork_frenchTitle"].getData()} 
750                        </p> 
751                    </#if> 
752                    <div class="tw:order-1 tw:relative tw:pt-5 tw:mt-5 tw:text-left 
753                    tw:before:block tw:before:content-[''] tw:before:absolute tw:before:top-0 tw:before:h-[0.0625rem] tw:before:w-full tw:before:bg-white tw:before:opacity-20 
754                    tw:md:before:w-[12.8125rem] "> 
755                        <#assign realisateursRel = objectRelationshipLocalService.getObjectRelationship(filmEntry.objectDefinitionId, "creditsRealisateur")> 
756                        <#assign realisateurs = objectEntryLocalService.getManyToManyObjectEntries(filmGroupID, realisateursRel.objectRelationshipId, filmID, true, realisateursRel.isReverse(), null, -1, -1 ) /> 
757                        <#if realisateurs?hasContent> 
758                            <p class="tw:mb-[0.625rem]"> 
759                                <#list realisateurs as realisateur> 
760                                    <#assign realisateurData = garance.getPersonneDisplayData(realisateur.objectEntryId)> 
761                                    <#if realisateurData.id?hasContent> 
762                                        <a href="/l/${realisateurData.id}" 
763                                           class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
764                                            ${realisateurData.name} 
765                                        </a> 
766                                    <#else> 
767                                        ${realisateurData.name} 
768                                    </#if><#if !realisateur?isLast>, </#if> 
769                                </#list> 
770                            </p> 
771                        </#if> 
772 
773                        <#if .dataModel["ObjectRelationship#C_Film#filmWork_productionDateStart"].getData()?hasContent> 
774                            <p class="tw:mb-[0.625rem]"> 
775                                <span class="tw:font-bold">Année de production :</span>&nbsp; 
776                                <#if .dataModel["ObjectRelationship#C_Film#filmWork_productionDateEnd"].getData()?hasContent && .dataModel["ObjectRelationship#C_Film#filmWork_productionDateStart"].getData() != .dataModel["ObjectRelationship#C_Film#filmWork_productionDateEnd"].getData()> 
777                                    ${[.dataModel["ObjectRelationship#C_Film#filmWork_productionDateStart"].getData()?datetime("dd/MM/yyyy HH:mm")?string("yyyy"), .dataModel["ObjectRelationship#C_Film#filmWork_productionDateEnd"].getData()?datetime("dd/MM/yyyy HH:mm")?string("yyyy")]?join(" - ")} 
778                                <#else> 
779                                    ${.dataModel["ObjectRelationship#C_Film#filmWork_productionDateStart"].getData()?datetime("dd/MM/yyyy HH:mm")?string("yyyy")} 
780                                </#if> 
781                                <#if getterUtil.getBoolean(.dataModel["ObjectRelationship#C_Film#filmWork_anneeDeProdPresume"].getData())>&nbsp;(Présumé)</#if> 
782                            </p> 
783                        </#if> 
784 
785                        <#assign countryID = filmEntry.values.r_productionCountry_c_thesaurusId> 
786                        <#if countryID != 0> 
787                            <#assign country = garance.getThesaurusByID(countryID)> 
788                            <#if country?hasContent> 
789                                <p class="tw:mb-[0.625rem]"> 
790                                    <span class="tw:font-bold">Pays de production :</span>&nbsp;${country} 
791                                </p> 
792                            </#if> 
793                        </#if> 
794                    </div> 
795                </div> 
796                <#if reproductionsImages?hasContent> 
797                    <div class="tw:order-1 tw:lg:order-0 tw:w-full 
798                                    tw:md:w-fit"> 
799                        <div class="tw:m-auto tw:mx-auto tw:max-w-full tw:w-[15.625rem] tw:relative 
800                                        tw:md:mx-0"> 
801                            <#if filmWorklevel??> 
802                                <p class="tw:absolute tw:top-[0.625rem] tw:left-[0.625rem] tw:text-[0.75rem]/[1rem] tw:block tw:rounded-xs tw:w-fit tw:bg-[rgba(255,255,255,0.9)] tw:text-prim tw:uppercase tw:px-[0.625rem] tw:py-1"> 
803                                    ${filmWorklevel} 
804                                </p> 
805                            </#if> 
806                            <#assign thumbnail = reproductionsImages?first> 
807                            <#assign fileEntryDesktop = dlAppLocalService.getFileEntry(thumbnail.values.media?number) /> 
808                            <#assign thumbnailURL = dlURLHelper.getPreviewURL(fileEntryDesktop, fileEntryDesktop.getFileVersion(), 
809                            null, "", 
810                            !fileEntryDesktop.getFileVersion().equals(fileEntryDesktop.getLatestFileVersion()), true) /> 
811 
812                            <figure class="tw:w-full"> 
813                                <source media="(min-width: 480px)" 
814                                        srcset="${thumbnailURL}"/> 
815                                <img class="tw:rounded-xs tw:object-cover tw:size-full" alt="" 
816                                     src="${thumbnailURL}"/> 
817                                <#if thumbnail.values.reproductionNotes?hasContent || thumbnail.values.reproductionCopyright?hasContent> 
818                                    <figcaption class="tw:ml-[0.625rem] tw:opacity-70 tw:text-[0.75rem]/[1rem] tw:font-medium tw:mt-[0.3125rem] 
819                                                    tw:md:ml-0"> 
820                                        ${[thumbnail.values.reproductionNotes, thumbnail.values.reproductionCopyright]?filter(v->v?hasContent)?join(" - ")} 
821                                    </figcaption> 
822                                </#if> 
823                            </figure> 
824                        </div> 
825                    </div> 
826                </#if> 
827                <@garance.noticeTools /> 
828            </div> 
829        </div> 
830    </div> 
831    <div class="notice-content"> 
832 
833 
834        <div class="tw:overflow-y-clip tw:py-10"> 
835            <div class="page-wrapper summary-ancres js-summary-ancres tw:group tw:fixed tw:w-full tw:overflow-hidden tw:h-fit tw:z-50 tw:top-[4.375rem] tw:bg-beige tw:max-lg:max-w-full! 
836                tw:lg:top-[6.875rem] tw:lg:h-0 tw:lg:overflow-visible tw:lg:sticky 
837                tw:xl:top-[8.85rem]"> 
838                <nav class="tw:bg-beige tw:lg:w-[14.25rem]" role="navigation" aria-labelledby="summary-title"> 
839                    <button id="summary-title" class="js-summary-btn tw:text-h3 tw:font-title tw:flex tw:justify-between tw:items-center tw:py-[0.625rem] tw:w-full tw:max-sm:px-[calc(2.5rem/2)] tw:focus:outline-offset-[-0.125rem] 
840                        tw:max-lg:px-[calc(5rem/2)] 
841                        tw:lg:hidden" aria-label="Ouvrir/Fermer le sommaire" aria-expanded="false" 
842                            aria-controls="summary-list"> 
843                        <span>Sommaire</span> 
844                        <span class="icon-chevron-down tw:text-prim tw:text-base tw:transition-all tw:outline-offset-[-0.125rem] 
845                        tw:group-[&.open]:rotate-180" aria-hidden="true"></span> 
846                    </button> 
847                    <div id="summary-list" class="tw:overflow-y-auto tw:bg-white tw:transition-all tw:max-sm:px-[calc(2.5rem/2)] 
848                    tw:max-lg:max-h-0 tw:max-lg:px-[calc(5rem/2)] tw:max-lg:max-w-full 
849                    tw:group-[&.open]:max-h-[calc(100vh-(4.375rem+3.125rem))] 
850                    tw:lg:max-h-[calc(100vh-12.5rem)] tw:lg:bg-transparent" tabindex="-1"> 
851                        <ul class="tw:border-sommaire-border tw:border-l-[0.125rem] tw:my-2"> 
852                            <#if showIdentity> 
853                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
854                                    <a href="#identite" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
855                                tw:[&.is-active]:border-prim" tabindex="-1"> 
856                                        <span>${summary["IdentiteFilm"]?hasContent?then(summary["IdentiteFilm"], "Identité")}</span> 
857                                    </a> 
858                                </li> 
859                            </#if> 
860                            <#if showDescription> 
861                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
862                                    <a href="#description" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
863                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
864                                        <span>${summary["DescriptionFilm"]?hasContent?then(summary["DescriptionFilm"], "Description")}</span> 
865                                    </a> 
866                                </li> 
867                            </#if> 
868                            <#if showGenerique> 
869                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
870                                    <a href="#generique" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
871                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
872                                        <span>${summary["GeneriqueFilm"]?hasContent?then(summary["GeneriqueFilm"], "Générique")}</span> 
873                                    </a> 
874                                </li> 
875                            </#if> 
876                            <#if showTechnique> 
877                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
878                                    <a href="#infos-techniques" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
879                                                                tw:[&.is-active]:border-prim" tabindex="-1"> 
880                                        <span>${summary["InformationsTechniquesFilm"]?hasContent?then(summary["InformationsTechniquesFilm"], "Informations techniques")}</span> 
881                                    </a> 
882                                </li> 
883                            </#if> 
884                            <#if showPress> 
885                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
886                                    <a href="#presse" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
887                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
888                                        <span>${summary["DansLaPresseFilm"]?hasContent?then(summary["DansLaPresseFilm"], "Dans la presse")}</span> 
889                                    </a> 
890                                </li> 
891                            </#if> 
892                            <#if showAwards> 
893                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
894                                    <a href="#recompenses" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
895                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
896                                        <span>${summary["RecompensesEtNominationsFilm"]?hasContent?then(summary["RecompensesEtNominationsFilm"], "Récompenses et nominations")}</span> 
897                                    </a> 
898                                </li> 
899                            </#if> 
900                            <#if showExploitation> 
901                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
902                                    <a href="#exploitation" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
903                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
904                                        <span>${summary["ExploitationFilm"]?hasContent?then(summary["ExploitationFilm"], "Exploitation")}</span> 
905                                    </a> 
906                                </li> 
907                            </#if> 
908                            <#if showBibliographie> 
909                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
910                                    <a href="#bibliographie" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
911                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
912                                        <span>${summary["BibliographieEditorialeFilm"]?hasContent?then(summary["BibliographieEditorialeFilm"], "Bibliographie éditoriale")}</span> 
913                                    </a> 
914                                </li> 
915                            </#if> 
916                            <#if showVariant> 
917                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
918                                    <a href="#versions" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
919                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
920                                        <span>${summary["VersionsDuFilmFilm"]?hasContent?then(summary["VersionsDuFilmFilm"], "Versions du film")}</span> 
921                                    </a> 
922                                </li> 
923                            </#if> 
924                            <#if showSerie> 
925                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
926                                    <a href="#series" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
927                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
928                                        <span>Séries liées</span> 
929                                    </a> 
930                                </li> 
931                            </#if> 
932                            <#if showComposingSerie> 
933                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
934                                    <a href="#series-composing" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
935                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
936                                        <span>Films composant la série</span> 
937                                    </a> 
938                                </li> 
939                            </#if> 
940                            <#if showEnsemble> 
941                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
942                                    <a href="#ensembles" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
943                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
944                                        <span>Ensembles liés</span> 
945                                    </a> 
946                                </li> 
947                            </#if> 
948                            <#if showComposingEnsemble> 
949                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
950                                    <a href="#ensembles-composing" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
951                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
952                                        <span>Films composant l'ensemble</span> 
953                                    </a> 
954                                </li> 
955                            </#if> 
956                            <#if showRelatedFilms> 
957                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
958                                    <a href="#relations" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
959                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
960                                        <span>${summary["RelationAutreFilmFilm"]?hasContent?then(summary["RelationAutreFilmFilm"], "Relation autre film")}</span> 
961                                    </a> 
962                                </li> 
963                            </#if> 
964                            <#if showCorpus> 
965                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
966                                    <a href="#corpus" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
967                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
968                                        <span>Corpus liés</span> 
969                                    </a> 
970                                </li> 
971                            </#if> 
972                            <#if showComposingCorpus> 
973                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
974                                    <a href="#corpuss-composing" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
975                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
976                                        <span>Films composant le corpus</span> 
977                                    </a> 
978                                </li> 
979                            </#if> 
980                            <#if showConsultation> 
981                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
982                                    <a href="#consultation" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
983                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
984                                        <span>${summary["ConsultationFilm"]?hasContent?then(summary["ConsultationFilm"], "Consultation")}</span> 
985                                    </a> 
986                                </li> 
987                            </#if> 
988                            <#if showMedia> 
989                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
990                                    <a href="#ressources" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
991                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
992                                        <span>${summary["RessourcesMediaFilm"]?hasContent?then(summary["RessourcesMediaFilm"], "Ressources média")}</span> 
993                                    </a> 
994                                </li> 
995                            </#if> 
996                            <#if showCollection> 
997                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
998                                    <a href="#collections" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
999                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
1000                                        <span>${summary["CollectionsLieesFilm"]?hasContent?then(summary["CollectionsLieesFilm"], "Collections liées")}</span> 
1001                                    </a> 
1002                                </li> 
1003                            </#if> 
1004                        </ul> 
1005                    </div> 
1006                </nav> 
1007            </div> 
1008 
1009            <#if showIdentity> 
1010                <div id="identite" class="js-summary-content" tabindex="-1"></div> 
1011                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:pb-10"> 
1012                    <h2 class="tw:text-prim tw:mb-5">${summary["IdentiteFilm"]?hasContent?then(summary["IdentiteFilm"], "Identité")}</h2> 
1013 
1014                    <#if othTltsFull?hasContent> 
1015                        <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1016                            <p id="identite-othttl" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">Autres titres 
1017                                :</p> 
1018                            <ul aria-labelledby="identite-othttl"> 
1019                                <#list othTltsFull as othTlt> 
1020                                    <#assign othTltList = [] /> 
1021 
1022                                    <#if othTlt.values.otherTitleArticle?hasContent> 
1023                                        <#assign othTltList = othTltList + [othTlt.values.otherTitleArticle] /> 
1024                                    </#if> 
1025 
1026                                    <#if othTlt.values.otherTitle?hasContent> 
1027                                        <#assign othTltList = othTltList + [othTlt.values.otherTitle] /> 
1028                                    </#if> 
1029 
1030                                    <#if othTlt.values.otherTitleType?hasContent> 
1031                                        <#assign othTltTypelabel = garance.getPicklistItemName(othTlt.values.otherTitleType, "picklistOtherTitleType") > 
1032                                        <#assign othTltList = othTltList + ["(" + othTltTypelabel +")"] /> 
1033                                    </#if> 
1034 
1035                                    <#assign othTltCountry = ''> 
1036                                    <#if othTlt.values.r_otherTitleCountry_c_thesaurusId != 0> 
1037                                        <#assign othTltCountry = garance.getThesaurusByID(othTlt.values.r_otherTitleCountry_c_thesaurusId)> 
1038                                        <#if othTltCountry?hasContent> 
1039                                            <#assign othTltList = othTltList + ["(" + othTltCountry + ")"] /> 
1040                                        </#if> 
1041                                    </#if> 
1042 
1043                                    <li>${othTltList?join(" ")}</li> 
1044                                </#list> 
1045                            </ul> 
1046                        </div> 
1047                    </#if> 
1048 
1049                    <#if .dataModel["ObjectRelationship#C_Film#filmWork_workType"].getData()?hasContent> 
1050                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1051                            <span class="tw:font-bold tw:shrink-0">Type d'oeuvre :</span> 
1052                            <span>${.dataModel["ObjectRelationship#C_Film#filmWork_workType"].getData()}</span> 
1053                        </p> 
1054                    </#if> 
1055 
1056                    <#if .dataModel["ObjectRelationship#C_Film#filmWork_cardinalite"].getData()?hasContent> 
1057                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1058                            <span class="tw:font-bold tw:shrink-0">N° d'épisode ou de partie :</span> 
1059                            <span>${.dataModel["ObjectRelationship#C_Film#filmWork_cardinalite"].getData()}</span> 
1060                        </p> 
1061                    </#if> 
1062 
1063                    <#if .dataModel["ObjectRelationship#C_Film#filmWork_titleDateStart"].getData()?hasContent> 
1064                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1065                            <span class="tw:font-bold tw:shrink-0">Année de sortie dans le pays d'origine :</span> 
1066                            <span>${.dataModel["ObjectRelationship#C_Film#filmWork_titleDateStart"].getData()?datetime("dd/MM/yyyy HH:mm")?string("yyyy")}</span> 
1067                        </p> 
1068                    </#if> 
1069                    <#setting locale="fr_FR"> 
1070 
1071                    <#if viePresFull?hasContent> 
1072                        <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1073                            <p id="identite-viepres" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">Date de 
1074                                sortie en France 
1075                                :</p> 
1076                            <ul aria-labelledby="identite-viepres"> 
1077                                <#list viePresFull as viePres> 
1078                                    <li>${viePres?string("dd/MM/yyyy")}</li> 
1079                                </#list> 
1080                            </ul> 
1081                        </div> 
1082                    </#if> 
1083 
1084                    <#if .dataModel["ObjectRelationship#C_Film#filmWork_rcaLinkNumber"].getData()?hasContent> 
1085                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1086                            <span class="tw:font-bold tw:shrink-0">Numéro RCA / VISA :</span> 
1087                            <span>${.dataModel["ObjectRelationship#C_Film#filmWork_rcaLinkNumber"].getData()}</span> 
1088                        </p> 
1089                    </#if> 
1090 
1091 
1092                    <#if viesClassFull?hasContent> 
1093                        <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1094                            <p id="identite-vieclass" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0"> 
1095                                Classification :</p> 
1096                            <ul aria-labelledby="identite-vieclass"> 
1097                                <#list viesClassFull as viesClass> 
1098                                    <li>${viesClass.type}<#if viesClass.date?hasContent> 
1099                                            - ${viesClass.date?string("dd/MM/yyyy")}</#if></li> 
1100                                </#list> 
1101                            </ul> 
1102                        </div> 
1103                    </#if> 
1104 
1105                    <#if languesParlFull?hasContent> 
1106                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1107                            <span class="tw:font-bold tw:shrink-0">Langue :</span> 
1108                            <span>${languesParlFull?join(" - ")}</span> 
1109                        </p> 
1110                    </#if> 
1111 
1112                    <#if catalogues?hasContent> 
1113                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1114                            <span class="tw:font-bold tw:shrink-0">Catalogue :</span> 
1115                            <span> 
1116                            <#list catalogues as catalogue> 
1117                                <#assign desc = "" /> 
1118                                <#if catalogue.values.descriptionCatalogue?hasContent> 
1119                                    <#assign desc = catalogue.values.descriptionCatalogue /> 
1120                                </#if> 
1121                                <#if catalogue.values.descriptionCatalogueIdentifiant?hasContent> 
1122                                    <#if desc?hasContent> 
1123                                        <#assign desc = desc + " - n°" + catalogue.values.descriptionCatalogueIdentifiant /> 
1124                                    <#else> 
1125                                        <#assign desc = "n°" + catalogue.values.descriptionCatalogueIdentifiant /> 
1126                                    </#if> 
1127                                </#if> 
1128                                ${desc}<#if !catalogue?isLast>, </#if> 
1129                            </#list> 
1130                            </span> 
1131                        </p> 
1132                    </#if> 
1133 
1134                    <#if creditsProdFull?hasContent> 
1135                        <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1136                            <p id="identite-credprod" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0"> 
1137                                Société(s) de production : 
1138                            </p> 
1139                            <ul aria-labelledby="identite-credprod"> 
1140                                <#list creditsProdFull as credProd> 
1141                                    <li> 
1142                                        <#if credProd.personne.id?hasContent> 
1143                                            <a href="/l/${credProd.personne.id}" 
1144                                               class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
1145                                                ${credProd.personne.name} 
1146                                            </a> 
1147                                        <#else> 
1148                                            ${credProd.personne.name}<#if getterUtil.getBoolean(credProd.presume)>&nbsp;(Présumé)</#if> 
1149                                        </#if> 
1150                                    </li> 
1151                                </#list> 
1152                            </ul> 
1153                        </div> 
1154                    </#if> 
1155 
1156                    <#if viesPresFullOut?hasContent> 
1157                        <#list viesPresFullOut as viePresFullOut> 
1158                            <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1159                                <span class="tw:font-bold tw:shrink-0">${viePresFullOut.type} :</span> 
1160                                <span>${[ 
1161                                    (viePresFullOut.date?hasContent)?then(viePresFullOut.date?string("dd/MM/yyyy"), ''), 
1162                                    viePresFullOut.country 
1163                                    ]?filter(v->v?hasContent)?join(" - ")} 
1164                                </span> 
1165                            </p> 
1166                        </#list> 
1167                    </#if> 
1168                </div> 
1169            </#if> 
1170 
1171            <#if showDescription> 
1172                <div id="description" class="js-summary-content" tabindex="-1"></div> 
1173                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
1174                            tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
1175                    <h2 class="tw:text-prim tw:mb-5">${summary["DescriptionFilm"]?hasContent?then(summary["DescriptionFilm"], "Description")}</h2> 
1176                    <#if .dataModel["ObjectRelationship#C_Film#filmWork_description"].getData()?hasContent> 
1177                        <div class="wysiwyg--notice tw:mb-10"> 
1178                            <h3 class="tw:mb-5">Résumé</h3> 
1179                            <div class="js-read-more" data-clamp-line="8" data-line-height="1.75"> 
1180                                ${.dataModel["ObjectRelationship#C_Film#filmWork_description"].getData()?replace("\n", "<br />")} 
1181                            </div> 
1182                            <button type="button" 
1183                                    class="tw:hidden tw:items-center tw:leading-[1.75rem] tw:mt-[0.625rem] tw:group tw:gap-[0.3125rem] tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1184                                <span>Lire plus</span> 
1185                                <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1186                                    tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1187                            </button> 
1188                        </div> 
1189                    </#if> 
1190 
1191                    <#if keywords?hasContent> 
1192                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1193                            <span class="tw:font-bold tw:shrink-0">Mots clés :</span> 
1194                            ${keywords?map(k->k.values.label)?join(", ")} 
1195                        </p> 
1196                    </#if> 
1197 
1198                    <#if .dataModel["ObjectRelationship#C_Film#filmWork_genre"].getData()?hasContent> 
1199                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1200                            <span class="tw:font-bold tw:shrink-0">Genre :</span> 
1201                            ${.dataModel["ObjectRelationship#C_Film#filmWork_genre"].getData()} 
1202                        </p> 
1203                    </#if> 
1204 
1205                    <#if contentGenres?hasContent> 
1206                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1207                            <span class="tw:font-bold tw:shrink-0">Genre(s) précis :</span> 
1208                            ${contentGenres?map(g->g.values.label)?join(", ")} 
1209                        </p> 
1210                    </#if> 
1211 
1212                    <#if formesOeuvreAdaptee?hasContent> 
1213                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1214                            <span class="tw:font-bold tw:shrink-0">Forme de l'oeuvre adaptée :</span> 
1215                            ${formesOeuvreAdaptee?map(f->f.values.label)?join(", ")} 
1216                        </p> 
1217                    </#if> 
1218 
1219                    <#if vocabulairesCinematographiques?hasContent> 
1220                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1221                            <span class="tw:font-bold tw:shrink-0">Technique cinématographique :</span> 
1222                            ${vocabulairesCinematographiques?map(v->v.values.label)?join(", ")} 
1223                        </p> 
1224                    </#if> 
1225 
1226                    <#if viesProduction?hasContent> 
1227                        <#assign vieProductionThesaurusesLabels = viesProduction?filter(vp -> vp.values.r_vieProductionLieu_c_thesaurusId != 0) 
1228                        ?map(vp -> garance.getThesaurusByID(vp.values.r_vieProductionLieu_c_thesaurusId))> 
1229                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1230                            <span class="tw:font-bold tw:shrink-0">Lieu(x) de tournage :</span> 
1231                            ${vieProductionThesaurusesLabels?join(", ")} 
1232                        </p> 
1233 
1234                        <#list viesProduction as vieProduction> 
1235                            <#if vieProduction.values.vieProductionLieuNote?hasContent> 
1236                                <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1237                                    <span class="tw:font-bold tw:shrink-0">Note sur le lieu de tournage :</span> 
1238                                    <div class="wysiwyg--notice"> 
1239                                        <div class="js-read-more" data-clamp-line="8" data-line-height="1.625"> 
1240                                            ${vieProduction.values.vieProductionLieuNote} 
1241                                        </div> 
1242                                        <button type="button" 
1243                                                class="tw:hidden tw:items-center tw:leading-[1.75rem] tw:mt-[0.625rem] tw:group tw:gap-[0.3125rem] tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1244                                            <span>Lire plus</span> 
1245                                            <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1246                                                tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1247                                        </button> 
1248                                    </div> 
1249                                </div> 
1250                            </#if> 
1251                        </#list> 
1252                    </#if> 
1253 
1254 
1255                    <#if datesViesTournage?hasContent> 
1256                        <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1257                            <p id="desc-vietourn" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0"> 
1258                                Date de tournage :</p> 
1259                            <ul aria-labelledby="desc-vietourn"> 
1260                                <#list datesViesTournage as datesVieTournage> 
1261                                    <li>${datesVieTournage.start}<#if datesVieTournage.end?hasContent> 
1262                                            - ${datesVieTournage.end}</#if></li> 
1263                                </#list> 
1264                            </ul> 
1265                        </div> 
1266                    </#if> 
1267 
1268                    <#if studiosTournage?hasContent> 
1269                        <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1270                            <p id="desc-studiotourn" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0"> 
1271                                Studio de tournage : 
1272                            </p> 
1273                            <ul aria-labelledby="desc-studiotourn"> 
1274                                <#list studiosTournage as studioTournage> 
1275                                    <li>${studioTournage.values.label}</li> 
1276                                </#list> 
1277                            </ul> 
1278                        </div> 
1279                    </#if> 
1280 
1281                    <#if studiosEnreg?hasContent> 
1282                        <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1283                            <p id="desc-studioenreg" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0"> 
1284                                Studio d'enregistrement : 
1285                            </p> 
1286                            <ul aria-labelledby="desc-studioenreg"> 
1287                                <#list studiosEnreg as studioEnreg> 
1288                                    <li>${studioEnreg.values.label}</li> 
1289                                </#list> 
1290                            </ul> 
1291                        </div> 
1292                    </#if> 
1293 
1294                    <#if labs?hasContent> 
1295                        <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1296                            <p id="desc-labs" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0"> 
1297                                Laboratoire : 
1298                            </p> 
1299                            <ul aria-labelledby="desc-labs"> 
1300                                <#list labs as lab> 
1301                                    <li>${lab.values.label}</li> 
1302                                </#list> 
1303                            </ul> 
1304                        </div> 
1305                    </#if> 
1306 
1307                    <#if .dataModel["ObjectRelationship#C_Film#filmWork_notes"].getData()?hasContent> 
1308                        <div class="tw:bg-white tw:p-10 tw:border-l-[0.25rem] tw:border-solid tw:border-prim tw:mt-10"> 
1309                            <h3 class="tw:mb-5">Note générale</h3> 
1310                            <div class="wysiwyg--notice js-read-more" data-clamp-line="8" data-line-height="1.75"> 
1311                                ${.dataModel["ObjectRelationship#C_Film#filmWork_notes"].getData()?replace("\n", "<br />")} 
1312                            </div> 
1313                            <button type="button" 
1314                                    class="tw:hidden tw:items-center tw:leading-[1.75rem] tw:mt-[1.875rem] tw:group tw:gap-[0.3125rem] tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1315                                <span>Lire plus</span> 
1316                                <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1317                                    tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1318                            </button> 
1319                        </div> 
1320                    </#if> 
1321                </div> 
1322            </#if> 
1323 
1324            <#if showGenerique> 
1325                <div id="generique" class="js-summary-content" tabindex="-1"></div> 
1326                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
1327                            tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
1328                    <h2 class="tw:text-prim tw:mb-5">${summary["GeneriqueFilm"]?hasContent?then(summary["GeneriqueFilm"], "Générique")}</h2> 
1329 
1330                    <#if credRealsFull?hasContent> 
1331                        <div class="js-list-expand tw:mb-[0.625rem]"> 
1332                            <p id="gene-real" class="tw:leading-[1.375rem] tw:font-bold"> 
1333                                Réalisation : 
1334                            </p> 
1335                            <ul aria-labelledby="gene-real" class="tw:pl-5"> 
1336                                <#list credRealsFull?keys as function> 
1337                                    <li class="<#if (function?index > 4)>tw:hidden</#if> tw:leading-[1.625rem]">${function} 
1338
1339                                        <#list credRealsFull[function] as realisation> 
1340                                            <#if realisation.personne.id?hasContent> 
1341                                                <a href="/l/${realisation.personne.id}" 
1342                                                   class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1343                                                    ${realisation.personne.name}</a> 
1344                                            <#else>${realisation.personne.name}</#if><#if getterUtil.getBoolean(realisation.presume)>&nbsp;(Présumé)</#if><#if getterUtil.getBoolean(realisation.credite)>&nbsp;(Non-crédité)</#if><#if !realisation?isLast>, </#if> 
1345                                        </#list> 
1346                                    </li> 
1347                                </#list> 
1348                            </ul> 
1349                            <#if (credRealsFull?size > 5)> 
1350                                <button type="button" 
1351                                        class="js-expand tw:ml-5 tw:items-center tw:leading-[1.75rem] tw:mt-[0.3125rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1352                                    <span>Voir plus</span> 
1353                                    <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1354                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1355                                </button> 
1356                            </#if> 
1357                        </div> 
1358                    </#if> 
1359 
1360 
1361                    <#if credEcritsFull?hasContent> 
1362                        <div class="js-list-expand tw:mb-[0.625rem]"> 
1363                            <p id="gene-ecrit" class="tw:leading-[1.375rem] tw:font-bold"> 
1364                                Écriture : 
1365                            </p> 
1366                            <ul aria-labelledby="gene-ecrit" class="tw:pl-5"> 
1367                                <#list credEcritsFull?keys as function> 
1368                                    <li class="<#if (function?index > 4)>tw:hidden</#if> tw:leading-[1.625rem]">${function} 
1369
1370                                        <#list credEcritsFull[function] as ecrit> 
1371                                            <#if ecrit.personne.id?hasContent> 
1372                                                <a href="/l/${ecrit.personne.id}" 
1373                                                   class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1374                                                    ${ecrit.personne.name} 
1375                                                </a> 
1376                                            <#else>${ecrit.personne.name}</#if><#if getterUtil.getBoolean(ecrit.presume)>&nbsp;(Présumé)</#if><#if getterUtil.getBoolean(ecrit.credite)>&nbsp;(Non-crédité)</#if><#if !ecrit?isLast>, </#if> 
1377                                        </#list> 
1378                                    </li> 
1379                                </#list> 
1380                            </ul> 
1381                            <#if (credEcritsFull?size > 5)> 
1382                                <button type="button" 
1383                                        class="js-expand tw:ml-5 tw:items-center tw:leading-[1.75rem] tw:mt-[0.3125rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1384                                    <span>Voir plus</span> 
1385                                    <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1386                                            tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1387                                </button> 
1388                            </#if> 
1389                        </div> 
1390                    </#if> 
1391 
1392 
1393                    <#if credMusicsFull?hasContent> 
1394                        <div class="js-list-expand tw:mb-[0.625rem]"> 
1395                            <p id="gene-music" class="tw:leading-[1.375rem] tw:font-bold"> 
1396                                Musique : 
1397                            </p> 
1398                            <ul aria-labelledby="gene-music" class="tw:pl-5"> 
1399                                <#list credMusicsFull?keys as function> 
1400                                    <li class="<#if (function?index > 4)>tw:hidden</#if> tw:leading-[1.625rem]">${function} 
1401
1402                                        <#list credMusicsFull[function] as music> 
1403                                            <#if music.personne.id?hasContent> 
1404                                                <a href="/l/${music.personne.id}" 
1405                                                   class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1406                                                    ${music.personne.name}</a> 
1407                                            <#else>${music.personne.name}</#if><#if getterUtil.getBoolean(music.presume)>&nbsp;(Présumé)</#if><#if getterUtil.getBoolean(music.credite)>&nbsp;(Non-crédité)</#if><#if !music?isLast>, </#if> 
1408                                        </#list> 
1409                                    </li> 
1410                                </#list> 
1411                            </ul> 
1412                            <#if (credMusicsFull?size > 5)> 
1413                                <button type="button" 
1414                                        class="js-expand tw:ml-5 tw:items-center tw:leading-[1.75rem] tw:mt-[0.3125rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1415                                    <span>Voir plus</span> 
1416                                    <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1417                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1418                                </button> 
1419                            </#if> 
1420                        </div> 
1421                    </#if> 
1422 
1423 
1424                    <#if credTechsFull?hasContent> 
1425                        <div class="js-list-expand tw:mb-[0.625rem]"> 
1426                            <p id="gene-tech" class="tw:leading-[1.375rem] tw:font-bold"> 
1427                                Équipe technique : 
1428                            </p> 
1429                            <ul aria-labelledby="gene-tech" class="tw:pl-5"> 
1430                                <#list credTechsFull?keys as function> 
1431                                    <li class="<#if (function?index > 4)>tw:hidden</#if> tw:leading-[1.625rem]">${function} 
1432
1433                                        <#list credTechsFull[function] as tech> 
1434                                            <#if tech.personne.id?hasContent> 
1435                                                <a href="/l/${tech.personne.id}" 
1436                                                   class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1437                                                    ${tech.personne.name}</a> 
1438                                            <#else>${tech.personne.name}</#if><#if getterUtil.getBoolean(tech.presume)>&nbsp;(Présumé)</#if><#if getterUtil.getBoolean(tech.credite)>&nbsp;(Non-crédité)</#if><#if !tech?isLast>, </#if> 
1439                                        </#list> 
1440                                    </li> 
1441                                </#list> 
1442                            </ul> 
1443                            <#if (credTechsFull?size > 5)> 
1444                                <button type="button" 
1445                                        class="js-expand tw:ml-5 tw:items-center tw:leading-[1.75rem] tw:mt-[0.3125rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1446                                    <span>Voir plus</span> 
1447                                    <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1448                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1449                                </button> 
1450                            </#if> 
1451                        </div> 
1452                    </#if> 
1453 
1454                    <#if credProdsFull?hasContent> 
1455                        <div class="js-list-expand tw:mb-[0.625rem]"> 
1456                            <p id="gene-prod" class="tw:leading-[1.375rem] tw:font-bold"> 
1457                                Production - Distribution : 
1458                            </p> 
1459                            <ul aria-labelledby="gene-prod" class="tw:pl-5"> 
1460                                <#list credProdsFull?keys as function> 
1461                                    <li class="<#if (function?index > 4)>tw:hidden</#if> tw:leading-[1.625rem]">${function} 
1462
1463                                        <#list credProdsFull[function] as prod> 
1464                                            <#if prod.personne.id?hasContent> 
1465                                                <a href="/l/${prod.personne.id}" 
1466                                                   class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1467                                                    ${prod.personne.name}</a> 
1468                                            <#else>${prod.personne.name}</#if><#if getterUtil.getBoolean(prod.presume)>&nbsp;(Présumé)</#if><#if getterUtil.getBoolean(prod.credite)>&nbsp;(Non-crédité)</#if><#if !prod?isLast>, </#if> 
1469                                        </#list> 
1470                                    </li> 
1471                                </#list> 
1472                            </ul> 
1473                            <#if (credProdsFull?size > 5)> 
1474                                <button type="button" 
1475                                        class="js-expand tw:ml-5 tw:items-center tw:leading-[1.75rem] tw:mt-[0.3125rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1476                                    <span>Voir plus</span> 
1477                                    <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1478                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1479                                </button> 
1480                            </#if> 
1481                        </div> 
1482                    </#if> 
1483 
1484                    <#if credIntersFull?hasContent> 
1485                        <div class="js-list-expand tw:mb-[0.625rem]"> 
1486                            <p id="gene-cast" class="tw:leading-[1.375rem] tw:font-bold"> 
1487                                Interprétation : 
1488                            </p> 
1489                            <ul aria-labelledby="gene-cast" class="tw:pl-5"> 
1490                                <#list credIntersFull?keys as function> 
1491                                    <li class="<#if (function?index > 4)>tw:hidden</#if> tw:leading-[1.625rem] js-read-more" 
1492                                        data-clamp-line="8" data-line-height="1.625">${function} 
1493
1494                                        <#list credIntersFull[function] as cast> 
1495                                            <#if cast.personne.id?hasContent> 
1496                                                <a href="/l/${cast.personne.id}" 
1497                                                   class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1498                                                    ${cast.personne.name}</a> 
1499                                            <#else>${cast.personne.name}</#if><#if cast.role?hasContent>&nbsp;(${cast.role})</#if><#if getterUtil.getBoolean(cast.presume)>&nbsp;(Présumé)</#if><#if getterUtil.getBoolean(cast.credite)>&nbsp;(Non-crédité)</#if><#if !cast?isLast>, </#if> 
1500                                        </#list> 
1501                                    </li> 
1502                                    <button type="button" 
1503                                            class="tw:hidden tw:items-center tw:leading-[1.75rem] tw:group tw:gap-[0.3125rem] tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1504                                        <span>Voir plus</span> 
1505                                        <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1506                                            tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1507                                    </button> 
1508                                </#list> 
1509                            </ul> 
1510                            <#if (credIntersFull?size > 5)> 
1511                                <button type="button" 
1512                                        class="js-expand tw:ml-5 tw:items-center tw:leading-[1.75rem] tw:mt-[0.3125rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1513                                    <span>Voir plus</span> 
1514                                    <span class="icon-chevron-down tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] 
1515                                        tw:group-hover:rotate-180" aria-hidden="true"></span> 
1516                                </button> 
1517                            </#if> 
1518                        </div> 
1519                    </#if> 
1520                </div> 
1521            </#if> 
1522 
1523            <#if showTechnique> 
1524                <div id="infos-techniques" class="js-summary-content" tabindex="-1"></div> 
1525                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
1526                            tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
1527                    <h2 class="tw:text-prim tw:mb-5">${summary["InformationsTechniquesFilm"]?hasContent?then(summary["InformationsTechniquesFilm"], "Informations techniques")}</h2> 
1528 
1529                    <#if .dataModel["ObjectRelationship#C_Film#filmWork_typeDeMetrage"].getData()?hasContent> 
1530                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1531                            <span class="tw:font-bold tw:shrink-0">Métrage :</span> 
1532                            ${.dataModel["ObjectRelationship#C_Film#filmWork_typeDeMetrage"].getData()} 
1533                        </p> 
1534                    </#if> 
1535 
1536                    <#if .dataModel["ObjectRelationship#C_Film#filmWork_workVariantQuantity"].getData()?hasContent> 
1537                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1538                            <span class="tw:font-bold tw:shrink-0">Durée d'origine :</span> 
1539                            ${.dataModel["ObjectRelationship#C_Film#filmWork_workVariantQuantity"].getData()} 
1540                        </p> 
1541                    </#if> 
1542 
1543                    <#if .dataModel["ObjectRelationship#C_Film#filmWork_workVariantMetrage"].getData()?hasContent> 
1544                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1545                            <span class="tw:font-bold tw:shrink-0">Métrage d'origine :</span> 
1546                            ${.dataModel["ObjectRelationship#C_Film#filmWork_workVariantMetrage"].getData()} 
1547                        </p> 
1548                    </#if> 
1549 
1550                    <#if techColors?hasContent> 
1551                        <#assign colors = techColors 
1552                        ?filter(tc -> tc.values.couleurNB?hasContent) 
1553                        ?map(tc->garance.getPicklistItemName(tc.values.couleurNB, "picklistCouleurNB")) 
1554                        ?join(", ")> 
1555                        <#assign techs = techColors 
1556                        ?filter(tc -> tc.values.r_workColourSystemFilm_c_thesaurusId != 0) 
1557                        ?map(tc->garance.getThesaurusByID(tc.values.r_workColourSystemFilm_c_thesaurusId)) 
1558                        ?join(", ")> 
1559                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1560                            <span class="tw:font-bold tw:shrink-0">Couleur/NB :</span> 
1561                            ${colors}<#if techs?hasContent>&nbsp;(${techs})</#if> 
1562                        </p> 
1563                    </#if> 
1564 
1565                    <#if .dataModel["ObjectRelationship#C_Film#filmWork_sonore"].getData()?hasContent> 
1566                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1567                            <span class="tw:font-bold tw:shrink-0">Sonore/muet :</span> 
1568                            ${.dataModel["ObjectRelationship#C_Film#filmWork_sonore"].getData()} 
1569                        </p> 
1570                    </#if> 
1571 
1572                    <#if workSoundsFull?hasContent> 
1573                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1574                            <span class="tw:font-bold tw:shrink-0">Procédé sonore :</span> 
1575                            <#list workSoundsFull as sound>${sound.system}<#if sound.surround?hasContent>&nbsp;(${sound.surround})</#if></#list> 
1576                        </p> 
1577                    </#if> 
1578 
1579 
1580                    <#if techniquesImageFull?hasContent> 
1581                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1582                            <span class="tw:font-bold tw:shrink-0">Format d'origine :</span> 
1583                            <#list techniquesImageFull as techIm>${techIm.format}<#if techIm.cadrage?hasContent || getterUtil.getBoolean(techIm.relief)>&nbsp;(${techIm.cadrage}<#if getterUtil.getBoolean(techIm.relief)>, Relief</#if>)</#if><#if !techIm?isLast> ,</#if></#list> 
1584                        </p> 
1585                    </#if> 
1586                </div> 
1587            </#if> 
1588 
1589            <#if showPress> 
1590                <div id="presse" class="js-summary-content" tabindex="-1"></div> 
1591                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
1592                            tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
1593                    <h2 class="tw:text-prim tw:mb-5">${summary["DansLaPresseFilm"]?hasContent?then(summary["DansLaPresseFilm"], "Dans la presse")}</h2> 
1594 
1595                    <#if florileges?hasContent> 
1596                        <div class="tw:bg-white tw:p-10 tw:border-l-[0.25rem] tw:border-solid tw:border-prim tw:mt-5"> 
1597                            <h3 class="tw:mb-5">Citations</h3> 
1598                            <div class="js-read-more" data-clamp-line="8" data-line-height="1.625"> 
1599                                <#list florileges as florilege> 
1600                                    <div class="wysiwyg--notice"> 
1601                                        <#if florilege.values.florilegeSource?hasContent> 
1602                                            <h4 class="tw:font-txt tw:text-notice tw:font-bold tw:leading-[1.75rem]">${florilege.values.florilegeSource} 
1603                                                :</h4> 
1604                                        </#if> 
1605                                        <#if florilege.values.florilege?hasContent> 
1606                                            ${florilege.values.florilege} 
1607                                        </#if> 
1608                                        <#if florilege.values.florilegeDate?hasContent>${florilege.values.florilegeDate?string("dd/MM/yyyy")}</#if> 
1609                                    </div> 
1610                                </#list> 
1611                            </div> 
1612                            <button type="button" 
1613                                    class="tw:hidden tw:items-center tw:leading-[1.75rem] tw:mt-[0.625rem] tw:group tw:gap-[0.3125rem] tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1614                                <span>Afficher toutes les citations</span> 
1615                                <span class="icon-chevron-down tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] 
1616                                            tw:group-hover:rotate-180" aria-hidden="true"></span> 
1617                            </button> 
1618                        </div> 
1619                    </#if> 
1620 
1621 
1622                    <#if syntheses?hasContent> 
1623                        <div class="tw:bg-white tw:p-10 tw:border-l-[0.25rem] tw:border-solid tw:border-prim tw:mt-5"> 
1624                            <h3 class="tw:mb-5">Panorama critique</h3> 
1625                            <div class="js-read-more" data-clamp-line="8" data-line-height="1.625"> 
1626                                <#list syntheses as synthese> 
1627                                    <div class="wysiwyg--notice"> 
1628                                        <#if synthese.values.syntheseSource?hasContent> 
1629                                            <h4 class="tw:font-txt tw:text-notice tw:font-bold tw:leading-[1.75rem]">${synthese.values.syntheseSource} 
1630                                                :</h4> 
1631                                        </#if> 
1632                                        <#if synthese.values.synthese?hasContent> 
1633                                            ${synthese.values.synthese} 
1634                                        </#if> 
1635                                        <#if synthese.values.syntheseDate?hasContent> 
1636                                            <p>${synthese.values.syntheseDate?string("dd/MM/yyyy")}</p></#if> 
1637                                    </div> 
1638                                </#list> 
1639                            </div> 
1640                            <button type="button" 
1641                                    class="tw:hidden tw:items-center tw:leading-[1.75rem] tw:mt-[0.625rem] tw:group tw:gap-[0.3125rem] tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1642                                <span>Afficher tout le panorama critique</span> 
1643                                <span class="icon-chevron-down tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] 
1644                                            tw:group-hover:rotate-180" aria-hidden="true"></span> 
1645                            </button> 
1646                        </div> 
1647                    </#if> 
1648                </div> 
1649            </#if> 
1650 
1651            <#if showAwards> 
1652                <div id="recompenses" class="js-summary-content" tabindex="-1"></div> 
1653                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
1654                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
1655                    <h2 id="awards" 
1656                        class="tw:text-prim tw:mb-5">${summary["RecompensesEtNominationsFilm"]?hasContent?then(summary["RecompensesEtNominationsFilm"], "Récompenses et nominations")}</h2> 
1657                    <div class="wysiwyg"> 
1658                        <ul aria-labelledby="awards"> 
1659                            <#list awardsFull as award> 
1660                                <li class="tw:font-semibold!">${award?filter(a -> a?hasContent)?join(" - ")}</li> 
1661                            </#list> 
1662                        </ul> 
1663                    </div> 
1664                </div> 
1665            </#if> 
1666 
1667            <#if showExploitation> 
1668                <div id="exploitation" class="js-summary-content" tabindex="-1"></div> 
1669                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
1670                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
1671                    <h2 class="tw:text-prim tw:mb-5">${summary["ExploitationFilm"]?hasContent?then(summary["ExploitationFilm"], "Exploitation")}</h2> 
1672                    <#assign exploitRefs = {"salle": "salles", 
1673                    "semaine": "semaines", 
1674                    "entree": "entrées la première semaine", 
1675                    "total": "entrées totales" 
1676                    }> 
1677                    <#if exploitationParis?hasContent> 
1678                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1679                            <span class="tw:font-bold tw:shrink-0">Exploitation Paris :</span> 
1680                            <#list exploitationParis?keys as type> 
1681                                ${exploitationParis[type]?number?string["#,###.##"]} ${exploitRefs[type]}<#if !type?isLast>, </#if> 
1682                            </#list> 
1683                        </p> 
1684                    </#if> 
1685                    <#if exploitationProvince?hasContent> 
1686                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1687                            <span class="tw:font-bold tw:shrink-0">Exploitation Région :</span> 
1688                            <#list exploitationProvince?keys as type> 
1689                                ${exploitationProvince[type]?number?string["#,###.##"]} ${exploitRefs[type]}<#if !type?isLast>, </#if> 
1690                            </#list> 
1691                        </p> 
1692                    </#if> 
1693                    <#if exploitationFrance?hasContent> 
1694                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1695                            <span class="tw:font-bold tw:shrink-0">Exploitation France :</span> 
1696                            <#list exploitationFrance?keys as type> 
1697                                ${exploitationFrance[type]?number?string["#,###.##"]} ${exploitRefs[type]}<#if !type?isLast>, </#if> 
1698                            </#list> 
1699                        </p> 
1700                    </#if> 
1701                </div> 
1702            </#if> 
1703 
1704            <#if showBibliographie> 
1705                <div id="bibliographie" class="js-summary-content" tabindex="-1"></div> 
1706                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
1707                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
1708                    <h2 id="biblio" 
1709                        class="tw:text-prim tw:mb-5">${summary["BibliographieEditorialeFilm"]?hasContent?then(summary["BibliographieEditorialeFilm"], "Bibliographie éditoriale")}</h2> 
1710                    <div class="wysiwyg js-list-expand"> 
1711                        <ul aria-labelledby="biblio"> 
1712                            <#list digitalRefs as digitalRef> 
1713                                <li <#if (digitalRef?index > 4)>class="tw:hidden"</#if>><#if digitalRef.values.bibliographyType?hasContent>${garance.getPicklistItemName(digitalRef.values.bibliographyType, "picklistBibliographieReferenceType")} : </#if>${digitalRef.values.digitalReferenceDescription}</li> 
1714                            </#list> 
1715                        </ul> 
1716                        <#if (digitalRefs?size > 5)> 
1717                            <button type="button" 
1718                                    class="js-expand tw:items-center tw:leading-[1.75rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1719                                <span>Voir plus</span> 
1720                                <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1721                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1722                            </button> 
1723                        </#if> 
1724                    </div> 
1725                </div> 
1726            </#if> 
1727 
1728            <#if showVariant> 
1729                <div id="versions" class="js-summary-content" tabindex="-1"></div> 
1730                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
1731                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
1732                    <h2 class="tw:text-prim tw:mb-5">${summary["VersionsDuFilmFilm"]?hasContent?then(summary["VersionsDuFilmFilm"], "Versions du film")}</h2> 
1733                    <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1734                        <p id="variant-tl" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">Type de version 
1735                            :</p> 
1736                        <div class="js-list-expand"> 
1737                            <ul aria-labelledby="variant-tl"> 
1738                                <#list variantChildren as variant> 
1739                                    <li <#if (variant?index > 4)>class="tw:hidden"</#if>><#if variant.values.typeOfVariant?hasContent>${garance.getPicklistItemName(variant.values.typeOfVariant, "picklistTypeOfVariant")}</#if> 
1740                                        - ${variant.values.titleComplete}<#if variant.values.varianteIdentificationNote?hasContent> - ${variant.values.varianteIdentificationNote}</#if></li> 
1741                                </#list> 
1742                            </ul> 
1743                            <#if (variantChildren?size > 5)> 
1744                                <button type="button" 
1745                                        class="js-expand tw:items-center tw:leading-[1.75rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1746                                    <span>Voir plus</span> 
1747                                    <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1748                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1749                                </button> 
1750                            </#if> 
1751                            <button id="popup-variant-toggle" role="button" class="btn btn-outline-primary tw:mt-5"> 
1752                                Afficher les 
1753                                informations des versions 
1754                            </button> 
1755                        </div> 
1756                    </div> 
1757                </div> 
1758            </#if> 
1759 
1760            <#if showSerie> 
1761                <div id="series" class="js-summary-content" tabindex="-1"></div> 
1762                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
1763                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
1764                    <h2 id="serie" 
1765                        class="tw:text-prim tw:mb-5">Séries liées</h2> 
1766                    <div class="wysiwyg js-list-expand"> 
1767                        <ul aria-labelledby="serie"> 
1768                            <#list seriesFull as serie> 
1769                                <li <#if (serie?index > 4)>class="tw:hidden"</#if>> 
1770                                    <#if serie.id??> 
1771                                        <a href="/l/${serie.id}" 
1772                                           class="tw:font-bold! tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1773                                            ${serie.title}</a> 
1774                                    <#else>${serie.title}</#if> 
1775                                </li> 
1776                            </#list> 
1777                        </ul> 
1778                        <#if (seriesFull?size > 5)> 
1779                            <button type="button" 
1780                                    class="js-expand tw:items-center tw:leading-[1.75rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1781                                <span>Voir plus</span> 
1782                                <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1783                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1784                            </button> 
1785                        </#if> 
1786                    </div> 
1787                </div> 
1788            </#if> 
1789 
1790            <#if showComposingSerie> 
1791                <div id="series-composing" class="js-summary-content" tabindex="-1"></div> 
1792                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
1793                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
1794                    <h2 id="serie-composing" 
1795                        class="tw:text-prim tw:mb-5">Films composant la série</h2> 
1796                    <div class="wysiwyg js-list-expand"> 
1797                        <ul aria-labelledby="serie-composing"> 
1798                            <#list composingFull as composing> 
1799                                <li <#if (composing?index > 4)>class="tw:hidden"</#if>> 
1800                                    <#if composing.id??> 
1801                                        <a href="/l/${composing.id}" 
1802                                           class="tw:font-bold! tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1803                                            ${composing.title}</a> 
1804                                    <#else>${composing.title}</#if> 
1805                                </li> 
1806                            </#list> 
1807                        </ul> 
1808                        <#if (composingFull?size > 5)> 
1809                            <button type="button" 
1810                                    class="js-expand tw:items-center tw:leading-[1.75rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1811                                <span>Voir plus</span> 
1812                                <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1813                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1814                            </button> 
1815                        </#if> 
1816                    </div> 
1817                </div> 
1818            </#if> 
1819 
1820            <#if showEnsemble> 
1821                <div id="ensemble" class="js-summary-content" tabindex="-1"></div> 
1822                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
1823                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
1824                    <h2 id="ensemble" 
1825                        class="tw:text-prim tw:mb-5">Ensembles liés</h2> 
1826                    <div class="wysiwyg js-list-expand"> 
1827                        <ul aria-labelledby="ensemble"> 
1828                            <#list ensembleFull as ensemble> 
1829                                <li <#if (ensemble?index > 4)>class="tw:hidden"</#if>> 
1830                                    <#if ensemble.id??> 
1831                                        <a href="/l/${ensemble.id}" 
1832                                           class="tw:font-bold! tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1833                                            ${ensemble.title}</a> 
1834                                    <#else>${ensemble.title}</#if> 
1835                                </li> 
1836                            </#list> 
1837                        </ul> 
1838                        <#if (ensembleFull?size > 5)> 
1839                            <button type="button" 
1840                                    class="js-expand tw:items-center tw:leading-[1.75rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1841                                <span>Voir plus</span> 
1842                                <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1843                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1844                            </button> 
1845                        </#if> 
1846                    </div> 
1847                </div> 
1848            </#if> 
1849 
1850            <#if showComposingEnsemble> 
1851                <div id="ensembles-composing" class="js-summary-content" tabindex="-1"></div> 
1852                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
1853                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
1854                    <h2 id="ensemble-composing" 
1855                        class="tw:text-prim tw:mb-5">Films composant l'ensemble</h2> 
1856                    <div class="wysiwyg js-list-expand"> 
1857                        <ul aria-labelledby="ensemble-composing"> 
1858                            <#list composingFull as composing> 
1859                                <li <#if (composing?index > 4)>class="tw:hidden"</#if>> 
1860                                    <#if composing.id??> 
1861                                        <a href="/l/${composing.id}" 
1862                                           class="tw:font-bold! tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1863                                            ${composing.title}</a> 
1864                                    <#else>${composing.title}</#if> 
1865                                </li> 
1866                            </#list> 
1867                        </ul> 
1868                        <#if (composingFull?size > 5)> 
1869                            <button type="button" 
1870                                    class="js-expand tw:items-center tw:leading-[1.75rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1871                                <span>Voir plus</span> 
1872                                <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1873                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1874                            </button> 
1875                        </#if> 
1876                    </div> 
1877                </div> 
1878            </#if> 
1879 
1880            <#if showRelatedFilms> 
1881                <div id="relations" class="js-summary-content" tabindex="-1"></div> 
1882                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
1883                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
1884                    <h2 id="relatedF" 
1885                        class="tw:text-prim tw:mb-5">${summary["RelationAutreFilmFilm"]?hasContent?then(summary["RelationAutreFilmFilm"], "Relation autre film")}</h2> 
1886                    <div class="wysiwyg js-list-expand"> 
1887                        <ul aria-labelledby="relatedF"> 
1888                            <#list relatedFilmsFull as rf> 
1889                                <li <#if (rf?index > 4)>class="tw:hidden"</#if>><#if rf.type?hasContent>${garance.getPicklistItemName(rf.type, "picklistFilmRelationType")} : </#if> 
1890                                    <#if rf.id??> 
1891                                        <a href="/l/${rf.id}" 
1892                                           class="tw:font-bold! tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1893                                            ${rf.title}</a> 
1894                                    <#else>${rf.title}</#if> 
1895                                </li> 
1896                            </#list> 
1897                        </ul> 
1898                        <#if (relatedFilmsFull?size > 5)> 
1899                            <button type="button" 
1900                                    class="js-expand tw:items-center tw:leading-[1.75rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1901                                <span>Voir plus</span> 
1902                                <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1903                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1904                            </button> 
1905                        </#if> 
1906                    </div> 
1907                </div> 
1908            </#if> 
1909 
1910            <#if showCorpus> 
1911                <div id="corpus" class="js-summary-content" tabindex="-1"></div> 
1912                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
1913                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
1914                    <h2 id="corpus-tl" 
1915                        class="tw:text-prim tw:mb-5">Corpus liés</h2> 
1916                    <div class="wysiwyg"> 
1917                        <ul aria-labelledby="corpus-tl" class="js-read-more" data-clamp-line="5" 
1918                            data-line-height="1.625"> 
1919                            <#list corpusFull as corpus> 
1920                                <li> 
1921                                    <#if corpus.id??> 
1922                                        <a href="/l/${corpus.id}" 
1923                                           class="tw:font-bold! tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1924                                            ${corpus.title}</a> 
1925                                    <#else>${corpus.title}</#if> 
1926                                </li> 
1927                            </#list> 
1928                        </ul> 
1929                        <button type="button" 
1930                                class="tw:hidden tw:items-center tw:leading-[1.75rem] tw:mt-[0.625rem] tw:group tw:gap-[0.3125rem] tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1931                            <span>Voir plus</span> 
1932                            <span class="icon-chevron-down tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] 
1933                                            tw:group-hover:rotate-180" aria-hidden="true"></span> 
1934                        </button> 
1935                    </div> 
1936                </div> 
1937            </#if> 
1938 
1939            <#if showComposingCorpus> 
1940                <div id="corpuss-composing" class="js-summary-content" tabindex="-1"></div> 
1941                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
1942                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
1943                    <h2 id="corpus-composing" 
1944                        class="tw:text-prim tw:mb-5">Films composant le corpus</h2> 
1945                    <div class="wysiwyg js-list-expand"> 
1946                        <ul aria-labelledby="corpus-composing"> 
1947                            <#list composingFull as composing> 
1948                                <li <#if (composing?index > 4)>class="tw:hidden"</#if>> 
1949                                    <#if composing.id??> 
1950                                        <a href="/l/${composing.id}" 
1951                                           class="tw:font-bold! tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1952                                            ${composing.title}</a> 
1953                                    <#else>${composing.title}</#if> 
1954                                </li> 
1955                            </#list> 
1956                        </ul> 
1957                        <#if (composingFull?size > 5)> 
1958                            <button type="button" 
1959                                    class="js-expand tw:items-center tw:leading-[1.75rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1960                                <span>Voir plus</span> 
1961                                <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1962                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1963                            </button> 
1964                        </#if> 
1965                    </div> 
1966                </div> 
1967            </#if> 
1968 
1969            <#if showConsultation> 
1970                <div id="consultation" class="js-summary-content" tabindex="-1"></div> 
1971                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
1972                                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
1973                    <h2 class="tw:text-prim tw:mb-5">${summary["ConsultationFilm"]?hasContent?then(summary["ConsultationFilm"], "Consultation")}</h2> 
1974                    <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1975                        <p id="consultation-tl" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">Lieux de 
1976                            consultation du film et conditions d'accès 
1977                            :</p> 
1978                        <ul aria-labelledby="consultation-tl"> 
1979                            <#assign consultationFull = {}> 
1980                            <#list filmConsultationsFull as consultation> 
1981                                <#assign lieu = consultation.values.lieuDeConsultation> 
1982                                <#assign acces = consultation.values.accesConditions> 
1983                                <#if consultationFull[lieu]??> 
1984                                    <#if !(consultationFull[lieu]?seqContains(acces))> 
1985                                        <#assign consultationFull = consultationFull + {lieu: consultationFull[lieu] + [acces]}> 
1986                                    </#if> 
1987                                <#else> 
1988                                    <#assign consultationFull = consultationFull + {lieu: [acces]}> 
1989                                </#if> 
1990                            </#list> 
1991                            <#list consultationFull as lieu, access> 
1992                                <li>${garance.getPicklistItemName(lieu, "picklistLieuDeConsultation")} - 
1993                                    ${access?filter(v->v?hasContent)?map(a -> garance.getPicklistItemName(a, "picklistAccesConditions"))?join(" - ")}</li> 
1994                            </#list> 
1995                        </ul> 
1996                    </div> 
1997                </div> 
1998            </#if> 
1999        </div> 
2000        <#if showMedia> 
2001            <#assign medias = []> 
2002            <#if reproductionsVideos?hasContent> 
2003                <#assign medias = medias + [{ 
2004                "type": "video", 
2005                "title": "Vidéos", 
2006                "reproductions": reproductionsVideos 
2007                }]> 
2008            </#if> 
2009            <#if reproductionsImages?hasContent> 
2010                <#assign medias = medias + [{ 
2011                "type": "image", 
2012                "title": "Images", 
2013                "reproductions": reproductionsImages 
2014                }]> 
2015            </#if> 
2016            <div id="ressources" class="js-summary-content" tabindex="-1"></div> 
2017            <div class="page-wrapper tw:py-10"> 
2018                <h2 id="ressources-tl" 
2019                    class="tw:text-prim tw:mb-5">${summary["RessourcesMediaFilm"]?hasContent?then(summary["RessourcesMediaFilm"], "Ressources média")}</h2> 
2020                <@garance.displayMedia data=medias /> 
2021            </div> 
2022        </#if> 
2023        <#if showCollection> 
2024            <div id="collections" class="js-summary-content" tabindex="-1"></div> 
2025            <div class="page-wrapper tw:py-10"> 
2026                <h2 id="collections-tl" 
2027                    class="tw:text-prim tw:mb-5">${summary["CollectionsLieesFilm"]?hasContent?then(summary["CollectionsLieesFilm"], "Collections liées")}</h2> 
2028                <@garance.displayCollection relatedObjectsFull /> 
2029            </div> 
2030            <script type="module" async> 
2031                import('photoswipe') 
2032                import('photoswipe-lightbox') 
2033            </script> 
2034        </#if> 
2035    </div> 
2036</div> 
2037 
2038<#if showVariant> 
2039    <div id="popup-variant" 
2040         class="tw:hidden tw:[&.open]:flex tw:bg-beige tw:fixed tw:[&.open]:z-[989] tw:max-w-[64.25rem] tw:w-[calc(100vw-2.5rem)] tw:translate-x-[-50%] tw:[.open]:translate-y-[-50%] tw:inset-[50%] tw:h-fit tw:max-h-[calc(100vh-1.25rem)] tw:flex tw:flex-col"> 
2041        <div class="tw:bg-prim tw:text-white tw:items-center tw:justify-between tw:px-10 tw:px-10 tw:py-[0.375rem] tw:flex"> 
2042            <h3 class="tw:text-h2/[2.8125rem]">Versions pour ${filmEntry.values.titleComplete}</h3> 
2043            <button class="js-close-variant tw:group" type="button"> 
2044                <span class="sr-only">Fermer</span> 
2045                <span class="icon-cross tw:block tw:transition-all tw:text-base tw:text-white tw:group-hover:-rotate-90" 
2046                      aria-controls="popup-variant"></span> 
2047            </button> 
2048        </div> 
2049 
2050        <div class="tw:px-10 tw:py-5 tw:lg:px-20 tw:lg:py-10 tw:overflow-y-auto"> 
2051            <#list variantChildren as variant> 
2052                <div class="accordion-variant tw:w-full tw:pt-10 tw:mb-10 
2053                <#if !variant?isFirst>tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40</#if>" 
2054                     data-variant-id="${variant.objectEntryId}" data-loaded="false"> 
2055                    <button class="accordion-variant-expand tw:group tw:flex tw:justify-between tw:w-full tw:items-center tw:text-left" 
2056                            aria-expanded="false" aria-controls="variant-content-${variant.objectEntryId}"> 
2057                        <h3> 
2058                            <#if variant.values.typeOfVariant?hasContent>${garance.getPicklistItemName(variant.values.typeOfVariant, "picklistTypeOfVariant")}</#if> 
2059                            - ${variant.values.titleComplete}<#if variant.values.varianteIdentificationNote?hasContent> - ${variant.values.varianteIdentificationNote}</#if></h3> 
2060                        <span class="icon-chevron-down tw:transition-all tw:shrink-0 tw:text-prim tw:group-hover:rotate-180 tw:group-[&[aria-expanded=true]]:rotate-180" 
2061                              aria-hidden="true"></span> 
2062                    </button> 
2063                    <div id="variant-content-${variant.objectEntryId}" 
2064                         class="accordion-variant-content tw:hidden tw:[&.open]:block tw:pt-5"> 
2065                        <span class="custom-loader tw:mx-auto"></span> 
2066                        <p class="sr-only">Chargement en cours</p> 
2067                    </div> 
2068                </div> 
2069            </#list> 
2070        </div> 
2071    </div> 
2072</#if>