package api.unicore.component;
import static api.util.ComponentConstants.BOOLEAN_NULL;
import static api.util.ComponentConstants.BOOLEAN_NULL_CODE;
import static api.util.ComponentConstants.INTEGER_NULL;
import static api.util.ComponentConstants.INTEGER_NULL_CODE;
import static api.util.ComponentConstants.STRING_NULL;
import static api.util.ComponentConstants.STRING_NULL_CODE;
import static org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion.NON_NULL;
import api.UnoComponent;
import api.unicore.component_manual.MerchantLetters;
import api.util.BooleanFormat;
import api.util.IntegerFormat;
import api.util.StringFormat;
import iapp.services.ServerObject;
import iapp.util.audit.AuditHelper;
import javax.ws.rs.DefaultValue;
import javax.ws.rs.FormParam;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.codehaus.jackson.annotate.JsonPropertyOrder;
import org.codehaus.jackson.map.annotate.JsonDeserialize;
import org.codehaus.jackson.map.annotate.JsonSerialize;
/**
* @author CodeGen [Taya Kuleshova]
* @company UnitedThinkers
* @since 2012/04/25
*/
@JsonSerialize(include=NON_NULL)
@XmlType(propOrder={"welcomeCode", "softDeclineCode", "softDeclineIsStatement", "softDeclineWaitPeriod", "softDeclineIsBalanceRequired", "hardDeclineCode", "hardDeclineIsStatement", "chargebackCode", "chargebackIsStatement", "statementCode", "collections1Code", "collections2Code", "collections3Code", "collections4Code", "collections5Code", "collections1Age", "collections2Age", "collections3Age", "collections4Age", "collections5Age", "invoiceCode", "invoicePeriod", "notification1Code", "notification2Code", "notification3Code", "notification1Age", "notification2Age", "notification3Age"})
@JsonPropertyOrder({"welcomeCode", "softDeclineCode", "softDeclineIsStatement", "softDeclineWaitPeriod", "softDeclineIsBalanceRequired", "hardDeclineCode", "hardDeclineIsStatement", "chargebackCode", "chargebackIsStatement", "statementCode", "collections1Code", "collections2Code", "collections3Code", "collections4Code", "collections5Code", "collections1Age", "collections2Age", "collections3Age", "collections4Age", "collections5Age", "invoiceCode", "invoicePeriod", "notification1Code", "notification2Code", "notification3Code", "notification1Age", "notification2Age", "notification3Age"})
@XmlAccessorType(XmlAccessType.NONE)
@XmlSeeAlso(MerchantLetters.class)
public abstract class AbstractMerchantLetters extends UnoComponent<unicore.model.Merchant> {
@FormParam("welcomeCode")
@StringFormat
@DefaultValue(STRING_NULL_CODE)
protected String welcomeCode;
@FormParam("softDeclineCode")
@StringFormat
@DefaultValue(STRING_NULL_CODE)
protected String softDeclineCode;
@FormParam("softDeclineIsStatement")
@BooleanFormat
@DefaultValue(BOOLEAN_NULL_CODE)
protected Boolean softDeclineIsStatement;
@FormParam("softDeclineWaitPeriod")
@IntegerFormat
@DefaultValue(INTEGER_NULL_CODE)
protected Integer softDeclineWaitPeriod;
@FormParam("softDeclineIsBalanceRequired")
@BooleanFormat
@DefaultValue(BOOLEAN_NULL_CODE)
protected Boolean softDeclineIsBalanceRequired;
@FormParam("hardDeclineCode")
@StringFormat
@DefaultValue(STRING_NULL_CODE)
protected String hardDeclineCode;
@FormParam("hardDeclineIsStatement")
@BooleanFormat
@DefaultValue(BOOLEAN_NULL_CODE)
protected Boolean hardDeclineIsStatement;
@FormParam("chargebackCode")
@StringFormat
@DefaultValue(STRING_NULL_CODE)
protected String chargebackCode;
@FormParam("chargebackIsStatement")
@BooleanFormat
@DefaultValue(BOOLEAN_NULL_CODE)
protected Boolean chargebackIsStatement;
@FormParam("statementCode")
@StringFormat
@DefaultValue(STRING_NULL_CODE)
protected String statementCode;
@FormParam("collections1Code")
@StringFormat
@DefaultValue(STRING_NULL_CODE)
protected String collections1Code;
@FormParam("collections2Code")
@StringFormat
@DefaultValue(STRING_NULL_CODE)
protected String collections2Code;
@FormParam("collections3Code")
@StringFormat
@DefaultValue(STRING_NULL_CODE)
protected String collections3Code;
@FormParam("collections4Code")
@StringFormat
@DefaultValue(STRING_NULL_CODE)
protected String collections4Code;
@FormParam("collections5Code")
@StringFormat
@DefaultValue(STRING_NULL_CODE)
protected String collections5Code;
@FormParam("collections1Age")
@IntegerFormat
@DefaultValue(INTEGER_NULL_CODE)
protected Integer collections1Age;
@FormParam("collections2Age")
@IntegerFormat
@DefaultValue(INTEGER_NULL_CODE)
protected Integer collections2Age;
@FormParam("collections3Age")
@IntegerFormat
@DefaultValue(INTEGER_NULL_CODE)
protected Integer collections3Age;
@FormParam("collections4Age")
@IntegerFormat
@DefaultValue(INTEGER_NULL_CODE)
protected Integer collections4Age;
@FormParam("collections5Age")
@IntegerFormat
@DefaultValue(INTEGER_NULL_CODE)
protected Integer collections5Age;
@FormParam("invoiceCode")
@StringFormat
@DefaultValue(STRING_NULL_CODE)
protected String invoiceCode;
@FormParam("invoicePeriod")
@IntegerFormat
@DefaultValue(INTEGER_NULL_CODE)
protected Integer invoicePeriod;
@FormParam("notification1Code")
@StringFormat
@DefaultValue(STRING_NULL_CODE)
protected String notification1Code;
@FormParam("notification2Code")
@StringFormat
@DefaultValue(STRING_NULL_CODE)
protected String notification2Code;
@FormParam("notification3Code")
@StringFormat
@DefaultValue(STRING_NULL_CODE)
protected String notification3Code;
@FormParam("notification1Age")
@IntegerFormat
@DefaultValue(INTEGER_NULL_CODE)
protected Integer notification1Age;
@FormParam("notification2Age")
@IntegerFormat
@DefaultValue(INTEGER_NULL_CODE)
protected Integer notification2Age;
@FormParam("notification3Age")
@IntegerFormat
@DefaultValue(INTEGER_NULL_CODE)
protected Integer notification3Age;
public AbstractMerchantLetters(){
super();
applyDefaults();
}
public AbstractMerchantLetters(unicore.model.Merchant object){
super(object);
}
private void applyDefaults() {
if (!isProxyObject()) {
welcomeCode = STRING_NULL;
softDeclineCode = STRING_NULL;
softDeclineIsStatement = BOOLEAN_NULL;
softDeclineWaitPeriod = INTEGER_NULL;
softDeclineIsBalanceRequired = BOOLEAN_NULL;
hardDeclineCode = STRING_NULL;
hardDeclineIsStatement = BOOLEAN_NULL;
chargebackCode = STRING_NULL;
chargebackIsStatement = BOOLEAN_NULL;
statementCode = STRING_NULL;
collections1Code = STRING_NULL;
collections2Code = STRING_NULL;
collections3Code = STRING_NULL;
collections4Code = STRING_NULL;
collections5Code = STRING_NULL;
collections1Age = INTEGER_NULL;
collections2Age = INTEGER_NULL;
collections3Age = INTEGER_NULL;
collections4Age = INTEGER_NULL;
collections5Age = INTEGER_NULL;
invoiceCode = STRING_NULL;
invoicePeriod = INTEGER_NULL;
notification1Code = STRING_NULL;
notification2Code = STRING_NULL;
notification3Code = STRING_NULL;
notification1Age = INTEGER_NULL;
notification2Age = INTEGER_NULL;
notification3Age = INTEGER_NULL;
}
}
@Override
public void from() {
fromInternal();
super.from();
}
protected abstract void fromInternal();
@Override
public abstract void to();
@Override
public abstract void initializeNew();
@Override
public String toString(){
StringBuilder sb = new StringBuilder();
sb.append("letters: {");
sb.append("welcomeCode: ");
sb.append(welcomeCode);
sb.append(',').append(' ');
sb.append("softDeclineCode: ");
sb.append(softDeclineCode);
sb.append(',').append(' ');
sb.append("softDeclineIsStatement: ");
sb.append(softDeclineIsStatement);
sb.append(',').append(' ');
sb.append("softDeclineWaitPeriod: ");
sb.append(softDeclineWaitPeriod);
sb.append(',').append(' ');
sb.append("softDeclineIsBalanceRequired: ");
sb.append(softDeclineIsBalanceRequired);
sb.append(',').append(' ');
sb.append("hardDeclineCode: ");
sb.append(hardDeclineCode);
sb.append(',').append(' ');
sb.append("hardDeclineIsStatement: ");
sb.append(hardDeclineIsStatement);
sb.append(',').append(' ');
sb.append("chargebackCode: ");
sb.append(chargebackCode);
sb.append(',').append(' ');
sb.append("chargebackIsStatement: ");
sb.append(chargebackIsStatement);
sb.append(',').append(' ');
sb.append("statementCode: ");
sb.append(statementCode);
sb.append(',').append(' ');
sb.append("collections1Code: ");
sb.append(collections1Code);
sb.append(',').append(' ');
sb.append("collections2Code: ");
sb.append(collections2Code);
sb.append(',').append(' ');
sb.append("collections3Code: ");
sb.append(collections3Code);
sb.append(',').append(' ');
sb.append("collections4Code: ");
sb.append(collections4Code);
sb.append(',').append(' ');
sb.append("collections5Code: ");
sb.append(collections5Code);
sb.append(',').append(' ');
sb.append("collections1Age: ");
sb.append(collections1Age);
sb.append(',').append(' ');
sb.append("collections2Age: ");
sb.append(collections2Age);
sb.append(',').append(' ');
sb.append("collections3Age: ");
sb.append(collections3Age);
sb.append(',').append(' ');
sb.append("collections4Age: ");
sb.append(collections4Age);
sb.append(',').append(' ');
sb.append("collections5Age: ");
sb.append(collections5Age);
sb.append(',').append(' ');
sb.append("invoiceCode: ");
sb.append(invoiceCode);
sb.append(',').append(' ');
sb.append("invoicePeriod: ");
sb.append(invoicePeriod);
sb.append(',').append(' ');
sb.append("notification1Code: ");
sb.append(notification1Code);
sb.append(',').append(' ');
sb.append("notification2Code: ");
sb.append(notification2Code);
sb.append(',').append(' ');
sb.append("notification3Code: ");
sb.append(notification3Code);
sb.append(',').append(' ');
sb.append("notification1Age: ");
sb.append(notification1Age);
sb.append(',').append(' ');
sb.append("notification2Age: ");
sb.append(notification2Age);
sb.append(',').append(' ');
sb.append("notification3Age: ");
sb.append(notification3Age);
sb.append('}');
return sb.toString();
}
@XmlAttribute(name="welcomeCode")
@XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
@FormParam("welcomeCode")
@StringFormat
@JsonDeserialize(using = api.util.StringDeserializer.class)
public String getWelcomeCode(){
return welcomeCode;
}
public void setWelcomeCode(String value){
this.welcomeCode = value;
}
@XmlAttribute(name="softDeclineCode")
@XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
@FormParam("softDeclineCode")
@StringFormat
@JsonDeserialize(using = api.util.StringDeserializer.class)
public String getSoftDeclineCode(){
return softDeclineCode;
}
public void setSoftDeclineCode(String value){
this.softDeclineCode = value;
}
@XmlAttribute(name="softDeclineIsStatement")
@FormParam("softDeclineIsStatement")
@BooleanFormat
public Boolean getSoftDeclineIsStatement(){
return softDeclineIsStatement;
}
public void setSoftDeclineIsStatement(Boolean value){
this.softDeclineIsStatement = value;
}
@XmlAttribute(name="softDeclineWaitPeriod")
@XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
@FormParam("softDeclineWaitPeriod")
@IntegerFormat
@JsonDeserialize(using=api.util.NumberDeserializer.class)
public Integer getSoftDeclineWaitPeriod(){
return softDeclineWaitPeriod;
}
public void setSoftDeclineWaitPeriod(Integer value){
this.softDeclineWaitPeriod = value;
}
@XmlAttribute(name="softDeclineIsBalanceRequired")
@FormParam("softDeclineIsBalanceRequired")
@BooleanFormat
public Boolean getSoftDeclineIsBalanceRequired(){
return softDeclineIsBalanceRequired;
}
public void setSoftDeclineIsBalanceRequired(Boolean value){
this.softDeclineIsBalanceRequired = value;
}
@XmlAttribute(name="hardDeclineCode")
@XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
@FormParam("hardDeclineCode")
@StringFormat
@JsonDeserialize(using = api.util.StringDeserializer.class)
public String getHardDeclineCode(){
return hardDeclineCode;
}
public void setHardDeclineCode(String value){
this.hardDeclineCode = value;
}
@XmlAttribute(name="hardDeclineIsStatement")
@FormParam("hardDeclineIsStatement")
@BooleanFormat
public Boolean getHardDeclineIsStatement(){
return hardDeclineIsStatement;
}
public void setHardDeclineIsStatement(Boolean value){
this.hardDeclineIsStatement = value;
}
@XmlAttribute(name="chargebackCode")
@XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
@FormParam("chargebackCode")
@StringFormat
@JsonDeserialize(using = api.util.StringDeserializer.class)
public String getChargebackCode(){
return chargebackCode;
}
public void setChargebackCode(String value){
this.chargebackCode = value;
}
@XmlAttribute(name="chargebackIsStatement")
@FormParam("chargebackIsStatement")
@BooleanFormat
public Boolean getChargebackIsStatement(){
return chargebackIsStatement;
}
public void setChargebackIsStatement(Boolean value){
this.chargebackIsStatement = value;
}
@XmlAttribute(name="statementCode")
@XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
@FormParam("statementCode")
@StringFormat
@JsonDeserialize(using = api.util.StringDeserializer.class)
public String getStatementCode(){
return statementCode;
}
public void setStatementCode(String value){
this.statementCode = value;
}
@XmlAttribute(name="collections1Code")
@XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
@FormParam("collections1Code")
@StringFormat
@JsonDeserialize(using = api.util.StringDeserializer.class)
public String getCollections1Code(){
return collections1Code;
}
public void setCollections1Code(String value){
this.collections1Code = value;
}
@XmlAttribute(name="collections2Code")
@XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
@FormParam("collections2Code")
@StringFormat
@JsonDeserialize(using = api.util.StringDeserializer.class)
public String getCollections2Code(){
return collections2Code;
}
public void setCollections2Code(String value){
this.collections2Code = value;
}
@XmlAttribute(name="collections3Code")
@XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
@FormParam("collections3Code")
@StringFormat
@JsonDeserialize(using = api.util.StringDeserializer.class)
public String getCollections3Code(){
return collections3Code;
}
public void setCollections3Code(String value){
this.collections3Code = value;
}
@XmlAttribute(name="collections4Code")
@XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
@FormParam("collections4Code")
@StringFormat
@JsonDeserialize(using = api.util.StringDeserializer.class)
public String getCollections4Code(){
return collections4Code;
}
public void setCollections4Code(String value){
this.collections4Code = value;
}
@XmlAttribute(name="collections5Code")
@XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
@FormParam("collections5Code")
@StringFormat
@JsonDeserialize(using = api.util.StringDeserializer.class)
public String getCollections5Code(){
return collections5Code;
}
public void setCollections5Code(String value){
this.collections5Code = value;
}
@XmlAttribute(name="collections1Age")
@XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
@FormParam("collections1Age")
@IntegerFormat
@JsonDeserialize(using=api.util.NumberDeserializer.class)
public Integer getCollections1Age(){
return collections1Age;
}
public void setCollections1Age(Integer value){
this.collections1Age = value;
}
@XmlAttribute(name="collections2Age")
@XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
@FormParam("collections2Age")
@IntegerFormat
@JsonDeserialize(using=api.util.NumberDeserializer.class)
public Integer getCollections2Age(){
return collections2Age;
}
public void setCollections2Age(Integer value){
this.collections2Age = value;
}
@XmlAttribute(name="collections3Age")
@XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
@FormParam("collections3Age")
@IntegerFormat
@JsonDeserialize(using=api.util.NumberDeserializer.class)
public Integer getCollections3Age(){
return collections3Age;
}
public void setCollections3Age(Integer value){
this.collections3Age = value;
}
@XmlAttribute(name="collections4Age")
@XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
@FormParam("collections4Age")
@IntegerFormat
@JsonDeserialize(using=api.util.NumberDeserializer.class)
public Integer getCollections4Age(){
return collections4Age;
}
public void setCollections4Age(Integer value){
this.collections4Age = value;
}
@XmlAttribute(name="collections5Age")
@XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
@FormParam("collections5Age")
@IntegerFormat
@JsonDeserialize(using=api.util.NumberDeserializer.class)
public Integer getCollections5Age(){
return collections5Age;
}
public void setCollections5Age(Integer value){
this.collections5Age = value;
}
@XmlAttribute(name="invoiceCode")
@XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
@FormParam("invoiceCode")
@StringFormat
@JsonDeserialize(using = api.util.StringDeserializer.class)
public String getInvoiceCode(){
return invoiceCode;
}
public void setInvoiceCode(String value){
this.invoiceCode = value;
}
@XmlAttribute(name="invoicePeriod")
@XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
@FormParam("invoicePeriod")
@IntegerFormat
@JsonDeserialize(using=api.util.NumberDeserializer.class)
public Integer getInvoicePeriod(){
return invoicePeriod;
}
public void setInvoicePeriod(Integer value){
this.invoicePeriod = value;
}
@XmlAttribute(name="notification1Code")
@XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
@FormParam("notification1Code")
@StringFormat
@JsonDeserialize(using = api.util.StringDeserializer.class)
public String getNotification1Code(){
return notification1Code;
}
public void setNotification1Code(String value){
this.notification1Code = value;
}
@XmlAttribute(name="notification2Code")
@XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
@FormParam("notification2Code")
@StringFormat
@JsonDeserialize(using = api.util.StringDeserializer.class)
public String getNotification2Code(){
return notification2Code;
}
public void setNotification2Code(String value){
this.notification2Code = value;
}
@XmlAttribute(name="notification3Code")
@XmlJavaTypeAdapter(value=api.util.StringAdapter.class, type=String.class)
@FormParam("notification3Code")
@StringFormat
@JsonDeserialize(using = api.util.StringDeserializer.class)
public String getNotification3Code(){
return notification3Code;
}
public void setNotification3Code(String value){
this.notification3Code = value;
}
@XmlAttribute(name="notification1Age")
@XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
@FormParam("notification1Age")
@IntegerFormat
@JsonDeserialize(using=api.util.NumberDeserializer.class)
public Integer getNotification1Age(){
return notification1Age;
}
public void setNotification1Age(Integer value){
this.notification1Age = value;
}
@XmlAttribute(name="notification2Age")
@XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
@FormParam("notification2Age")
@IntegerFormat
@JsonDeserialize(using=api.util.NumberDeserializer.class)
public Integer getNotification2Age(){
return notification2Age;
}
public void setNotification2Age(Integer value){
this.notification2Age = value;
}
@XmlAttribute(name="notification3Age")
@XmlJavaTypeAdapter(value=api.util.IntegerAdapter.class, type=Integer.class)
@FormParam("notification3Age")
@IntegerFormat
@JsonDeserialize(using=api.util.NumberDeserializer.class)
public Integer getNotification3Age(){
return notification3Age;
}
public void setNotification3Age(Integer value){
this.notification3Age = value;
}
public void audit(AuditHelper helper, ServerObject object) {
unicore.model.Merchant s_object = (unicore.model.Merchant) object;
helper.audit("welcomeCode", welcomeCode, s_object.getLetterCodeWelcome());
helper.audit("softDeclineCode", softDeclineCode, s_object.getLetterCodeSoftDecline());
helper.audit("softDeclineIsStatement", softDeclineIsStatement, s_object.getIsLetterCodeSoftDeclineStatement());
helper.audit("softDeclineWaitPeriod", softDeclineWaitPeriod, s_object.getSoftDeclineWaitPeriodLetter());
helper.audit("softDeclineIsBalanceRequired", softDeclineIsBalanceRequired, s_object.getIsRequiredBalanceSoftDeclineLetter());
helper.audit("hardDeclineCode", hardDeclineCode, s_object.getLetterCodeHardDecline());
helper.audit("hardDeclineIsStatement", hardDeclineIsStatement, s_object.getIsLetterCodeHardDeclineStatement());
helper.audit("chargebackCode", chargebackCode, s_object.getLetterCodeChargeback());
helper.audit("chargebackIsStatement", chargebackIsStatement, s_object.getIsLetterCodeChargebackStatement());
helper.audit("statementCode", statementCode, s_object.getLetterCodeStatement());
helper.audit("collections1Code", collections1Code, s_object.getCollectionsLetterCode1());
helper.audit("collections2Code", collections2Code, s_object.getCollectionsLetterCode2());
helper.audit("collections3Code", collections3Code, s_object.getCollectionsLetterCode3());
helper.audit("collections4Code", collections4Code, s_object.getCollectionsLetterCode4());
helper.audit("collections5Code", collections5Code, s_object.getCollectionsLetterCode5());
helper.audit("collections1Age", collections1Age, s_object.getCollectionsLetterAge1());
helper.audit("collections2Age", collections2Age, s_object.getCollectionsLetterAge2());
helper.audit("collections3Age", collections3Age, s_object.getCollectionsLetterAge3());
helper.audit("collections4Age", collections4Age, s_object.getCollectionsLetterAge4());
helper.audit("collections5Age", collections5Age, s_object.getCollectionsLetterAge5());
helper.audit("invoiceCode", invoiceCode, s_object.getNotificationLetterCode());
helper.audit("invoicePeriod", invoicePeriod, s_object.getNotificationLetterPeriod());
helper.audit("notification1Code", notification1Code, s_object.getNotificationLetterCode1());
helper.audit("notification2Code", notification2Code, s_object.getNotificationLetterCode2());
helper.audit("notification3Code", notification3Code, s_object.getNotificationLetterCode3());
helper.audit("notification1Age", notification1Age, s_object.getNotificationLetterAge1());
helper.audit("notification2Age", notification2Age, s_object.getNotificationLetterAge2());
helper.audit("notification3Age", notification3Age, s_object.getNotificationLetterAge3());
}
public static String objectTypeCode(){
return "letters";
}
}