1   /**
2    * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved.
3    *
4    * The contents of this file are subject to the terms of the Liferay Enterprise
5    * Subscription License ("License"). You may not use this file except in
6    * compliance with the License. You can obtain a copy of the License by
7    * contacting Liferay, Inc. See the License for the specific language governing
8    * permissions and limitations under the License, including but not limited to
9    * distribution rights of the Software.
10   *
11   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
16   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
17   * SOFTWARE.
18   */
19  
20  package com.liferay.portlet.blogs.service.persistence;
21  
22  import com.liferay.portal.PortalException;
23  import com.liferay.portal.SystemException;
24  import com.liferay.portal.kernel.annotation.Propagation;
25  import com.liferay.portal.kernel.annotation.Transactional;
26  import com.liferay.portal.service.persistence.BasePersistence;
27  
28  /**
29   * <a href="BlogsEntryPersistence.java.html"><b><i>View Source</i></b></a>
30   *
31   * @author Brian Wing Shun Chan
32   *
33   */
34  @Transactional(rollbackFor =  {
35      PortalException.class, SystemException.class})
36  public interface BlogsEntryPersistence extends BasePersistence {
37      public com.liferay.portlet.blogs.model.BlogsEntry create(long entryId);
38  
39      public com.liferay.portlet.blogs.model.BlogsEntry remove(long entryId)
40          throws com.liferay.portal.SystemException,
41              com.liferay.portlet.blogs.NoSuchEntryException;
42  
43      public com.liferay.portlet.blogs.model.BlogsEntry remove(
44          com.liferay.portlet.blogs.model.BlogsEntry blogsEntry)
45          throws com.liferay.portal.SystemException;
46  
47      /**
48       * @deprecated Use <code>update(BlogsEntry blogsEntry, boolean merge)</code>.
49       */
50      public com.liferay.portlet.blogs.model.BlogsEntry update(
51          com.liferay.portlet.blogs.model.BlogsEntry blogsEntry)
52          throws com.liferay.portal.SystemException;
53  
54      /**
55       * Add, update, or merge, the entity. This method also calls the model
56       * listeners to trigger the proper events associated with adding, deleting,
57       * or updating an entity.
58       *
59       * @param        blogsEntry the entity to add, update, or merge
60       * @param        merge boolean value for whether to merge the entity. The
61       *                default value is false. Setting merge to true is more
62       *                expensive and should only be true when blogsEntry is
63       *                transient. See LEP-5473 for a detailed discussion of this
64       *                method.
65       * @return        true if the portlet can be displayed via Ajax
66       */
67      public com.liferay.portlet.blogs.model.BlogsEntry update(
68          com.liferay.portlet.blogs.model.BlogsEntry blogsEntry, boolean merge)
69          throws com.liferay.portal.SystemException;
70  
71      public com.liferay.portlet.blogs.model.BlogsEntry updateImpl(
72          com.liferay.portlet.blogs.model.BlogsEntry blogsEntry, boolean merge)
73          throws com.liferay.portal.SystemException;
74  
75      @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
76      public com.liferay.portlet.blogs.model.BlogsEntry findByPrimaryKey(
77          long entryId)
78          throws com.liferay.portal.SystemException,
79              com.liferay.portlet.blogs.NoSuchEntryException;
80  
81      public com.liferay.portlet.blogs.model.BlogsEntry fetchByPrimaryKey(
82          long entryId) throws com.liferay.portal.SystemException;
83  
84      @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
85      public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findByUuid(
86          java.lang.String uuid) throws com.liferay.portal.SystemException;
87  
88      @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
89      public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findByUuid(
90          java.lang.String uuid, int start, int end)
91          throws com.liferay.portal.SystemException;
92  
93      @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
94      public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findByUuid(
95          java.lang.String uuid, int start, int end,
96          com.liferay.portal.kernel.util.OrderByComparator obc)
97          throws com.liferay.portal.SystemException;
98  
99      @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
100     public com.liferay.portlet.blogs.model.BlogsEntry findByUuid_First(
101         java.lang.String uuid,
102         com.liferay.portal.kernel.util.OrderByComparator obc)
103         throws com.liferay.portal.SystemException,
104             com.liferay.portlet.blogs.NoSuchEntryException;
105 
106     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
107     public com.liferay.portlet.blogs.model.BlogsEntry findByUuid_Last(
108         java.lang.String uuid,
109         com.liferay.portal.kernel.util.OrderByComparator obc)
110         throws com.liferay.portal.SystemException,
111             com.liferay.portlet.blogs.NoSuchEntryException;
112 
113     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
114     public com.liferay.portlet.blogs.model.BlogsEntry[] findByUuid_PrevAndNext(
115         long entryId, java.lang.String uuid,
116         com.liferay.portal.kernel.util.OrderByComparator obc)
117         throws com.liferay.portal.SystemException,
118             com.liferay.portlet.blogs.NoSuchEntryException;
119 
120     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
121     public com.liferay.portlet.blogs.model.BlogsEntry findByUUID_G(
122         java.lang.String uuid, long groupId)
123         throws com.liferay.portal.SystemException,
124             com.liferay.portlet.blogs.NoSuchEntryException;
125 
126     public com.liferay.portlet.blogs.model.BlogsEntry fetchByUUID_G(
127         java.lang.String uuid, long groupId)
128         throws com.liferay.portal.SystemException;
129 
130     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
131     public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findByGroupId(
132         long groupId) throws com.liferay.portal.SystemException;
133 
134     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
135     public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findByGroupId(
136         long groupId, int start, int end)
137         throws com.liferay.portal.SystemException;
138 
139     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
140     public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findByGroupId(
141         long groupId, int start, int end,
142         com.liferay.portal.kernel.util.OrderByComparator obc)
143         throws com.liferay.portal.SystemException;
144 
145     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
146     public com.liferay.portlet.blogs.model.BlogsEntry findByGroupId_First(
147         long groupId, com.liferay.portal.kernel.util.OrderByComparator obc)
148         throws com.liferay.portal.SystemException,
149             com.liferay.portlet.blogs.NoSuchEntryException;
150 
151     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
152     public com.liferay.portlet.blogs.model.BlogsEntry findByGroupId_Last(
153         long groupId, com.liferay.portal.kernel.util.OrderByComparator obc)
154         throws com.liferay.portal.SystemException,
155             com.liferay.portlet.blogs.NoSuchEntryException;
156 
157     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
158     public com.liferay.portlet.blogs.model.BlogsEntry[] findByGroupId_PrevAndNext(
159         long entryId, long groupId,
160         com.liferay.portal.kernel.util.OrderByComparator obc)
161         throws com.liferay.portal.SystemException,
162             com.liferay.portlet.blogs.NoSuchEntryException;
163 
164     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
165     public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findByCompanyId(
166         long companyId) throws com.liferay.portal.SystemException;
167 
168     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
169     public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findByCompanyId(
170         long companyId, int start, int end)
171         throws com.liferay.portal.SystemException;
172 
173     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
174     public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findByCompanyId(
175         long companyId, int start, int end,
176         com.liferay.portal.kernel.util.OrderByComparator obc)
177         throws com.liferay.portal.SystemException;
178 
179     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
180     public com.liferay.portlet.blogs.model.BlogsEntry findByCompanyId_First(
181         long companyId, com.liferay.portal.kernel.util.OrderByComparator obc)
182         throws com.liferay.portal.SystemException,
183             com.liferay.portlet.blogs.NoSuchEntryException;
184 
185     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
186     public com.liferay.portlet.blogs.model.BlogsEntry findByCompanyId_Last(
187         long companyId, com.liferay.portal.kernel.util.OrderByComparator obc)
188         throws com.liferay.portal.SystemException,
189             com.liferay.portlet.blogs.NoSuchEntryException;
190 
191     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
192     public com.liferay.portlet.blogs.model.BlogsEntry[] findByCompanyId_PrevAndNext(
193         long entryId, long companyId,
194         com.liferay.portal.kernel.util.OrderByComparator obc)
195         throws com.liferay.portal.SystemException,
196             com.liferay.portlet.blogs.NoSuchEntryException;
197 
198     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
199     public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findByG_U(
200         long groupId, long userId) throws com.liferay.portal.SystemException;
201 
202     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
203     public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findByG_U(
204         long groupId, long userId, int start, int end)
205         throws com.liferay.portal.SystemException;
206 
207     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
208     public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findByG_U(
209         long groupId, long userId, int start, int end,
210         com.liferay.portal.kernel.util.OrderByComparator obc)
211         throws com.liferay.portal.SystemException;
212 
213     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
214     public com.liferay.portlet.blogs.model.BlogsEntry findByG_U_First(
215         long groupId, long userId,
216         com.liferay.portal.kernel.util.OrderByComparator obc)
217         throws com.liferay.portal.SystemException,
218             com.liferay.portlet.blogs.NoSuchEntryException;
219 
220     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
221     public com.liferay.portlet.blogs.model.BlogsEntry findByG_U_Last(
222         long groupId, long userId,
223         com.liferay.portal.kernel.util.OrderByComparator obc)
224         throws com.liferay.portal.SystemException,
225             com.liferay.portlet.blogs.NoSuchEntryException;
226 
227     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
228     public com.liferay.portlet.blogs.model.BlogsEntry[] findByG_U_PrevAndNext(
229         long entryId, long groupId, long userId,
230         com.liferay.portal.kernel.util.OrderByComparator obc)
231         throws com.liferay.portal.SystemException,
232             com.liferay.portlet.blogs.NoSuchEntryException;
233 
234     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
235     public com.liferay.portlet.blogs.model.BlogsEntry findByG_UT(long groupId,
236         java.lang.String urlTitle)
237         throws com.liferay.portal.SystemException,
238             com.liferay.portlet.blogs.NoSuchEntryException;
239 
240     public com.liferay.portlet.blogs.model.BlogsEntry fetchByG_UT(
241         long groupId, java.lang.String urlTitle)
242         throws com.liferay.portal.SystemException;
243 
244     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
245     public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findByG_D_D(
246         long groupId, java.util.Date displayDate, boolean draft)
247         throws com.liferay.portal.SystemException;
248 
249     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
250     public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findByG_D_D(
251         long groupId, java.util.Date displayDate, boolean draft, int start,
252         int end) throws com.liferay.portal.SystemException;
253 
254     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
255     public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findByG_D_D(
256         long groupId, java.util.Date displayDate, boolean draft, int start,
257         int end, com.liferay.portal.kernel.util.OrderByComparator obc)
258         throws com.liferay.portal.SystemException;
259 
260     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
261     public com.liferay.portlet.blogs.model.BlogsEntry findByG_D_D_First(
262         long groupId, java.util.Date displayDate, boolean draft,
263         com.liferay.portal.kernel.util.OrderByComparator obc)
264         throws com.liferay.portal.SystemException,
265             com.liferay.portlet.blogs.NoSuchEntryException;
266 
267     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
268     public com.liferay.portlet.blogs.model.BlogsEntry findByG_D_D_Last(
269         long groupId, java.util.Date displayDate, boolean draft,
270         com.liferay.portal.kernel.util.OrderByComparator obc)
271         throws com.liferay.portal.SystemException,
272             com.liferay.portlet.blogs.NoSuchEntryException;
273 
274     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
275     public com.liferay.portlet.blogs.model.BlogsEntry[] findByG_D_D_PrevAndNext(
276         long entryId, long groupId, java.util.Date displayDate, boolean draft,
277         com.liferay.portal.kernel.util.OrderByComparator obc)
278         throws com.liferay.portal.SystemException,
279             com.liferay.portlet.blogs.NoSuchEntryException;
280 
281     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
282     public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findByC_D_D(
283         long companyId, java.util.Date displayDate, boolean draft)
284         throws com.liferay.portal.SystemException;
285 
286     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
287     public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findByC_D_D(
288         long companyId, java.util.Date displayDate, boolean draft, int start,
289         int end) throws com.liferay.portal.SystemException;
290 
291     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
292     public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findByC_D_D(
293         long companyId, java.util.Date displayDate, boolean draft, int start,
294         int end, com.liferay.portal.kernel.util.OrderByComparator obc)
295         throws com.liferay.portal.SystemException;
296 
297     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
298     public com.liferay.portlet.blogs.model.BlogsEntry findByC_D_D_First(
299         long companyId, java.util.Date displayDate, boolean draft,
300         com.liferay.portal.kernel.util.OrderByComparator obc)
301         throws com.liferay.portal.SystemException,
302             com.liferay.portlet.blogs.NoSuchEntryException;
303 
304     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
305     public com.liferay.portlet.blogs.model.BlogsEntry findByC_D_D_Last(
306         long companyId, java.util.Date displayDate, boolean draft,
307         com.liferay.portal.kernel.util.OrderByComparator obc)
308         throws com.liferay.portal.SystemException,
309             com.liferay.portlet.blogs.NoSuchEntryException;
310 
311     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
312     public com.liferay.portlet.blogs.model.BlogsEntry[] findByC_D_D_PrevAndNext(
313         long entryId, long companyId, java.util.Date displayDate,
314         boolean draft, com.liferay.portal.kernel.util.OrderByComparator obc)
315         throws com.liferay.portal.SystemException,
316             com.liferay.portlet.blogs.NoSuchEntryException;
317 
318     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
319     public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findByG_U_D_D(
320         long groupId, long userId, java.util.Date displayDate, boolean draft)
321         throws com.liferay.portal.SystemException;
322 
323     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
324     public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findByG_U_D_D(
325         long groupId, long userId, java.util.Date displayDate, boolean draft,
326         int start, int end) throws com.liferay.portal.SystemException;
327 
328     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
329     public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findByG_U_D_D(
330         long groupId, long userId, java.util.Date displayDate, boolean draft,
331         int start, int end, com.liferay.portal.kernel.util.OrderByComparator obc)
332         throws com.liferay.portal.SystemException;
333 
334     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
335     public com.liferay.portlet.blogs.model.BlogsEntry findByG_U_D_D_First(
336         long groupId, long userId, java.util.Date displayDate, boolean draft,
337         com.liferay.portal.kernel.util.OrderByComparator obc)
338         throws com.liferay.portal.SystemException,
339             com.liferay.portlet.blogs.NoSuchEntryException;
340 
341     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
342     public com.liferay.portlet.blogs.model.BlogsEntry findByG_U_D_D_Last(
343         long groupId, long userId, java.util.Date displayDate, boolean draft,
344         com.liferay.portal.kernel.util.OrderByComparator obc)
345         throws com.liferay.portal.SystemException,
346             com.liferay.portlet.blogs.NoSuchEntryException;
347 
348     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
349     public com.liferay.portlet.blogs.model.BlogsEntry[] findByG_U_D_D_PrevAndNext(
350         long entryId, long groupId, long userId, java.util.Date displayDate,
351         boolean draft, com.liferay.portal.kernel.util.OrderByComparator obc)
352         throws com.liferay.portal.SystemException,
353             com.liferay.portlet.blogs.NoSuchEntryException;
354 
355     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
356     public java.util.List<Object> findWithDynamicQuery(
357         com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
358         throws com.liferay.portal.SystemException;
359 
360     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
361     public java.util.List<Object> findWithDynamicQuery(
362         com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
363         int end) throws com.liferay.portal.SystemException;
364 
365     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
366     public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findAll()
367         throws com.liferay.portal.SystemException;
368 
369     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
370     public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findAll(
371         int start, int end) throws com.liferay.portal.SystemException;
372 
373     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
374     public java.util.List<com.liferay.portlet.blogs.model.BlogsEntry> findAll(
375         int start, int end, com.liferay.portal.kernel.util.OrderByComparator obc)
376         throws com.liferay.portal.SystemException;
377 
378     public void removeByUuid(java.lang.String uuid)
379         throws com.liferay.portal.SystemException;
380 
381     public void removeByUUID_G(java.lang.String uuid, long groupId)
382         throws com.liferay.portal.SystemException,
383             com.liferay.portlet.blogs.NoSuchEntryException;
384 
385     public void removeByGroupId(long groupId)
386         throws com.liferay.portal.SystemException;
387 
388     public void removeByCompanyId(long companyId)
389         throws com.liferay.portal.SystemException;
390 
391     public void removeByG_U(long groupId, long userId)
392         throws com.liferay.portal.SystemException;
393 
394     public void removeByG_UT(long groupId, java.lang.String urlTitle)
395         throws com.liferay.portal.SystemException,
396             com.liferay.portlet.blogs.NoSuchEntryException;
397 
398     public void removeByG_D_D(long groupId, java.util.Date displayDate,
399         boolean draft) throws com.liferay.portal.SystemException;
400 
401     public void removeByC_D_D(long companyId, java.util.Date displayDate,
402         boolean draft) throws com.liferay.portal.SystemException;
403 
404     public void removeByG_U_D_D(long groupId, long userId,
405         java.util.Date displayDate, boolean draft)
406         throws com.liferay.portal.SystemException;
407 
408     public void removeAll() throws com.liferay.portal.SystemException;
409 
410     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
411     public int countByUuid(java.lang.String uuid)
412         throws com.liferay.portal.SystemException;
413 
414     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
415     public int countByUUID_G(java.lang.String uuid, long groupId)
416         throws com.liferay.portal.SystemException;
417 
418     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
419     public int countByGroupId(long groupId)
420         throws com.liferay.portal.SystemException;
421 
422     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
423     public int countByCompanyId(long companyId)
424         throws com.liferay.portal.SystemException;
425 
426     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
427     public int countByG_U(long groupId, long userId)
428         throws com.liferay.portal.SystemException;
429 
430     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
431     public int countByG_UT(long groupId, java.lang.String urlTitle)
432         throws com.liferay.portal.SystemException;
433 
434     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
435     public int countByG_D_D(long groupId, java.util.Date displayDate,
436         boolean draft) throws com.liferay.portal.SystemException;
437 
438     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
439     public int countByC_D_D(long companyId, java.util.Date displayDate,
440         boolean draft) throws com.liferay.portal.SystemException;
441 
442     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
443     public int countByG_U_D_D(long groupId, long userId,
444         java.util.Date displayDate, boolean draft)
445         throws com.liferay.portal.SystemException;
446 
447     @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
448     public int countAll() throws com.liferay.portal.SystemException;
449 }