úÎQfL#L      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKBSD3 %Dananji Liyanage <dan9131@gmail.com>  experimental SafeLTConstructor for the Log entry = (LogEntry LogLevels logging logInputData logMessage)&logLevel -> Logging purpose (ERRORINFO¤DEBUG) loggingMethod-> Module of the program which writes the log logInputData -> Input data at the point of logging logMessage -> Output message of the method Constructor for the Log levels. :This function appends a log entry to an external log file.Error logs to  'error.log' file. Other logs to  'access.log' file.LMNLMNBSD3 %Dananji Liyanage <dan9131@gmail.com>  experimental None09Data structure to hold the response of the Batch request GData structure to hold the HTTP response of the subscription request. 0Data structure to hold the Template information.'This contains the template name and ID.bData structure to hold the HTTP response of the request to list the mailing-lists in the account.cData structure to hold the HTTP response of the request to list the subscribers in a mailing-list.!6Structure to hold the list of recipients of a Campaign#"Settings for the Campaign creationoThis includes the basic properties of the Campaign, like subject_line, title, from_name, and reply_to address.)&JSON structure to construct a Campaign This takes a  campaign_type(, which accepts these possible values; !regular, plaintext, absplit, rss, and variate. .-List of parameters to the URL in HTTP request1:JSON structure to contain the Batch operation information.For GET requests, o_param9 should be given the list of values. For POST requests, o_bodyE should be given the String representation of the encoded JSON data.7#JSON structure for Batch oprations.:!Constructor to build the EmailId.; from email address of the member<$from unique ID provided by Mailchimp=1from emailID of the member in the particular list>0JSON structure containing a single subscription.This structure includes the email_address, email_type, and status( to be shown in the member's profile.  email_type$ accepts the two values; html / textN  !"#$%&'()*+,-./0123456789:;<=>?@ABOPQRSTUVWXYZ[\]^>  !"#$%&'()*+,-./0123456789:;<=>?@AB>>?@AB:;<=789123456./0)*+,-#$%&'(!"     !"#$%&'()*+,-./0123456789:;<=>?@ABOPQRSTUVWXYZ[\]^BSD3 %Dananji Liyanage <dan9131@gmail.com>  experimental None C Takes an apiKeyH of a Mailchimp account, and gives all the mailing-lists in the account.=This function lists the mailing lists in a particular accountD Takes an apiKey! of the Mailchimp account, and a listName/. Retrieves all the members in the given list.ORequest URL specifies which data to be returned from the response. They are, 3email_address, unique_email_id, email_type, list_id, and status! for each member in the reponse.1This function lists subscribers in a mailing listETaking apiKey,  listName,  emailAddress,  emailType, and  memberStatuse as input parameters in the given order, this function creates and add the member to the given list./This function adds a new member to a given listF Giving an apiKey,  emailAddress, and listName¦ which the member belongs to, this function unsubscribe the member from the list. This function does not deletes the particular user profile from the mailing-list.0This function removes a member from a given listG*Input parameters for this function is the apiKey of the Mailchimp account.9This function retrieves all the templates in the account.H Taking the apiKeyP of a Mailchimp account, this function returns all the stored unsent Campaigns.7This function returns all the Campaigns in the account.IGUsage of this function to create a new Campaign and save is as follows;createCampaign BapiKey listName replyTo fromName cType title subject -> campaignID1This function creates a new campaign and save it J'Input parameters for this function are apiKey and the  campaignID( of the particular Campaign to be sent.%This function sends an email campaignKIEfficiently processes a batch subscription requests for a given list of  emailAddress and subscriptionStatus combinations.UThis function can be re-implemented to perform other batch requests by changing the body and path properties of  Operation data structure.)This function adds a batch of subscribers_)Build the response from URL and JSON data`?Construct the erroneous HTTP responses when an exception occursaConstruct the end-point URLb#Utility function to split strings CDEFGHIJKc_def`ab CDEFGHIJK CDEFGHIJKCDEFGHIJKc_def`abg        !!"#$%&&'()**+,,-./011234567789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_Mailc_7TZBMCxIRqiDIh23iPzTTY Utils.Logger Utils.TypesMailchimpSimple LogLevelsERRORDEBUGINFOwriteLogBatchSubscriptionResponseb_idb_statusSubscriptionResponseemaileuidstatuslnameSendMailResponsecompleteTemplateResponset_namet_idMailListResponsel_namel_idListSubscribersResponsels_namels_euid ls_list_name ls_emailType ls_status ReceipientListIDSettings s_subjects_title s_from_name s_reply_toCampaignc_type c_settings c_receipientsParamsparams Operationo_methodo_patho_paramso_bodyBatch operationsEmailIdEmail EmailUniqueId ListEmailId Subscriptions_email s_email_types_statuslistMailingListslistSubscribers addSubscriberremoveSubscriber getTemplates getCampaignscreateCampaign sendEmailbatchSubscribeLoggerLogEntrytoString#$fFromJSONBatchSubscriptionResponse$fFromJSONSubscriptionResponse$fFromJSONSendMailResponse$fFromJSONTemplateResponse$fFromJSONMailListResponse!$fFromJSONListSubscribersResponse$fToJSONReceipient$fToJSONSettings$fToJSONCampaign$fToJSONParams$fToJSONOperation $fToJSONBatch$fFromJSONEmailId$fToJSONEmailId$fToJSONSubscription$fFromJSONSubscription processGET getResponse endPointUrl splitString getListID processPOSTprocessEmptyPOST processDELETE