<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Ok it is working now. Thanks in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/api-request-common-js-error-when-try-it-on-web-services/m-p/1118252#M74941</link>
    <description>&lt;P&gt;Ok it is working now. Thanks&lt;/P&gt;</description>
    <pubDate>Thu, 05 May 2016 06:45:27 GMT</pubDate>
    <dc:creator>Yetiskan_E_</dc:creator>
    <dc:date>2016-05-05T06:45:27Z</dc:date>
    <item>
      <title>api-request-common.js error when try it on web services</title>
      <link>https://community.intel.com/t5/Software-Archive/api-request-common-js-error-when-try-it-on-web-services/m-p/1118248#M74937</link>
      <description>&lt;P&gt;I think there is a problem on latest version as there is no problem on version 1621 but 2366,2893 and 3240 versions have same problem as it gives&amp;nbsp;&lt;SPAN style="color: rgb(84, 84, 84); font-family: arial, sans-serif; font-size: small; line-height: 18.2px;"&gt;58889/http&lt;/SPAN&gt;&lt;WBR style="color: rgb(84, 84, 84); font-family: arial, sans-serif; font-size: small; line-height: 18.2px;" /&gt;&lt;SPAN style="color: rgb(84, 84, 84); font-family: arial, sans-serif; font-size: small; line-height: 18.2px;"&gt;-services/api-explorer/iodocs/&lt;/SPAN&gt;&lt;SPAN style="font-weight: bold; color: rgb(106, 106, 106); font-family: arial, sans-serif; font-size: small; line-height: 18.2px;"&gt;api&lt;/SPAN&gt;&lt;SPAN style="color: rgb(84, 84, 84); font-family: arial, sans-serif; font-size: small; line-height: 18.2px;"&gt;-&lt;/SPAN&gt;&lt;SPAN style="font-weight: bold; color: rgb(106, 106, 106); font-family: arial, sans-serif; font-size: small; line-height: 18.2px;"&gt;request&lt;/SPAN&gt;&lt;SPAN style="color: rgb(84, 84, 84); font-family: arial, sans-serif; font-size: small; line-height: 18.2px;"&gt;-&lt;/SPAN&gt;&lt;SPAN style="font-weight: bold; color: rgb(106, 106, 106); font-family: arial, sans-serif; font-size: small; line-height: 18.2px;"&gt;common&lt;/SPAN&gt;&lt;SPAN style="color: rgb(84, 84, 84); font-family: arial, sans-serif; font-size: small; line-height: 18.2px;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="font-weight: bold; color: rgb(106, 106, 106); font-family: arial, sans-serif; font-size: small; line-height: 18.2px;"&gt;js sysntax error for below line &lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-weight: bold; color: rgb(106, 106, 106); font-family: arial, sans-serif; font-size: small; line-height: 18.2px;"&gt;"&lt;/SPAN&gt;});)(intel.xdk.services.credentials.EventBrite,intel.xdk.services.iodocs_.helpers);&lt;SPAN style="font-weight: bold; color: rgb(106, 106, 106); font-family: arial, sans-serif; font-size: small; line-height: 18.2px;"&gt;"&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;And it should be "}))(intel.xdk.services.credentials.EventBrite,intel.xdk.services.iodocs_.helpers);".&lt;/P&gt;

&lt;P&gt;How should I change it?&lt;/P&gt;</description>
      <pubDate>Wed, 04 May 2016 14:12:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/api-request-common-js-error-when-try-it-on-web-services/m-p/1118248#M74937</guid>
      <dc:creator>Yetiskan_E_</dc:creator>
      <dc:date>2016-05-04T14:12:45Z</dc:date>
    </item>
    <item>
      <title>Error is below:</title>
      <link>https://community.intel.com/t5/Software-Archive/api-request-common-js-error-when-try-it-on-web-services/m-p/1118249#M74938</link>
      <description>&lt;P&gt;Error is below:&lt;/P&gt;

&lt;P&gt;Uncaught SyntaxError: Unexpected token ;&amp;nbsp;api-request-common.js:2982&lt;/P&gt;

&lt;P&gt;Generated file is :&lt;/P&gt;

&lt;P&gt;&lt;BR /&gt;
	var intel;&lt;BR /&gt;
	if (!intel) intel = {};&lt;BR /&gt;
	if (typeof intel !== "object") throw new Error("Unexpected use of intelnamespace");&lt;BR /&gt;
	if (!intel.xdk) intel.xdk = {};&lt;BR /&gt;
	if (typeof intel.xdk !== "object") throw new Error("Unexpected use of intel.xdknamespace");&lt;BR /&gt;
	if (!intel.xdk.services) intel.xdk.services = {};&lt;BR /&gt;
	if (typeof intel.xdk.services !== "object") throw new Error("Unexpected use of intel.xdk.servicesnamespace");&lt;BR /&gt;
	intel.xdk.services.iodocs_ = (function () {&lt;BR /&gt;
	/**&lt;BR /&gt;
	&amp;nbsp;* @license Copyright 2013 - 2014 Intel Corporation All Rights Reserved.&lt;BR /&gt;
	&amp;nbsp;*&lt;BR /&gt;
	&amp;nbsp;* The source code, information and material ("Material") contained herein is owned by Intel Corporation or its&lt;BR /&gt;
	&amp;nbsp;* suppliers or licensors, and title to such Material remains with Intel Corporation or its suppliers or&lt;BR /&gt;
	&amp;nbsp;* licensors. The Material contains proprietary information of Intel or its suppliers and licensors. The&lt;BR /&gt;
	&amp;nbsp;* Material is protected by worldwide copyright laws and treaty provisions. No part of the Material may be used,&lt;BR /&gt;
	&amp;nbsp;* copied, reproduced, modified, published, uploaded, posted, transmitted, distributed or disclosed in any way&lt;BR /&gt;
	&amp;nbsp;* without Intel's prior express written permission. No license under any patent, copyright or other intellectual&lt;BR /&gt;
	&amp;nbsp;* property rights in the Material is granted to or conferred upon you, either expressly, by implication,&lt;BR /&gt;
	&amp;nbsp;* inducement, estoppel or otherwise. Any license under such intellectual property rights must be express and&lt;BR /&gt;
	&amp;nbsp;* approved by Intel in writing.&lt;BR /&gt;
	&amp;nbsp;*&lt;BR /&gt;
	&amp;nbsp;* Unless otherwise agreed by Intel in writing, you may not remove or alter this notice or any other notice&lt;BR /&gt;
	&amp;nbsp;* embedded in Materials by Intel or Intel's suppliers or licensors in any way.&lt;BR /&gt;
	&amp;nbsp;*/&lt;/P&gt;

&lt;P&gt;/* global X2JS */&lt;/P&gt;

&lt;P&gt;/* This file contains helper functions for all api-requests (i.e., data bindings) */&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /* Merge the second argument into the first, return the first. A simple version of _.extend() */&lt;BR /&gt;
	&amp;nbsp; exports.mergeParams = function (params, runtimeParams) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; runtimeParams = runtimeParams || {};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; for (var p in runtimeParams) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; if (Object.prototype.hasOwnProperty.call(runtimeParams, p)) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params&lt;/P&gt;&lt;P&gt; = runtimeParams&lt;/P&gt;&lt;P&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; for (p in params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; if(params&lt;/P&gt;&lt;P&gt; === '') {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; delete params&lt;/P&gt;&lt;P&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return params;&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /* Invoke the given common function, run checks on the result, and run a filter function if provided */&lt;BR /&gt;
	&amp;nbsp; exports.bindCommon = function (functionName, commonFunc, params, runtimeParams) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; /*&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;* Pull xdkFilter from runtimeParams, otherwise the filter function may run before&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;* the data is returned, which could cause any number of problems&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var filterFunc;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (runtimeParams &amp;amp;&amp;amp; typeof runtimeParams.xdkFilter === 'function') {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; filterFunc = runtimeParams.xdkFilter;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; delete runtimeParams.xdkFilter;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var p = commonFunc(exports.mergeParams(params, runtimeParams));&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return p.then(function (data, status, xhr) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var finalData = data;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; /* If the returned data is XML, convert it to JSON before sending out */&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; if ($.isXMLDoc(data)) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var x2j = new X2JS();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; finalData = x2j.xml2json(data);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; finalData.xml2json = true;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; /* If the user passes a filter function, run that filter before returning the response */&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; if (filterFunc) finalData = filterFunc(finalData);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; $(document).trigger(functionName, [finalData, status, xhr]);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return finalData;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.helpers = {};&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /* checks if url for OAuth flow ends with ? */&lt;BR /&gt;
	&amp;nbsp; function urlChecker(url){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (url.substr(-1) !== '?') url = url.concat('?');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return url;&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /* OAuth 2.0 */&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /**&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;* Launches window to input user credential for authentication&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;* If already authenticated, then opens and closes window to get code/access_token&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;* @param {object} url String containing url used for authentication&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;* @param {object} params Object containing parameters passed along with url to authenticate (e.g. client_id, client_secret, etc)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;* @param {string} mode Determines the oauth mode (authCode, implicit, etc)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;*/&lt;BR /&gt;
	&amp;nbsp; function doOAuth2_(url, params, mode){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var d = $.Deferred();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = urlChecker(url) + $.param(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var l = params.redirect_uri.length;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var authWindow = window.open(completeUrl, '_blank', 'location=yes');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; /* services tab */&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; $(document).on('OAuthSuccess', function(e){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; //OAuthSuccess event tells us we're at the redirect_uri, so no need to check&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; if (mode === 'authCode'){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var results = {};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var code, error;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (e.originalEvent.detail.result.code){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; code = e.originalEvent.detail.result.code;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (e.originalEvent.detail.result.error){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; error = e.originalEvent.detail.result.error;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (code) results.code = code; //oauth2Callback sends the query string, so no need to parse the url&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (error) results.error = error;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $(document).off('OAuthSuccess');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; authWindow.close();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; d.resolve(results);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (mode === 'implicit'){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var token = /access_token=([^&amp;amp;]+)/.exec(e.originalEvent.detail.hash);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (token) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $(document).off('OAuthSuccess');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; authWindow.close();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; d.resolve(token[1]);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; /* emulator and device */&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; $(authWindow).on('loadstart', function(e){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var authUrl = e.originalEvent.url;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; if (authUrl.substring(0, l) === params.redirect_uri) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (mode === 'authCode'){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var results = {};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var code = /\?code=(.+)(?=&amp;amp;)|\?code=(.+)(?=#)|\?code=(.+)$/.exec(e.originalEvent.url);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (code) results.code = code[1]||code[2]||code[3];&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; results.error = /\?error=(.+)$/.exec(e.originalEvent.url);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $(authWindow).off('loadstart');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; authWindow.close();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; d.resolve(results);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (mode === 'implicit'){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var hash = /access_token=([^&amp;amp;]+)/.exec(e.originalEvent.url);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (hash) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $(authWindow).off('loadstart');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; authWindow.close();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; d.resolve(hash[1]);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return d.promise();&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /**&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;* Achieve authentication using authorization code OAuth2.0&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;* @param {object} url Object containing urls used for authentication&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;* @param {object} params Object containing parameters passed along with url to authenticate (e.g. client_id, client_secret, etc)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;*&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;* @returns {string} Access token used in OAuth 2.0&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;*/&lt;BR /&gt;
	&amp;nbsp; exports.helpers.oauth2AuthCode = function (url, params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return doOAuth2_(url.codeUrl, params.code, 'authCode')&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(e){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; if (e.code){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var tokenParams = {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; code: encodeURIComponent(e.code),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client_id: params.code.client_id,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client_secret: params.token.client_secret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; redirect_uri: params.code.redirect_uri,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; grant_type: 'authorization_code'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $.ajax({ //returns response containing access_token&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; url: url.tokenUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'POST',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; contentType: 'application/x-www-form-urlencoded',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data: tokenParams,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Accept : 'application/json'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var d = $.Deferred();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; d.reject(e.error);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return d.promise();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /**&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;* Achieve authentication using implicit OAuth2.0&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;* @param {object} url String containing url used for authentication&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;* @param {object} params Object containing parameters passed along with url to authenticate (e.g. client_id, client_secret, etc)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;*&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;* @returns {string} Access token used in OAuth 2.0&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;*/&lt;BR /&gt;
	&amp;nbsp; exports.helpers.oauth2Implicit = function(url, params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return doOAuth2_(url, params, 'implicit');&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /**&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;* Achieve authentication using client credential OAuth2.0&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;* @param {object} url String containing urls used for authentication&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;* @param {object} params Object containing parameters passed along with url to authenticate (e.g. client_id, client_secret, etc)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;*&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;* @returns {string} Access token used in OAuth 2.0&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;*/&lt;BR /&gt;
	&amp;nbsp; exports.helpers.oauth2CC = function(url, params, header){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var d = $.Deferred();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: urlChecker(url) + $.param(params),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'POST',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; contentType: 'application/x-www-form-urlencoded;charset=UTF-8',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Authorization': header&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; data: 'grant_type=client_credentials',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; d.resolve(response);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return d.promise();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; return exports;&lt;BR /&gt;
	})();;&lt;BR /&gt;
	intel.xdk.services.iodocs_.usatoday = ((function (credentials) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp; var baseUrl = 'http://api.usatoday.com/open/';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function getCensusData(path, params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = params || {};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = baseUrl + 'census/' + path + '?api_key=' + credentials.apiKey + '&amp;amp;' + $.param(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url});&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.getLocations = getCensusData.bind(null, 'locations');&lt;BR /&gt;
	&amp;nbsp; exports.getEthnicity = getCensusData.bind(null, 'ethnicity');&lt;BR /&gt;
	&amp;nbsp; exports.getHousing = getCensusData.bind(null, 'housing');&lt;BR /&gt;
	&amp;nbsp; exports.getPopulation = getCensusData.bind(null, 'population');&lt;BR /&gt;
	&amp;nbsp; exports.getRace = getCensusData.bind(null, 'race');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.usatoday,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.klout = ((function (credentials) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp; var baseUrl = 'http://api.klout.com/v2/';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function getId(path, params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = params || {};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var substring = '/' + params.Id + '?';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if(params.screenName) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; substring = '?' + 'screenName=' + params.screenName + '&amp;amp;';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if(params.KId) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; substring = '/' + params.KId + '/tw?';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = baseUrl + 'identity.json/' + path + substring + 'key=' + credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url});&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function getUser(path, params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = params || {};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (path) {path = '/' + path; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = baseUrl + 'user.json/' + params.kloutId + &amp;nbsp;path + '?key=' + credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url});&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.getIdByTwitterId = getId.bind(null, 'tw');&lt;BR /&gt;
	&amp;nbsp; exports.getIdByGoogle = getId.bind(null, 'gp');&lt;BR /&gt;
	&amp;nbsp; exports.getIdByInstagram = getId.bind(null, 'ig');&lt;BR /&gt;
	&amp;nbsp; exports.getIdByTwitterName = getId.bind(null, 'twitter');&lt;BR /&gt;
	&amp;nbsp; exports.getTwitterIdByKloutId = getId.bind(null, 'klout');&lt;BR /&gt;
	&amp;nbsp; exports.showUser = getUser.bind(null, '');&lt;BR /&gt;
	&amp;nbsp; exports.Score = getUser.bind(null, 'score');&lt;BR /&gt;
	&amp;nbsp; exports.Topics = getUser.bind(null, 'topics');&lt;BR /&gt;
	&amp;nbsp; exports.Influence = getUser.bind(null, 'influence');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.klout,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.sandbox = ((function (credentials) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp; exports.GET = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = params.URL ;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url});&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; exports.POST = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = params.URL ;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url, type : 'POST'});&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.sandbox,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.rottentomatoes = ((function (credentials) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp; var baseUrl = 'http://api.rottentomatoes.com/api/public/v1.0/';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; function getList(path, params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = params || {};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params.apiKey = credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = baseUrl + path + '.json?' + $.param(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url, dataType: "json"});&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function getDetailedInfo(path, params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = params || {};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params.apiKey = credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = baseUrl + 'movies/' + params.id + path + '.json?';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var params_temp = {};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; for (var prop in params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; if((prop!='id') &amp;amp;&amp;amp; Object.prototype.hasOwnProperty.call(params,prop)){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params_temp[prop] = params[prop]; &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; url = url + $.param(params_temp);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url, dataType: "json"});&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.box_office = getList.bind(null, 'lists/movies/box_office');&lt;BR /&gt;
	&amp;nbsp; exports.in_theatres = getList.bind(null, 'lists/movies/in_theaters');&lt;BR /&gt;
	&amp;nbsp; exports.opening = getList.bind(null, 'lists/movies/opening');&lt;BR /&gt;
	&amp;nbsp; exports.upcoming = getList.bind(null, 'lists/movies/upcoming');&lt;BR /&gt;
	&amp;nbsp; exports.top_rentals = getList.bind(null, 'lists/dvds/top_rentals');&lt;BR /&gt;
	&amp;nbsp; exports.current_releases = getList.bind(null, 'lists/dvds/current_releases');&lt;BR /&gt;
	&amp;nbsp; exports.new_releases = getList.bind(null, 'lists/dvds/new_releases');&lt;BR /&gt;
	&amp;nbsp; exports.upcomingDVD = getList.bind(null, 'lists/dvds/upcoming');&lt;BR /&gt;
	&amp;nbsp; exports.movie_info = getDetailedInfo.bind(null,'');&lt;BR /&gt;
	&amp;nbsp; exports.cast_info = getDetailedInfo.bind(null, '/cast');&lt;BR /&gt;
	&amp;nbsp; exports.movie_clips = getDetailedInfo.bind(null, '/clips');&lt;BR /&gt;
	&amp;nbsp; exports.movie_reviews = getDetailedInfo.bind(null, '/reviews');&lt;BR /&gt;
	&amp;nbsp; exports.movie_similar = getDetailedInfo.bind(null, '/similar');&lt;BR /&gt;
	&amp;nbsp; exports.movie_alias = getList.bind(null, 'movie_alias');&lt;BR /&gt;
	&amp;nbsp; exports.search = getList.bind(null, 'movies');&lt;BR /&gt;
	&amp;nbsp; exports.listsDirectory = getList.bind(null, '');&lt;BR /&gt;
	&amp;nbsp; exports.movieListsDirectory = getList.bind(null, 'lists/movies');&lt;BR /&gt;
	&amp;nbsp; exports.dvdListsDirectory = getList.bind(null, 'lists/dvds');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.rottentomatoes,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.googleplaces = ((function (credentials) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp; var baseUrl = 'https://maps.googleapis.com/maps/api/place/';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function getPlaceData(path, params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = params || {};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = baseUrl + path + '/json?key=' + credentials.apiKey + '&amp;amp;sensor=false&amp;amp;' + $.param(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url});&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.placeSearch = getPlaceData.bind(null, 'nearbysearch');&lt;BR /&gt;
	&amp;nbsp; exports.textSearch = getPlaceData.bind(null, 'textsearch');&lt;BR /&gt;
	&amp;nbsp; exports.radarSearch = getPlaceData.bind(null, 'radarsearch');&lt;BR /&gt;
	&amp;nbsp; exports.placeDetails = getPlaceData.bind(null, 'details');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.googleplaces,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.wunderground = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; 'use strict';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; var API = 'https://api.wunderground.com/api';&lt;BR /&gt;
	&amp;nbsp; var WU_SETTINGS = ['lang','pws','bestfct'];&lt;/P&gt;

&lt;P&gt;&amp;nbsp; // get a WU API URI from a method name and parameters&lt;BR /&gt;
	&amp;nbsp; var wu_uri = function(method, params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var key = credentials.apiKey;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; // history and planner methods optionally have a date (method_YYYYMMDD)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var method = params.date ? (method + '_' + params.date) : method;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var location = params.query;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var settings = WU_SETTINGS.reduce(function(memo, setting) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var val = params[setting];&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if (val !== undefined &amp;amp;&amp;amp; val !== '1') { // pws, bestfct default to 1&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; memo += (setting + ':' + val) + '/';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return memo;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }, '/');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return API + '/' + key + '/' + method + settings + 'q/' + location + '.json';&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; // get WU API data from a method name and parameters&lt;BR /&gt;
	&amp;nbsp; var wu_ajax = function(method, params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: wu_uri(method, params)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; return [&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; 'alerts', 'almanac', 'astronomy', 'conditions', 'currenthurricane',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; 'forecast', 'forecast10day', 'geolookup', 'hourly', 'hourly10day',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; 'rawtide', 'tide', 'webcams', 'yesterday', 'history', 'planner'&lt;BR /&gt;
	&amp;nbsp; ].reduce(function(exports, method) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; exports[method] = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return wu_ajax(method, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return exports;&lt;BR /&gt;
	&amp;nbsp; }, {});&lt;/P&gt;

&lt;P&gt;})&lt;BR /&gt;
	)(intel.xdk.services.credentials.wunderground,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.spotify = ((function (credentials) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function jsonCleaner(x) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var type = typeof x;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (x instanceof Array) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type = 'array';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if ((type == 'array') || (type == 'object')) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; for (k in x) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var v = x&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((v === '') &amp;amp;&amp;amp; (type == 'object')) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; delete x&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jsonCleaner(v);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return x;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; }&lt;/K&gt;&lt;/K&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; var searchURL = 'https://api.spotify.com/v1/';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function getSearchData(path, params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = searchURL + path + "?" + $.param(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url});&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function getSpecificData(path, params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = searchURL + path + "/" + params.id;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url});&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.search = getSearchData.bind(null, "search");&lt;BR /&gt;
	&amp;nbsp; exports.lookupArtist = getSpecificData.bind(null, "artists");&lt;BR /&gt;
	&amp;nbsp; exports.lookupAlbum = getSpecificData.bind(null, "albums");&lt;BR /&gt;
	&amp;nbsp; exports.lookupTrack = getSpecificData.bind(null, "tracks");&lt;/P&gt;

&lt;P&gt;&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.spotify,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.itunes = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; 'use strict';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; var ITUNES = 'https://itunes.apple.com/search?';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; return {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; search: function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; url: ITUNES + $.param(params)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;})&lt;BR /&gt;
	)(intel.xdk.services.credentials.itunes,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.flickr = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; var exports = {photos:{}, people:{}, galleries:{}, interestingness:{}, photosets:{}};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var utils = {};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; utils.sprintf = function(format, etc)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var arg = arguments;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var i = 1;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return format.replace(/%((%)|s)/g, function (m) { return m[2] || arg[i++] ;});&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; function jsonCleaner(x)&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var type = typeof x;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (x instanceof Array) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type = 'array';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((type == 'array') || (type == 'object')) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (var k in x) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var v = x&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((v === '') &amp;amp;&amp;amp; (type == 'object')) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; delete x&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jsonCleaner(v);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return x;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; /*&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;photo_object&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Object&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; farm: 3&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; id: "14427316793"&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; isfamily: 0&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; isfriend: 0&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ispublic: 1&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; owner: "62591523@N08"&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; secret: "e5d42a9a0d"&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; server: "2933"&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; title: "cat"&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; */&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; function construct_url(photo_obj)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //https://farm{farm-id}.staticflickr.com/{server-id}/{id}_{secret}.jpg&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var template = "https://farm%s.staticflickr.com/%s/%s_%s.jpg";&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return utils.sprintf(template, photo_obj.farm, photo_obj.server, photo_obj.id, photo_obj.secret); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; function get_method_call(method_name, append_url)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return function(params)&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var url = 'https://api.flickr.com/services/rest/';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params.method = "flickr." + method_name;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params.api_key = credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params.format = "json";&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (params) url = url + '?' + $.param(jsonCleaner(params));&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var promise = &amp;nbsp;$.ajax({url: url, type: 'GET', dataType:'jsonp', jsonp:'jsoncallback'});&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(append_url)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return promise.then(function(data)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //data.photos.photo[ {photoObj}...]&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var photo_obj = data[append_url];&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $.each(photo_obj.photo, function(index, photo_obj)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;photo_obj.url = construct_url(photo_obj);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;});&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return data;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return promise;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.photos_search &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = get_method_call("photos.search", "photos");&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.people_getPublicPhotos &amp;nbsp; &amp;nbsp;= get_method_call("people.getPublicPhotos", "photos");&lt;BR /&gt;
	&amp;nbsp; exports.people_getPhotosOf &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= get_method_call("people.getPhotosOf", "photos");&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.galleries_getPhotos &amp;nbsp; &amp;nbsp; &amp;nbsp; = get_method_call("galleries.getPhotos", true);&lt;BR /&gt;
	&amp;nbsp; exports.galleries_getListForPhoto = get_method_call("galleries.getListForPhoto", false);&lt;BR /&gt;
	&amp;nbsp; exports.galleries_getList &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = get_method_call("galleries.getList", false);&lt;BR /&gt;
	&amp;nbsp; exports.galleries_getInfo &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = get_method_call("galleries.getInfo", false);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.interestingness_getList &amp;nbsp; = get_method_call("interestingness.getList", "photos");&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.photosets_getPhotos &amp;nbsp; &amp;nbsp; &amp;nbsp; = get_method_call("photosets.getPhotos", "photoset");&lt;BR /&gt;
	&amp;nbsp; exports.photosets_getList &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = get_method_call("photosets.getList", false);&lt;BR /&gt;
	&amp;nbsp; exports.photosets_getInfo &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = get_method_call("photosets.getInfo", false);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.flickr,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.foursquare = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; /* helper functions */&lt;BR /&gt;
	&amp;nbsp; function jsonCleaner(x) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var type = typeof x;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (x instanceof Array) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type = 'array';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if ((type == 'array') || (type == 'object')) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; for (k in x) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var v = x&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((v === '') &amp;amp;&amp;amp; (type == 'object')) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; delete x&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jsonCleaner(v);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return x;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; function currentDate(){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; // var d = new Date();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; // var m = d.getMonth()+1;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; // var day = d.getDate();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; // if(m &amp;lt; 10) m = '0'.concat(m);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; // if(day&amp;lt;10) day = '0'.concat(day);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; // return d.getFullYear() + '' + m + '' + day;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return '20150101';&lt;BR /&gt;
	&amp;nbsp; }&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function getToken() {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var db = window.localStorage;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return db.getItem('foursquare_access_token');&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function showError(message){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; console.log(message);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return message;&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; /* Authentication */&lt;BR /&gt;
	&amp;nbsp; exports.authenticate = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = {codeUrl: 'https://foursquare.com/oauth2/authenticate?',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tokenUrl: 'https://foursquare.com/oauth2/access_token?'};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = {code: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; redirect_uri: params.redirect_uri,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; response_type: params.response_type&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;},&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;token: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; grant_type: 'authorization_code'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return helpers.oauth2AuthCode(url, urlParams)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(token){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var db = window.localStorage;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; db.setItem('foursquare_access_token', token);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return token;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; /* Users */&lt;BR /&gt;
	&amp;nbsp; exports.user = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/users/' + params.USER_ID + '?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(user){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return user;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.userLeaderboard = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/users/leaderboard?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(leaderboard){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return leaderboard;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.userRequests = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/users/requests?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(requests){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return requests;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.userSearch = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/users/search?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(leaderboard){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return leaderboard;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.userBadges = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/users/' + params.USER_ID + '/badges?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(user){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return user;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.userCheckins = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/users/' + params.USER_ID + '/checkins?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(user){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return user;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.userFriends = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/users/' + params.USER_ID + '/friends?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(user){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return user;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.userLists = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/users/' + params.USER_ID + '/lists?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(user){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return user;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.userMayorships = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/users/' + params.USER_ID + '/mayorships?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(user){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return user;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.userPhotos = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/users/' + params.USER_ID + '/photos?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(user){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return user;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.userVenueHistory = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/users/' + params.USER_ID + '/venuehistory?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(user){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return user;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.userApprove = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/users/' + params.USER_ID + '/approve?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'POST'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(user){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return user;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.userDeny = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/users/' + params.USER_ID + '/deny?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'POST'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(user){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return user;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.userSetPings = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/users/' + params.USER_ID + '/setpings?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'POST'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(user){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return user;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.userUnfriend = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/users/' + params.USER_ID + '/unfriend?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'POST'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(user){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return user;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.userUpdate = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/users/' + params.USER_ID + '/update?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'POST'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(user){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return user;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; /* Venue */&lt;BR /&gt;
	&amp;nbsp; exports.venueDetail = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/venues/' + params.venue_id + '?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(venue){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return venue;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.venueCategories = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/venues/categories?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(venue){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return venue;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.venueExplore = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/venues/explore?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(venue){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return venue;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.venueSearch = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/venues/search?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(venue){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return venue;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /* Checkins */&lt;BR /&gt;
	&amp;nbsp; exports.checkin = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/checkins/' + params.checkin_id + '?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(venue){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return venue;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.checkinAdd = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/checkins/add?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(venue){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return venue;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /* Events */&lt;BR /&gt;
	&amp;nbsp; exports.events = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({},{client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_token: token,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v:currentDate(),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m:'foursquare'}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.foursquare.com/v2/events/' + params.event_id + '?' + $.param(urlParams),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(venue){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return venue;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.foursquare,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.MarkitOnDemand = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; function get_method_call(method_name)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return function(params)&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var url = 'http://dev.markitondemand.com/Api/v2/' + method_name + '/json';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (params) url = url + '?' + $.param(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $.ajax({url: url, type: 'GET', dataType:'json'});&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.Lookup &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = get_method_call('Lookup');&lt;BR /&gt;
	&amp;nbsp; exports.Quote &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= get_method_call('Quote');&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.MarkitOnDemand,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.forecast = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; 'use strict';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; var FORECAST = 'https://api.forecast.io';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; var forecast_url = function(method, params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return FORECAST + '/' + method + '/' + credentials.apiKey + '/' +&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; params.latitude + ',' + params.longitude + (params.time ? (',' + params.time) : '');&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; return {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; forecast: function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; url: forecast_url('forecast', params)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;})&lt;BR /&gt;
	)(intel.xdk.services.credentials.forecast,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.woot = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; 'use strict';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; var WOOT = 'https://api.woot.com/2';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; var woot_uri = function(method, params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var extra = '';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; if (method === 'offers') {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; extra = '/' + params.id;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; delete params.id;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return WOOT + '/' + method + extra + '.json?key=' + credentials.apiKey + '&amp;amp;' + $.param(params);&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; var woot_ajax = function(method, params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: woot_uri(method, params)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; return [&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; 'events', 'offers', 'monkeychats', 'polls', 'wootcasts'&lt;BR /&gt;
	&amp;nbsp; ].reduce(function(exports, method) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; exports[method] = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return woot_ajax(method, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return exports;&lt;BR /&gt;
	&amp;nbsp; }, {});&lt;/P&gt;

&lt;P&gt;})&lt;BR /&gt;
	)(intel.xdk.services.credentials.woot,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.instagram = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function getToken() {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var db = window.localStorage;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return db.getItem('instagram_access_token');&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function showError(message){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; console.log(message);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return message;&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /* Users */&lt;BR /&gt;
	&amp;nbsp; exports.authenticate = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://instagram.com/oauth/authorize/?';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var param = {client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;redirect_uri: params.redirect_uri,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;response_type: params.response_type};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return helpers.oauth2Implicit(url, param)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(token){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var db = window.localStorage;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; db.setItem('instagram_access_token', token);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return token;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.user = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.instagram.com/v1/users/' + params.userId + '?' + &amp;nbsp;$.param(urlParams);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.userFeed = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.instagram.com/v1/users/self/feed?' + $.param(urlParams);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(feed){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return feed;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.userRecent = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.instagram.com/v1/users/' + params.userId + '/media/recent?' + $.param(urlParams);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(feed){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return feed;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.userLiked = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.instagram.com/v1/users/self/media/liked?' + $.param(urlParams);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(feed){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return feed;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.userSearch = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.instagram.com/v1/users/search?' + $.param(urlParams);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /* Relationships */&lt;BR /&gt;
	&amp;nbsp; exports.userFollows = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.instagram.com/v1/users/' + params.userId + '/follows?' + $.param(urlParams);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(feed){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return feed;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.userFollowedBy = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.instagram.com/v1/users/' + params.userId + '/followed-by?' + $.param(urlParams);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(feed){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return feed;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.userRequestedBy = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.instagram.com/v1/users/self/requested-by?' + $.param(urlParams);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(feed){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return feed;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.userRelationship = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.instagram.com/v1/users/' + params.userId + '/relationship?' + $.param(urlParams);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(feed){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return feed;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /* Media */&lt;BR /&gt;
	&amp;nbsp; exports.media = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.instagram.com/v1/media/' + params.mediaId + '?' + $.param(urlParams);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(feed){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return feed;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.mediaSearch = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.instagram.com/v1/media/search?' + $.param(urlParams);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(feed){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return feed;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.mediaPopular = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.instagram.com/v1/media/popular?' + $.param(urlParams);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(feed){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return feed;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /* Comments */&lt;BR /&gt;
	&amp;nbsp; exports.mediaComments = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.instagram.com/v1/media/' + params.mediaId + '/comments?' + $.param(urlParams);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; /* Likes */&lt;BR /&gt;
	&amp;nbsp; exports.mediaLikes = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.instagram.com/v1/media/' + params.mediaId + '/likes?' + $.param(urlParams);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; /* Tags */&lt;BR /&gt;
	&amp;nbsp; exports.tag = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.instagram.com/v1/tags/' + params.tagName + '?' + $.param(urlParams);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.tagRecent = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.instagram.com/v1/tags/' + params.tagName + '/media/recent?' + $.param(urlParams);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.tagSearch = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.instagram.com/v1/tags/search?' + $.param(urlParams);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /* Locations */&lt;BR /&gt;
	&amp;nbsp; exports.location = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.instagram.com/v1/locations/' + params.locationId + '?' + $.param(urlParams);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.locationRecent = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.instagram.com/v1/locations/' + params.locationId + '/media/recent?' + $.param(urlParams);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.locationSearch = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.instagram.com/v1/locations/search?' + $.param(urlParams);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /* Geographies */&lt;BR /&gt;
	&amp;nbsp; exports.geoRecent = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.instagram.com/v1/geographies/' + params.geoId + '/media/recent?' + $.param(urlParams);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.instagram,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.google_analytics = ((function (credentials) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; function init() {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i&lt;R&gt;=i&lt;R&gt;||function(){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; (i&lt;R&gt;.q=i&lt;R&gt;.q||[]).push(arguments)},i&lt;R&gt;.l=1*new Date();a=s.createElement(o),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })(window,document,'script','//www.google-analytics.com/analytics.js','ga');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; ga('create', credentials.apiKey, 'auto');&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.trackPageView = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; init();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var d = $.Deferred();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; if (params.Location) ga('set','location', params.Location);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; if (params.Page) ga('set','page', params.Page);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; if (params.Title) ga('set','title', params.Title);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; ga('send', 'pageview');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; d.resolve('Pageview sent!');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return d.promise();&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; exports.trackEvent = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; init();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var d = $.Deferred();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (params.Label) ga('set','eventLabel', params.Label);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (params.Value) ga('set','eventValue', params.Value);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ga('send', 'event', params.Category, params.Action);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; d.resolve('Check your analytics account');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return d.promise();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; };&lt;/R&gt;&lt;/R&gt;&lt;/R&gt;&lt;/R&gt;&lt;/R&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.google_analytics,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.kinvey = ((function (credentials) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp; var isInit;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /*Only Init*/&lt;BR /&gt;
	&amp;nbsp; function kinveyInit() {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if(isInit) return emptyPromise();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return kinveyToJqueryProm(Kinvey.init.bind(Kinvey,{appKey : credentials.apiKey, appSecret: credentials.apiSecret}))&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function (result) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; if(result) {isInit = true;}&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return result || {result: null};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function (err) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; isInit = false&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.name + ' : ' + err.description + '\n' + err.debug;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; function emptyPromise(){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var deferred = $.Deferred();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; deferred.resolve();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return deferred.promise();&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; /*Init and then do the passed function. isSpecial = true, if passed function is not a kinvey promise;else false.*/&lt;BR /&gt;
	&amp;nbsp; function initThenCall(func, isSpecial) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; isSpecial = isSpecial || false;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return kinveyInit()&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function (response)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; if(isSpecial) {return func();}&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; else{ return kinveyToJqueryProm(func);}&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.name + ' : ' + err.description + '\n' + err.debug;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function kinveyToJqueryProm(func, params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var deferred = $.Deferred();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; func()&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function (response) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; deferred.resolve(response || true );&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }, function(err) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; deferred.reject(err.name + ' : ' + err.description + '\n' + err.debug);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return deferred.promise();&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; function getActiveUser_() {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var user = Kinvey.getActiveUser();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if(null !== user) { return user; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; else { return {result : null}; }&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function logout_() {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var user = Kinvey.getActiveUser();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if(null !== user) { return Kinvey.User.logout() }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; else { return {result : null}; }&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function verificationStatus_() {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var user = Kinvey.getActiveUser();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if(null !== user) {&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; emailStatus = new Kinvey.Metadata(user).getEmailVerification();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return { status : emailStatus };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; else { return {result : null}; }&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; function exists_(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return Kinvey.User.exists(params.username)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(exists){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return {result : (exists ? 'true':'false')}; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; function count_(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return Kinvey.DataStore.count(params.collection_name)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(count){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return {result : count}; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.init = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; isInit = false;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return kinveyInit();&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; exports.getActiveUser = function () {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return initThenCall(&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; getActiveUser_.bind(Kinvey),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; true&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;);&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; exports.signup = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return initThenCall(&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; Kinvey.User.signup.bind(Kinvey.User, params)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; );&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; exports.destroy = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return initThenCall(&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; Kinvey.User.destroy.bind(Kinvey.User, params.user_id)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; );&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.login = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return initThenCall(&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; Kinvey.User.login.bind(Kinvey.User, params)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; );&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; exports.logout = function() {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return initThenCall(&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; logout_.bind(Kinvey)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; );&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; exports.verifyEmail = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return initThenCall(&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; Kinvey.User.verifyEmail.bind(Kinvey.User, params)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; );&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; exports.getActiveUserEmailVerification = function() {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return initThenCall(&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; verificationStatus_.bind(Kinvey),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; true&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; );&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; exports.resetPassword = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return initThenCall(&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; Kinvey.User.resetPassword.bind(Kinvey.User, params)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; );&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; exports.forgotUsername = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return initThenCall(&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; Kinvey.User.forgotUsername.bind(Kinvey.User, params)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; );&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; exports.exists = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return initThenCall(&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; exists_.bind(Kinvey.User, params)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; );&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; exports.Datastore_save = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var obj = {};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; obj[params.propName] = params.propValue;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return initThenCall(&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; Kinvey.DataStore.save.bind(Kinvey.Datastore, params.collection_name, obj)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; );&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; exports.Datastore_update = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var obj = {};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; obj['_id'] = params.entity_id;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; obj[params.propName] = params.propValue;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return initThenCall(&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; Kinvey.DataStore.update.bind(Kinvey.Datastore, params.collection_name, obj)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; );&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; exports.Datastore_get = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return initThenCall(&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; Kinvey.DataStore.get.bind(Kinvey.Datastore, params.collection_name, params.entity_id)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; );&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; exports.Datastore_findAll = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return initThenCall(&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; Kinvey.DataStore.find.bind(Kinvey.Datastore, params.collection_name, null)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; );&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; exports.Datastore_destroy = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return initThenCall(&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; Kinvey.DataStore.destroy.bind(Kinvey.Datastore, params.collection_name, params.entity_id)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; );&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; exports.Datastore_clean = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return initThenCall(&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; Kinvey.DataStore.clean.bind(Kinvey.Datastore, params.collection_name)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; );&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; exports.Datastore_count = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return initThenCall(&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; count_.bind(Kinvey.Datastore, params)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; );&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.kinvey,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.tms = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp; var version = 'v1.1';&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; function jsonCleaner(x) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var type = typeof x;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (x instanceof Array) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type = 'array';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if ((type == 'array') || (type == 'object')) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; for (var k in x) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var v = x&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((v === '') &amp;amp;&amp;amp; (type == 'object')) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; delete x&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jsonCleaner(v);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return x;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;/K&gt;&lt;/K&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; //a helper function&lt;BR /&gt;
	&amp;nbsp; exports.dateToISO8601 = function(d)&lt;BR /&gt;
	&amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return d.toISOString().match(/[^:]*:[^:]*/)[0] + 'Z';&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; get_tms_iso8601_method = function(endpoint_uri)&lt;BR /&gt;
	&amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return function(params)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var url = endpoint_uri;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(!params.startDateTime) //oddly, startDateTime is required. &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var now = new Date();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params.startDateTime = exports.dateToISO8601(now);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params.api_key = credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; url = url + '?' + $.param(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $.ajax({url: url, type: 'GET'});&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.movieShowings = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var url = 'http://data.tmsapi.com/'+ version +'/movies/showings';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(!params.startDate) //oddly, startDate is required. &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var now = new Date();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var now_str = now.toISOString();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params.startDate = now_str.match(/[^T]*/)[0];&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params.api_key = credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; url = url + '?' + $.param(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $.ajax({url: url, type: 'GET'});&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.newShowAirings = get_tms_iso8601_method('http://data.tmsapi.com/'+ version +'/programs/newShowAirings');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.movieAirings = get_tms_iso8601_method('http://data.tmsapi.com/'+ version +'/movies/airings');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.sportEventAirings = function(params)&lt;BR /&gt;
	&amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'http://data.tmsapi.com/'+ version +'/sports/';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; url += params.sportsId;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.sportsId;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; url += '/events/airings';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if(!params.startDateTime) //oddly, startDateTime is required. &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var now = new Date();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params.startDateTime = exports.dateToISO8601(now);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params.api_key = credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; url = url + '?' + $.param(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url, type: 'GET'});&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; /*&lt;BR /&gt;
	&amp;nbsp; exports.newShowAirings = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var url = 'http://data.tmsapi.com/v1/programs/newShowAirings';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(!params.startDateTime) //oddly, startDateTime is required. &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var now = new Date();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params.startDateTime = exports.dateToISO8601(now);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params.api_key = credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; url = url + '?' + $.param(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $.ajax({url: url, type: 'GET'});&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; */&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.tms,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.jambase = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	function jsonCleaner(x) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var type = typeof x;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (x instanceof Array) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type = 'array';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if ((type == 'array') || (type == 'object')) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; for (var k in x) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var v = x&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((v === '') &amp;amp;&amp;amp; (type == 'object')) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; delete x&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jsonCleaner(v);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return x;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; /* Data Feed Function */&lt;BR /&gt;
	&amp;nbsp; exports.methodA1 = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'http://example.api/methodA1?api_key_var_name=' + credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url});&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; function get_jambase_handler(endpoint_uri)&lt;BR /&gt;
	&amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var url = endpoint_uri;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params.api_key = credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; url = url + '?' + $.param(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $.ajax({url: url, type: 'GET'});&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; //all the 'eventById, eventListByZipcode, etc are just the same endpoint with different param combinations.&lt;BR /&gt;
	&amp;nbsp; function get_eventBy_method()&lt;BR /&gt;
	&amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return get_jambase_handler('http://api.jambase.com/events');&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; function get_artistBy_method()&lt;BR /&gt;
	&amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return get_jambase_handler('http://api.jambase.com/artists');&lt;BR /&gt;
	&amp;nbsp; }&lt;/K&gt;&lt;/K&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function get_venuesBy_method()&lt;BR /&gt;
	&amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return get_jambase_handler('http://api.jambase.com/venues');&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.eventById &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = get_eventBy_method();&lt;BR /&gt;
	&amp;nbsp; exports.eventListByZipcode &amp;nbsp;= get_eventBy_method()&lt;BR /&gt;
	&amp;nbsp; exports.eventListByArtistId = get_eventBy_method();&lt;BR /&gt;
	&amp;nbsp; exports.eventListByVenueId &amp;nbsp;= get_eventBy_method();&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.artistsByName &amp;nbsp; &amp;nbsp; &amp;nbsp; = get_artistBy_method();&lt;BR /&gt;
	&amp;nbsp; exports.artistById &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= get_artistBy_method();&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.venuesByName &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= get_venuesBy_method();&lt;BR /&gt;
	&amp;nbsp; exports.venuesByZipcode &amp;nbsp; &amp;nbsp; = get_venuesBy_method();&lt;BR /&gt;
	&amp;nbsp; exports.venueById &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = get_venuesBy_method();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.jambase,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.db_core = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; function getToken() {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return window.localStorage.getItem('dropbox_access_token');&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function showError(message){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; console.log(message);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return message;&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; /* OAuth 2.0 */&lt;BR /&gt;
	&amp;nbsp; exports.authorize = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urls = {codeUrl:'https://www.dropbox.com/1/oauth2/authorize?',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tokenUrl: 'https://api.dropbox.com/1/oauth2/token?'};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;code: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;redirect_uri: params.redirect_uri,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;response_type: params.response_type&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;},&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;token: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;client_secret: credentials.apiSecret&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (params.state !== '') urlParams.code.state = params.state;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (params.force_reapprove !== '') urlParams.code.force_reapprove = params.force_reapprove;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (params.disable_signup !== '') urlParams.code.disable_signup = params.disable_signup;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return helpers.oauth2AuthCode(urls, urlParams)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(token){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var db = window.localStorage;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; db.setItem('dropbox_access_token', token);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return token;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; console.log(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; /* Dropbox Accounts */&lt;BR /&gt;
	&amp;nbsp; exports.accountInfo = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = {oauth_consumer_key: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;access_token: token};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.dropbox.com/1/account/info?' + $.param(urlParams);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(error){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return error;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; /* Files and Metadata */&lt;BR /&gt;
	&amp;nbsp; exports.metadata = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({oauth_consumer_key: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.dropbox.com/1/metadata/' + params.root + '/' + params.path + '?' + $.param(urlParams);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(metadata){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return metadata;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(error){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return error;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.delta = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({oauth_consumer_key: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.dropbox.com/1/delta?' + $.param(urlParams);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'POST',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(error){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return error;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.longpoll_delta = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({oauth_consumer_key: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api-notify.dropbox.com/1/longpoll_delta?' + $.param(urlParams);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(error){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return error;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.revisions = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({oauth_consumer_key: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.dropbox.com/1/revisions/' + params.root + '/' + params.path + '?' + $.param(urlParams);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(metadata){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return metadata;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(error){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return error;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.restore = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({oauth_consumer_key: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.dropbox.com/1/restore/' + params.root + '/' + params.path + '?' + $.param(urlParams);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'POST',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(metadata){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return metadata;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(error){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return error;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.search = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({oauth_consumer_key: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.dropbox.com/1/search/' + params.root + '/' + params.path + '?' + $.param(urlParams);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(metadata){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return metadata;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(error){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return error;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.shares = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({oauth_consumer_key: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.dropbox.com/1/shares/' + params.root + '/' + params.path + '?' + $.param(urlParams);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'POST',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(metadata){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return metadata;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(error){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return error;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.media = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({oauth_consumer_key: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.dropbox.com/1/media/' + params.root + '/' + params.path + '?' + $.param(urlParams);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'POST',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(metadata){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return metadata;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(error){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return error;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.copy_ref = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({oauth_consumer_key: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.dropbox.com/1/copy_ref/' + params.root + '/' + params.path + '?' + $.param(urlParams);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(metadata){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return metadata;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(error){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return error;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /* File Operations */&lt;BR /&gt;
	&amp;nbsp; exports.copy = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({oauth_consumer_key: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.dropbox.com/1/fileops/copy?' + $.param(urlParams);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'POST',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(metadata){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return metadata;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(error){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return error;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.create_folder = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({oauth_consumer_key: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.dropbox.com/1/fileops/create_folder?' + $.param(urlParams);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'POST',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(metadata){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return metadata;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(error){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return error;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.delete = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({oauth_consumer_key: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.dropbox.com/1/fileops/delete?' + $.param(urlParams);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'POST',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(metadata){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return metadata;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(error){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return error;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.move = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({oauth_consumer_key: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.dropbox.com/1/fileops/move?' + $.param(urlParams);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'POST',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(metadata){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return metadata;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(error){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; error.responseText&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.upload_file = function(params)&lt;BR /&gt;
	&amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; //params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var file = params.file;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var path = encodeURI(params.path || file.name);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; delete params.path;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; delete params.file;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; var urlParams = $.extend({oauth_consumer_key: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oauth_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var url = 'https://api-content.dropbox.com/1/files_put/auto/' +&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;path +&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'?' &amp;nbsp;+ $.param(urlParams);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; if(file == '-')&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var deferred = $.Deferred();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; deferred.resolve({'status':'ok'});&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return deferred.promise();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //var fd = new FormData();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //fd.append(path, file);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type: "PUT",&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data: file,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; processData: false, &amp;nbsp;// tell jQuery not to process the data&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; contentType: false &amp;nbsp; // tell jQuery not to set contentType&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.db_core,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.soundcloud = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; function getToken() {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return window.localStorage.getItem('soundcloud_access_token');&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /* OAuth Functions */&lt;BR /&gt;
	&amp;nbsp; exports.authenticate = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; codeUrl: 'https://soundcloud.com/connect?',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; tokenUrl: 'https://api.soundcloud.com/oauth2/token?'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; code: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; redirect_uri: params.redirect_uri,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; response_type: 'code',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; scope: 'non-expiring',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; display: 'popup'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; token: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; grant_type: 'authorization_code'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return helpers.oauth2AuthCode(url, urlParams)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(token){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var db = window.localStorage;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; db.setItem('soundcloud_access_token', token);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return token;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.users = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'http://api.soundcloud.com/users/' + params.id + '.json?client_id=' + credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.tracks = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'http://api.soundcloud.com/tracks/' + params.id + '.json?client_id=' + credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.playlists = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'http://api.soundcloud.com/playlists/' + params.id + '.json?client_id=' + credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.groups = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'http://api.soundcloud.com/groups/' + params.id + '.json?client_id=' + credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.comments = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'http://api.soundcloud.com/comments/' + params.id + '.json?client_id=' + credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.me = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.soundcloud.com/me.json?oauth_token=' + token;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.meConnections = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.soundcloud.com/me/connections.json?oauth_token=' + token;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.meActivities = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.soundcloud.com/me/activities?limit=' + params.limit + '&amp;amp;oauth_token=' + token;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.apps = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'http://api.soundcloud.com/apps/' + params.appId + '/tracks?client_id=' + credentials.apiKey + '&amp;amp;limit=' + params.limit;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.soundcloud,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.Weibo = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; function getCachedToken () {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if ($.jStorage &amp;amp;&amp;amp; $.jStorage.storageAvailable()) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return $.jStorage.get("intel_xdk_services_sina_weibo_access_token_");&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return null;&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; function showError(msg) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; console.log(msg);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return msg;&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.get_access_token = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; codeUrl: 'https://api.weibo.com/oauth2/authorize?',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; tokenUrl: 'https://api.weibo.com/oauth2/access_token?'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var deferred = $.Deferred();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var jStorageAvailable = false, keyName, accessToken;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if ($.jStorage &amp;amp;&amp;amp; $.jStorage.storageAvailable()) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; jStorageAvailable = true;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; keyName = "intel_xdk_services_sina_weibo_access_token_";&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; accessToken = $.jStorage.get(keyName);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; if (accessToken) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; deferred.resolve({access_token: accessToken});&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return deferred.promise();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; code: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; redirect_uri: params.redirect_uri,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; response_type: "code",&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; scope: params.scope,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; forcelogin: params.forcelogin&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; token: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; grant_type: 'authorization_code'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; //helper oauth functions return access token. check to see if service uses authentication code or implicit oauth&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; helpers.oauth2AuthCode(url, urlParams)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(access_token){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; if (jStorageAvailable) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $.jStorage.set(keyName, access_token, {TTL: 24 * 3600 * 1000});&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; deferred.resolve({ access_token: access_token });&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; deferred.reject(err);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return deferred.promise();&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.update = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var filteredParams = {}, d = $.Deferred();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; for (var k in params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; if (params.hasOwnProperty(k) &amp;amp;&amp;amp; params&lt;K&gt;) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; filteredParams&lt;K&gt; = params&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var access_token;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!filteredParams.access_token) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; access_token= getCachedToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; if (!access_token) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; d.reject(showError("Need access token before making call"));&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return d.promise();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; filteredParams.access_token = access_token;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = "https://api.weibo.com/2/statuses/update.json";&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'POST',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; data: filteredParams&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.upload = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var d = $.Deferred();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var access_token;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!params.access_token) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; access_token = getCachedToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; if (!access_token) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; d.reject(showError("Need access token before making call"));&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return d.promise();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params.access_token = access_token;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = "https://upload.api.weibo.com/2/statuses/upload.json";&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var fd;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; if(params.pic == '-')&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; d.resolve({'status':'ok'});&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return d.promise();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; fd = new FormData();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; for (var i in params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; if (params.hasOwnProperty(i) &amp;amp;&amp;amp; params&lt;I&gt;) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fd.append(i, params&lt;I&gt;);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;/I&gt;&lt;/I&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: "POST",&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; data: fd,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; processData: false, &amp;nbsp;// tell jQuery not to process the data&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; contentType: false &amp;nbsp; // tell jQuery not to set contentType&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.Weibo,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.mapquest = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; 'use strict';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; var MAPQUEST = 'https://www.mapquestapi.com/traffic/v2/';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; return {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; incidents: function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var url = MAPQUEST + 'incidents?inFormat=kvp&amp;amp;key=' + credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url += '&amp;amp;boundingBox=' + params.boundingBox;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url += '&amp;amp;incidents=';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; var incidents = {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; incidents: params.incidents,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; construction: params.construction,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; event: params.event,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; congestion: params.congestion&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; url += Object.keys(incidents).filter(function(incident) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return incidents[incident] === 'true';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }).join(',');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; url: &amp;nbsp;url&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;})&lt;BR /&gt;
	)(intel.xdk.services.credentials.mapquest,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.BaiduMap = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; exports.getIPLocation = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var url = 'http://api.map.baidu.com/location/ip?ak=' + credentials.apiKey + '&amp;amp;coor=bd09ll';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; url : url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ip: params.ip_address&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; exports.enGeoCode = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var url = 'http://api.map.baidu.com/geocoder/v2/?output=json&amp;amp;ak=' + credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; url : url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; address: params.address&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; exports.deGeoCode = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var url = 'http://api.map.baidu.com/geocoder/v2/?output=json&amp;amp;ak=' + credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; url : url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; location: params.latitude + ',' + params.longitude&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; exports.roundNearBy = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var url = 'http://api.map.baidu.com/place/v2/search?output=json&amp;amp;ak=' + credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; url : url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; location: params.location,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; query: params.query,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; radius: params.radius&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; exports.getNearByGrouponInfo = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var url = 'http://api.map.baidu.com/place/v2/eventsearch?event=groupon&amp;amp;output=json&amp;amp;ak=' + credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; url : url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; location: params.location,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; query: params.query,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; region: params.region,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; radius: params.radius,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; page_size: params.page_size&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; exports.getPlaceByCity = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var url = 'http://api.map.baidu.com/place/v2/search?output=json&amp;amp;ak=' + credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; url : url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; query: params.query,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; scope: params.scope,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; region: params.region,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; page_num: params.page_num,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; page_size: params.page_size&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; exports.getPlacesByRectangleArea = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var url = 'http://api.map.baidu.com/place/v2/search?output=json&amp;amp;ak=' + credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; url : url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; query: params.query,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; scope: params.scope,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bounds: params.bounds,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; page_num: params.page_num,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; page_size: params.page_size&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; exports.getPlacesByRoundArea = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var url = 'http://api.map.baidu.com/place/v2/search?output=json&amp;amp;ak=' + credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; url : url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; query: params.query,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; scope: params.scope,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; location: params.location,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; radius: params.radius,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; page_num: params.page_num,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; page_size: params.page_size&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; exports.getDirection = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var url = 'http://api.map.baidu.com/direction/v1?output=json&amp;amp;ak=' + credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; url : url,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mode: params.mode,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; origin: params.origin,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; destination: params.destination,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; region: params.region,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; origin_region: params.origin_region,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; destination_region: params.destination_region,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tactics: params.tactics&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.BaiduMap,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.bing_search = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;/P&gt;

&lt;P&gt;&amp;nbsp;function jsonCleaner(x) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var type = typeof x;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (x instanceof Array) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type = 'array';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if ((type == 'array') || (type == 'object')) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; for (k in x) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var v = x&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((v === '') &amp;amp;&amp;amp; (type == 'object')) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; delete x&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jsonCleaner(v);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return x;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.search = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; //http://api.bing.net/json.aspx?Appid=&amp;lt;Your App ID HERE!&amp;gt;&amp;amp;query=sushi&amp;amp;sources=web.&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.datamarket.azure.com/Bing/Search/';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var searchSpace = params.SearchSpace;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.SearchSpace;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params.Query = "'" + params.Query + "'";&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; url = url + searchSpace + &amp;nbsp;'?' + $.param(params) + "&amp;amp;$format=JSON";&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var username = "";&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var password = credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url,&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;headers: {"Authorization":"Basic " + btoa(username + ":" + password)}&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.bing_search,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.Etsy = ((function (credentials) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; function jsonCleaner(x) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var type = typeof x;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (x instanceof Array) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type = 'array';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if ((type == 'array') || (type == 'object')) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; for (k in x) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var v = x&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((v === '') &amp;amp;&amp;amp; (type == 'object')) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; delete x&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jsonCleaner(v);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return x;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; var baseUrl = 'https://openapi.etsy.com/v2/';&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; function getEtsyData(path, params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = baseUrl + path + '?api_key=' + credentials.apiKey + "&amp;amp;" + $.param(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url});&lt;BR /&gt;
	&amp;nbsp; }&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.listingSearch = getEtsyData.bind('null', 'listings/active');&lt;BR /&gt;
	&amp;nbsp; exports.listingTrending = getEtsyData.bind('null', 'listings/trending');&lt;BR /&gt;
	&amp;nbsp; exports.shopSearch = getEtsyData.bind('null', 'shops');&lt;BR /&gt;
	&amp;nbsp; exports.treasurySearch = getEtsyData.bind('null', 'treasuries');&lt;BR /&gt;
	&amp;nbsp; exports.userSearch = getEtsyData.bind('null', 'users');&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.Etsy,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.EventBrite = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function getToken() {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var db = window.localStorage;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return db.getItem('eventbrite_access_token');&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function showError(message){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; console.log(message);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return message;&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; function convertKey(params, base, updated){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if(params[base]){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var temp = params[base];&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; delete params[base];&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; params[updated] = temp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return params;&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.authenticate = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url ='https://www.eventbrite.com/oauth/authorize?';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; redirect_uri: params.redirect_uri,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; response_type: params.response_type&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return helpers.oauth2Implicit(url, urlParams)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(token){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var db = window.localStorage;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; db.setItem('eventbrite_access_token', token);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return token;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.eventSearch = function(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return showError('Need access token before making call');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; convertKey(params, "venue_city", "venue.city");&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; convertKey(params, "start_date_keyword", "start_date.keyword");&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://www.eventbriteapi.com/v3/events/search/?' + &amp;nbsp;$.param(urlParams);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return showError(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; }; &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; return exports;&lt;BR /&gt;
	});)(intel.xdk.services.credentials.EventBrite,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.OpenTable = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; function jsonCleaner(x) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var type = typeof x;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (x instanceof Array) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type = 'array';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if ((type == 'array') || (type == 'object')) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; for (k in x) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var v = x&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((v === '') &amp;amp;&amp;amp; (type == 'object')) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; delete x&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jsonCleaner(v);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return x;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.stats = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'http://opentable.herokuapp.com/api/';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; url += 'stats';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url});&lt;BR /&gt;
	&amp;nbsp; };&lt;/K&gt;&lt;/K&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.cities = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'http://opentable.herokuapp.com/api/';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; url += 'cities';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url});&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.restaurants = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'http://opentable.herokuapp.com/api/';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; url += 'restaurants';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (params) url = url + '?' + $.param(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url});&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.restaurant_by_id = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; //params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'http://opentable.herokuapp.com/api/';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; url += 'restaurants/' + params.id;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; //if (params) url = url + '?' + $.param(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url});&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.OpenTable,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.amazon_product_search = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; function jsonCleaner(x) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var type = typeof x;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (x instanceof Array) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type = 'array';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if ((type == 'array') || (type == 'object')) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; for (var k in x) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var v = x&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((v === '') &amp;amp;&amp;amp; (type == 'object')) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; delete x&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jsonCleaner(v);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return x;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; function sort_params(params)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var keys = Object.keys(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; keys.sort();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var newparams &amp;nbsp;={}&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; keys.forEach(function(k){ newparams&lt;K&gt; = params&lt;K&gt;; });&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return newparams;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; function timestamp(date) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; //var date = new Date();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var y = date.getUTCFullYear().toString();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var m = (date.getUTCMonth() + 1).toString();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var d = date.getUTCDate().toString();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var h = date.getUTCHours().toString();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var min = date.getUTCMinutes().toString();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var s = date.getUTCSeconds().toString();&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; if(m.length &amp;lt; 2) { m = "0" + m; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if(d.length &amp;lt; 2) { d = "0" + d; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if(h.length &amp;lt; 2) { h = "0" + h; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if(min.length &amp;lt; 2) { min = "0" + min; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if(s.length &amp;lt; 2) { s = "0" + s}&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var date = y + "-" + m + "-" + d;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var time = h + ":" + min + ":" + s;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return date + "T" + time + "Z";&lt;BR /&gt;
	}&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; function sha256(stringToSign, secretKey)&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var hex = CryptoJS.HmacSHA256(stringToSign, secretKey);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return hex.toString(CryptoJS.enc.Base64);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; function date_string(now)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var date_str = now.toISOString().match(/[^T]*/)[0];&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return date_str.replace(/-/g, "");&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; function get_aws_cs_function(operation)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var url = 'http://webservices.amazon.com/onca/xml';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params.Service = 'AWSECommerceService';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params.Operation = operation;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params.AWSAccessKeyId = credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var now = new Date();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params.Timestamp = timestamp(now); //now.toISOString();&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params = sort_params(params);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var paramString = $.param(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var signingKey = "GET\n" + "webservices.amazon.com\n" + "/onca/xml\n" + paramString;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var signature = sha256(signingKey, credentials.apiSecret);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params.Signature = signature;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; url = url + '?' + &amp;nbsp;$.param(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $.ajax({url: url, type: 'GET'});&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; exports.ItemSearch &amp;nbsp; &amp;nbsp; &amp;nbsp; = get_aws_cs_function('ItemSearch');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; exports.BrowseNodeLookup = get_aws_cs_function('BrowseNodeLookup');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; exports.ItemLookup &amp;nbsp; &amp;nbsp; &amp;nbsp; = get_aws_cs_function('ItemLookup');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; exports.SimilarityLookup = get_aws_cs_function('SimilarityLookup');&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; /*&lt;BR /&gt;
	&amp;nbsp; exports.ItemSearch = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'http://webservices.amazon.com/onca/xml';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params.Service = 'AWSECommerceService';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params.Operation = 'ItemSearch';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params.AWSAccessKeyId = credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var now = new Date();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params.Timestamp = timestamp(now); //now.toISOString();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = sort_params(params);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var paramString = $.param(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var signingKey = "GET\n" + "webservices.amazon.com\n" + "/onca/xml\n" + paramString;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var signature = sha256(signingKey, credentials.apiSecret);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params.Signature = signature;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; url = url + '?' + &amp;nbsp;$.param(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url, type: 'GET'});&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; */&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; function getAmazonItemInfo(barcode) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var PrivateKey = "";&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var PublicKey = "";&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var AssociateTag = "";&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var parameters = [];&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; parameters.push("AWSAccessKeyId=" + PublicKey);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; parameters.push("ItemId=" + barcode);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; parameters.push("Operation=ItemLookup");&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; parameters.push("Service=AWSECommerceService");&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; parameters.push("Timestamp=" + encodeURIComponent(timestamp()));&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; parameters.push("Version=2011-08-01");&lt;BR /&gt;
	parameters.push("AssociateTag=" + AssociateTag);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; parameters.sort();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var paramString = parameters.join('&amp;amp;');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var signingKey = "GET\n" + "webservices.amazon.com\n" + "/onca/xml\n" + paramString&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var signature = sha256(signingKey,PrivateKey);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; signature = encodeURIComponent(signature);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var amazonUrl = &amp;nbsp;"http://webservices.amazon.com/onca/xml?" + paramString + "&amp;amp;Signature=" + signature;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; console.log(amazonUrl);&lt;BR /&gt;
	}&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.amazon_product_search,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.youtube = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp; var aToken;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; var baseURL = 'https://www.googleapis.com/youtube/v3';&lt;BR /&gt;
	&amp;nbsp; function getList(path, params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = params || {};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var paramsExpanded = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; url = baseURL + '/' + path + '?' + $.param(paramsExpanded) + '&amp;amp;key=' + credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url});&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; /* authentication */&lt;BR /&gt;
	&amp;nbsp; function authenticate(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (aToken) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var d = $.Deferred();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; d.resolve('Already authenticated');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return d.promise();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = {codeUrl: 'https://accounts.google.com/o/oauth2/auth?',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tokenUrl: 'https://accounts.google.com/o/oauth2/token?'};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = {code: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client_id: params.client_id,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; redirect_uri: params.redirect_uri,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; response_type: params.response_type,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; scope: params.scope_list,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; access_type : 'offline'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;},&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;token: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; grant_type: 'authorization_code'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return helpers.oauth2AuthCode(url, urlParams)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(token){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; aToken = token;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return token;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; console.log(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; function auth_post(func, params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var authParams = {} //TODO&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return exports.authenticate(authParams)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function (youtube) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var paramIn = 'id=' + params.id + ',rating=' + params.rating;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return youtube.videos().rate(paramIn);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; console.log(err.responseText);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;/P&gt;

&lt;P&gt;&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function jsonCleaner(x) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var type = typeof x;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (x instanceof Array) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type = 'array';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if ((type == 'array') || (type == 'object')) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; for (k in x) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var v = x&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((v === '') &amp;amp;&amp;amp; (type == 'object')) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; delete x&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jsonCleaner(v);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return x;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.authenticate = authenticate.bind(null);&lt;BR /&gt;
	&amp;nbsp; exports.rateVideos = auth_post.bind(null,'rateVideos');&lt;BR /&gt;
	&amp;nbsp; exports.listActivities = getList.bind(null,'activities');&lt;BR /&gt;
	&amp;nbsp; exports.listGuideCategories = getList.bind(null,'guideCategories');&lt;BR /&gt;
	&amp;nbsp; exports.listPlaylistItems = getList.bind(null,'playlistItems');&lt;BR /&gt;
	&amp;nbsp; exports.listPlaylists = getList.bind(null,'playlists');&lt;BR /&gt;
	&amp;nbsp; exports.listSearch = getList.bind(null,'search');&lt;BR /&gt;
	&amp;nbsp; exports.listVideos = getList.bind(null,'videos');&lt;BR /&gt;
	&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.youtube,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.github = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp; /* OAuth Functions */&lt;BR /&gt;
	&amp;nbsp; function authenticate(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; codeUrl: 'https://github.com/login/oauth/authorize?',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; tokenUrl: 'https://github.com/login/oauth/access_token?'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; code: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; redirect_uri: params.redirect_uri,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; response_type: params.response_type,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; scope: params.scope&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; token: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client_id: credentials.apiKey,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; client_secret: credentials.apiSecret,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; grant_type: 'authorization_code'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return helpers.oauth2AuthCode(url, urlParams)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(token){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var db = window.localStorage;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; db.setItem('github_access_token', token);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return token;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; };&lt;/K&gt;&lt;/K&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function getNotifications(path, params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = window.localStorage.getItem('github_access_token');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return 'Need access token before making call';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.github.com/' + path + '?' + $.param(urlParams);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Accept : "application/vnd.github.v3+json"&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function getRepoNotifications(path, params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = window.localStorage.getItem('github_access_token');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return 'Need access token before making call';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var owner = params.owner;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var repo = params.repo;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.owner;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.repo;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.github.com/repos/' + owner + '/' + repo + '/' + path + '?' + $.param(urlParams);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Accept : "application/vnd.github.v3+json"&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; function getEvents(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.github.com/events';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Accept : "application/vnd.github.v3+json"&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function getRepoEvents(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var owner = params.owner;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var repo = params.repo;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.github.com/repos/' + owner + '/' + repo + '/events';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Accept : "application/vnd.github.v3+json"&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function getIssueEvents(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var owner = params.owner;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var repo = params.repo;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.github.com/repos/' + owner + '/' + repo + '/issues/events';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Accept : "application/vnd.github.v3+json"&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function getUserReceivedEvents(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var username = params.username;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.github.com/users/' + username + '/received_events';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Accept : "application/vnd.github.v3+json"&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function getUserPerformedEvents(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var username = params.username;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.github.com/users/' + username + '/events';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Accept : "application/vnd.github.v3+json"&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function getIssues(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = window.localStorage.getItem('github_access_token');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return 'Need access token before making call';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.github.com/issues' + '?' + $.param(urlParams);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Accept : "application/vnd.github.v3+json"&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function getRepos(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = window.localStorage.getItem('github_access_token');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (!token) return 'Need access token before making call';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var urlParams = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.github.com/user/repos' + '?' + $.param(urlParams);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Accept : "application/vnd.github.v3+json"&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function getUserRepos(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var username = params.username;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.github.com/users/' + username + '/repos';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Accept : "application/vnd.github.v3+json"&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function getAllRepos(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.github.com/repositories' + '?' + $.param(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Accept : "application/vnd.github.v3+json"&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function searchRepositories(params){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = window.localStorage.getItem('github_access_token');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if(token) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; params = $.extend({access_token: token}, params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; var completeUrl = 'https://api.github.com/search/repositories' + '?' + $.param(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Accept : "application/vnd.github.v3+json"&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: completeUrl,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: 'json'})&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.authenticate = authenticate.bind(null);&lt;BR /&gt;
	&amp;nbsp; exports.getNotifications = getNotifications.bind(null, 'notifications');&lt;BR /&gt;
	&amp;nbsp; exports.getEvents = getEvents.bind(null);&lt;BR /&gt;
	&amp;nbsp; exports.getRepoEvents = getRepoEvents.bind(null);&lt;BR /&gt;
	&amp;nbsp; exports.getIssueEvents = getIssueEvents.bind(null);&lt;BR /&gt;
	&amp;nbsp; exports.getUserReceivedEvents = getUserReceivedEvents.bind(null);&lt;BR /&gt;
	&amp;nbsp; exports.getUserPerformedEvents = getUserPerformedEvents.bind(null);&lt;BR /&gt;
	&amp;nbsp; exports.getIssues = getIssues.bind(null);&lt;BR /&gt;
	&amp;nbsp; exports.getRepos = getRepos.bind(null);&lt;BR /&gt;
	&amp;nbsp; exports.getUserRepos = getUserRepos.bind(null);&lt;BR /&gt;
	&amp;nbsp; exports.getAllRepos = getAllRepos.bind(null);&lt;BR /&gt;
	&amp;nbsp; exports.searchRepositories = searchRepositories.bind(null);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.github,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.UPS = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; function createRequest(){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; function createAccessSubstr(account_no, user_id, password){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return '&amp;lt;?xml version="1.0"?&amp;gt;&amp;lt;AccessRequest xml:lang="en-US"&amp;gt;&amp;lt;AccessLicenseNumber&amp;gt;'+ account_no + '&amp;lt;/AccessLicenseNumber&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;UserId&amp;gt;'+ user_id +'&amp;lt;/UserId&amp;gt;&amp;lt;Password&amp;gt;' + password +'&amp;lt;/Password&amp;gt;&amp;lt;/AccessRequest&amp;gt;';&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; function createRequestTypeSubstr(request_type, customer_context, request_action, request_option, request_details_string){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return '&amp;lt;?xml version="1.0"?&amp;gt;&amp;lt;'+ request_type+ ' xml:lang="en-US"&amp;gt;&amp;lt;Request&amp;gt;&amp;lt;TransactionReference&amp;gt;&amp;lt;CustomerContext&amp;gt;' + customer_context + '&amp;lt;/CustomerContext&amp;gt;&amp;lt;XpciVersion&amp;gt;1.0&amp;lt;/XpciVersion&amp;gt;&amp;lt;/TransactionReference&amp;gt;&amp;lt;RequestAction&amp;gt;'+ request_action +'&amp;lt;/RequestAction&amp;gt;&amp;lt;RequestOption&amp;gt;'+ request_option +'&amp;lt;/RequestOption&amp;gt;&amp;lt;/Request&amp;gt;' + request_details_string + '&amp;lt;/'+request_type+'&amp;gt;';&lt;BR /&gt;
	&amp;nbsp; }; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.tracking = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://www.ups.com/ups.app/xml/Track' ;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var request_type = 'TrackRequest';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var customer_context = 'QAST Track';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var request_action = 'Track';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var request_option = 'activity';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var access_string = createAccessSubstr(params.account_no, params.user_id, params.password);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var request_details_string = '&amp;lt;TrackingNumber&amp;gt;' + params.tracking_no +'&amp;lt;/TrackingNumber&amp;gt;';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var request_string = createRequestTypeSubstr(request_type, customer_context, request_action, request_option, request_details_string);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var xml_req = access_string + request_string;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url,&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;data: xml_req,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type: 'POST' &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; exports.address_validation = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://www.ups.com/ups.app/xml/AV' ;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var request_type = 'AddressValidationRequest';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var customer_context = 'Maryam Dennis-Customer Data';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var request_action = 'AV';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var request_option = '';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var access_string = createAccessSubstr(params.account_no, params.user_id, params.password);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var request_details_string = '&amp;lt;Address&amp;gt;&amp;lt;City&amp;gt;' + params.city +'&amp;lt;/City&amp;gt;&amp;lt;StateProvinceCode&amp;gt;' + params.StateProvinceCode + '&amp;lt;/StateProvinceCode&amp;gt;&amp;lt;/Address&amp;gt;';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var request_string = createRequestTypeSubstr(request_type, customer_context, request_action, request_option, request_details_string);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var xml_req = access_string + request_string;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url,&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;data: xml_req,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type: 'POST' &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }); &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; exports.street_address_validation = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://www.ups.com/ups.app/xml/XAV' ;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var request_type = 'AddressValidationRequest';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var customer_context = '';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var request_action = 'XAV';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var request_option = '3';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var access_string = createAccessSubstr(params.account_no, params.user_id, params.password);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var request_details_string = '&amp;lt;AddressKeyFormat&amp;gt;&amp;lt;AddressLine&amp;gt;' + params.address_line1 +'&amp;lt;/AddressLine&amp;gt;&amp;lt;AddressLine&amp;gt;' + params.address_line2 +'&amp;lt;/AddressLine&amp;gt;&amp;lt;PostCodePrimaryLow&amp;gt;' + params.postcode_primary + '&amp;lt;/PostCodePrimaryLow&amp;gt;&amp;lt;CountryCode&amp;gt;'+ params.country_code +'&amp;lt;/CountryCode&amp;gt;&amp;lt;/AddressKeyFormat&amp;gt;';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var request_string = createRequestTypeSubstr(request_type, customer_context, request_action, request_option, request_details_string);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var xml_req = access_string + request_string;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url,&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;data: xml_req,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type: 'POST' &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }); &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; exports.locator = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://www.ups.com/ups.app/xml/Locator' ;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var request_type = 'LocatorRequest';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var customer_context = '';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var request_action = 'Locator';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var request_option = '1';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var access_string = createAccessSubstr(params.account_no, params.user_id, params.password);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var request_details_string = '&amp;lt;OriginAddress&amp;gt;&amp;lt;AddressKeyFormat&amp;gt;&amp;lt;AddressLine&amp;gt;' + params.address_line1 +'&amp;lt;/AddressLine&amp;gt;&amp;lt;AddressLine&amp;gt;' + params.address_line2 +'&amp;lt;/AddressLine&amp;gt;&amp;lt;PostCodePrimaryLow&amp;gt;' + params.postcode_primary + '&amp;lt;/PostCodePrimaryLow&amp;gt;&amp;lt;CountryCode&amp;gt;'+ params.country_code +'&amp;lt;/CountryCode&amp;gt;&amp;lt;/AddressKeyFormat&amp;gt;&amp;lt;/OriginAddress&amp;gt;';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; request_details_string = request_details_string + '&amp;lt;Translate&amp;gt;&amp;lt;LanguageCode&amp;gt;ENG&amp;lt;/LanguageCode&amp;gt;&amp;lt;/Translate&amp;gt;';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; request_details_string = request_details_string + '&amp;lt;LocationSearchCriteria&amp;gt;&amp;lt;SearchOption&amp;gt;&amp;lt;OptionType&amp;gt;&amp;lt;Code&amp;gt;' + params.search_criteria + '&amp;lt;/Code&amp;gt;&amp;lt;/OptionType&amp;gt;&amp;lt;/SearchOption&amp;gt;&amp;lt;/LocationSearchCriteria&amp;gt;';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var request_string = createRequestTypeSubstr(request_type, customer_context, request_action, request_option, request_details_string);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var xml_req = access_string + request_string ;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({url: url,&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;data: xml_req,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type: 'POST' &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }); &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; }; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.UPS,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.RSS = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp; exports.Request = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax(params);&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.RSS,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.centralIndex = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; var baseUrl = 'http://api.centralindex.com';&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; function getCentralIndexData(type, path, params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; console.log(credentials.apiKey);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = baseUrl + path + '?api_key=' + credentials.apiKey + $.param(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: type,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: url&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.advertiserUpdated = &amp;nbsp;getCentralIndexData.bind(null, 'GET', '/v1/advertiser/updated');&lt;BR /&gt;
	&amp;nbsp; exports.autocompleteCategory = getCentralIndexData.bind(null, 'GET', '/v1/autocomplete/category');&lt;BR /&gt;
	&amp;nbsp; exports.autocompleteKeyword = getCentralIndexData.bind(null, 'GET', '/v1/autocomplete/keyword');&lt;BR /&gt;
	&amp;nbsp; exports.autocompleteLocation = getCentralIndexData.bind(null, 'GET', '/v1/autocomplete/location');&lt;BR /&gt;
	&amp;nbsp; exports.entity = getCentralIndexData.bind(null, 'GET', '/v1/entity');&lt;BR /&gt;
	&amp;nbsp; exports.entityAdvertisers = getCentralIndexData.bind(null, 'GET', '/v1/entity/advertisers');&lt;BR /&gt;
	&amp;nbsp; exports.entitySupplier = getCentralIndexData.bind(null, 'GET', '/v1/entity/by_supplier_id');&lt;BR /&gt;
	&amp;nbsp; exports.entitySearchKeywordNearest = getCentralIndexData.bind(null, 'GET', '/v1/entity/search/keyword/bynearest');&lt;BR /&gt;
	&amp;nbsp; exports.entitySearchWhat = getCentralIndexData.bind(null, 'GET', '/v1/entity/search/what');&lt;BR /&gt;
	&amp;nbsp; exports.entitySeatchWhatLocation = getCentralIndexData.bind(null, 'GET', '/v1/entity/search/what/bylocation');&lt;BR /&gt;
	&amp;nbsp; exports.entitySearchWhatBoundingBox = getCentralIndexData.bind(null, 'GET', '/v1/entity/search/what/byboundingbox');&lt;BR /&gt;
	&amp;nbsp; exports.entitySearchWhatNearest = getCentralIndexData.bind(null, 'GET', '/v1/entity/search/what/bynearest');&lt;BR /&gt;
	&amp;nbsp; exports.entitySearchWho = getCentralIndexData.bind(null, 'GET', '/v1/entity/search/what/bylocation');&lt;BR /&gt;
	&amp;nbsp; exports.entitySearchWhoLocation = getCentralIndexData.bind(null, 'GET', '/v1/entity/search/who/bylocation');&lt;BR /&gt;
	&amp;nbsp; exports.entitySearchWhatBoundingBox = getCentralIndexData.bind(null, 'GET', '/v1/entity/search/who/byboundingbox');&lt;BR /&gt;
	&amp;nbsp; exports.entitySearchWhatNearest = getCentralIndexData.bind(null, 'GET', '/v1/entity/search/who/bynearest');&lt;BR /&gt;
	&amp;nbsp; exports.locationContext = getCentralIndexData.bind(null, 'GET', '/v1/location/context');&lt;/P&gt;

&lt;P&gt;&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.centralIndex,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.twitter = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;/P&gt;

&lt;P&gt;&amp;nbsp; function jsonCleaner(x) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var type = typeof x;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (x instanceof Array) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type = 'array';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if ((type == 'array') || (type == 'object')) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; for (k in x) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var v = x&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((v === '') &amp;amp;&amp;amp; (type == 'object')) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; delete x&lt;K&gt;;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jsonCleaner(v);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return x;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; function getToken() {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var db = window.localStorage;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return db.getItem('twitter_access_token');&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.authenticate = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.twitter.com/oauth2/token';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var rfcConsumerKey = credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var rfcConsumerSecret = credentials.apiSecret;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var bearerToken = rfcConsumerKey + ':' + rfcConsumerSecret;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var b64BearerToken = btoa(bearerToken);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var header = 'Basic ' + b64BearerToken;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var twitParams = {};&lt;/K&gt;&lt;/K&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return helpers.oauth2CC(url, twitParams, header)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; var db = window.localStorage;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; db.setItem('twitter_access_token', response.access_token);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response.access_token;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; console.log(JSON.stringify(err));&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /* Timelines */&lt;BR /&gt;
	&amp;nbsp; exports.user_timeline = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var header = 'Bearer ' + token;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.twitter.com/1.1/statuses/user_timeline.json?' + $.param(params),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Authorization': header&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /* Tweets */&lt;BR /&gt;
	&amp;nbsp; exports.get_retweets = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var header = 'Bearer ' + token;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.twitter.com/1.1/statuses/retweets/' + params.id + '.json?' + $.param(params),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Authorization': header&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.get_tweets = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var header = 'Bearer ' + token;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.twitter.com/1.1/statuses/show.json?' + $.param(params),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Authorization': header&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.get_retweeters = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var header = 'Bearer ' + token;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.twitter.com/1.1/statuses/retweeters/ids.json?' + $.param(params),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Authorization': header&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.search_tweets = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var header = 'Bearer ' + token;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; params.q = encodeURIComponent(params.q);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.twitter.com/1.1/search/tweets.json?' + $.param(params),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Authorization': header&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /* Friends &amp;amp; Followers */&lt;BR /&gt;
	&amp;nbsp; exports.get_friends = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var header = 'Bearer ' + token;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.twitter.com/1.1/friends/ids.json?' + $.param(params),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Authorization': header&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.get_followers = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var header = 'Bearer ' + token;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.twitter.com/1.1/followers/ids.json?' + $.param(params),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Authorization': header&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.show_friendship = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var header = 'Bearer ' + token;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.twitter.com/1.1/friendships/show.json?' + $.param(params),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Authorization': header&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.get_friend_list = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var header = 'Bearer ' + token;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.twitter.com/1.1/friends/list.json?' + $.param(params),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Authorization': header&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /* Users */&lt;BR /&gt;
	&amp;nbsp; exports.lookup_user = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var header = 'Bearer ' + token;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.twitter.com/1.1/users/lookup.json?' + $.param(params),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Authorization': header&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.show_user = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var header = 'Bearer ' + token;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.twitter.com/1.1/users/show.json?' + $.param(params),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Authorization': header&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /* Lists */&lt;BR /&gt;
	&amp;nbsp; exports.get_user_lists = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var header = 'Bearer ' + token;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.twitter.com/1.1/lists/list.json?' + $.param(params),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Authorization': header&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.get_list_statuses = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var header = 'Bearer ' + token;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.twitter.com/1.1/lists/statuses.json?' + $.param(params),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Authorization': header&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.get_list_memberships = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var header = 'Bearer ' + token;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.twitter.com/1.1/lists/memberships.json?' + $.param(params),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Authorization': header&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.get_list_subscribers = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var header = 'Bearer ' + token;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.twitter.com/1.1/lists/subscribers.json?' + $.param(params),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Authorization': header&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.get_list_members = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var header = 'Bearer ' + token;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.twitter.com/1.1/lists/members.json?' + $.param(params),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Authorization': header&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.get_list = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var header = 'Bearer ' + token;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.twitter.com/1.1/lists/show.json?' + $.param(params),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Authorization': header&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; /* Trends */&lt;BR /&gt;
	&amp;nbsp; exports.get_trends_place = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var header = 'Bearer ' + token;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.twitter.com/1.1/trends/place.json?' + $.param(params),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Authorization': header&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.get_trends_available = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var header = 'Bearer ' + token;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.twitter.com/1.1/trends/available.json?' + $.param(params),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Authorization': header&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;/P&gt;

&lt;P&gt;&amp;nbsp; exports.get_trends_closest = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; params = jsonCleaner(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var token = getToken();&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var header = 'Bearer ' + token;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; return $.ajax({&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; type: 'GET',&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; url: 'https://api.twitter.com/1.1/trends/closest.json?' + $.param(params),&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; headers: {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Authorization': header&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .then(function(response){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return response;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; })&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; .fail(function(err){&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; return err.responseText;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; });&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.twitter,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.edmunds = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; var exports = {};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; function make_request(params, url)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params.api_key = credentials.apiKey;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; params.fmt &amp;nbsp; &amp;nbsp; = 'json';&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; url = url + '?' + &amp;nbsp;$.param(params);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $.ajax({url: url, type: 'GET'});&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; function by_id_function(url_str, post_url)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return function(params)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var id = params.id;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; delete params.id;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var url = url_str + id + (post_url || '');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return make_request(params, url);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; function by_style_zip_function(url_str)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return function (params)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var styleid = params.styleid;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var zip &amp;nbsp; &amp;nbsp; = params.zip;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;delete params.styleid;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;delete params.zip&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var url = url_str + styleid + '/' + zip;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return make_request(params, url);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; function by_args_function(url_str, args, post_url)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return function (params)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var url = url_str;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for(var i=0; i&amp;lt; args.length; i++)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var val = params[args&lt;I&gt;];&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;delete params[args&lt;I&gt;];&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;url += '/' + val;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;url += (post_url || '');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return make_request(params, url);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;};&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; function by_url_function(url)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return function(params)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return make_request(params, url);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; // VEHICLE MAKE&lt;BR /&gt;
	&amp;nbsp; exports.GetAllMakes = by_url_function('https://api.edmunds.com/api/vehicle/v2/makes');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.CarDetailsByName = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var make = params.make;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.make;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.edmunds.com/api/vehicle/v2/' + make ;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return make_request(params, url);&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.GetMakesCount = by_url_function('https://api.edmunds.com/api/vehicle/v2/makes/count');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; //VEHICLE MODEL&lt;BR /&gt;
	&amp;nbsp; exports.DetailsByMakeAndModel = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var make &amp;nbsp; = params.make;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var model &amp;nbsp;= params.model;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.make;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.model;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.edmunds.com/api/vehicle/v2/' + make + '/' + model ;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return make_request(params, url);&lt;BR /&gt;
	&amp;nbsp; }; &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.GetAllCarModelsByCarMake = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var make &amp;nbsp; = params.make;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.make;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.edmunds.com/api/vehicle/v2/' + make + '/models' ;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return make_request(params, url);&lt;BR /&gt;
	&amp;nbsp; }; &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.GetCarModelsCount = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var make &amp;nbsp; = params.make;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.make;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.edmunds.com/api/vehicle/v2/' + make + '/models/count' ;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return make_request(params, url);&lt;BR /&gt;
	&amp;nbsp; };&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; //VEHICLE MODEL YEAR&lt;BR /&gt;
	&amp;nbsp; exports.GetCarModelYearByCarMakeAndModel = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var make &amp;nbsp; = params.make;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var model &amp;nbsp;= params.model;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.make;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.model;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.edmunds.com/api/vehicle/v2/' + make + '/' + model + '/years';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return make_request(params, url);&lt;BR /&gt;
	&amp;nbsp; }; &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.GetInfoByCarMakeAndModelAndCarYear = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var make &amp;nbsp; = params.make;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var model &amp;nbsp;= params.model;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var year &amp;nbsp; = params.year;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.make;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.model;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.year;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.edmunds.com/api/vehicle/v2/' + make + '/' + model + '/' + year;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return make_request(params, url);&lt;BR /&gt;
	&amp;nbsp; }; &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.GetCarModelYearsCountByMakeAndModel = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var make &amp;nbsp; = params.make;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var model &amp;nbsp;= params.model;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.make;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.model;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.edmunds.com/api/vehicle/v2/' + make + '/' + model + '/years/count';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return make_request(params, url);&lt;BR /&gt;
	&amp;nbsp; }; &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; //VEHICLE STYLE&lt;BR /&gt;
	&amp;nbsp; exports.GetStyleDetails = by_id_function('https://api.edmunds.com/api/vehicle/v2/styles/'); &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.GetStyleDetailsByMakeModelYear = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var make &amp;nbsp; = params.make;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var model &amp;nbsp;= params.model;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var year &amp;nbsp; = params.year;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.make;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.model;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.year;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.edmunds.com/api/vehicle/v2/' + make + '/' + model + '/' + year + '/styles';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return make_request(params, url);&lt;BR /&gt;
	&amp;nbsp; };&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.GetStylesCountByMakeModelYear = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var make &amp;nbsp; = params.make;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var model &amp;nbsp;= params.model;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var year &amp;nbsp; = params.year;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.make;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.model;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.year;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.edmunds.com/api/vehicle/v2/' + make + '/' + model + '/' + year + '/styles/count';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return make_request(params, url);&lt;BR /&gt;
	&amp;nbsp; };&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.GetStylesCountByMakeModel = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var make &amp;nbsp; = params.make;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var model &amp;nbsp;= params.model;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.make;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.model;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.edmunds.com/api/vehicle/v2/' + make + '/' + model + '/' + '/styles/count';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return make_request(params, url);&lt;BR /&gt;
	&amp;nbsp; };&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;exports.GetStylesCountByMake = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var make &amp;nbsp; = params.make;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.make;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.edmunds.com/api/vehicle/v2/' + make + &amp;nbsp;'/styles/count';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return make_request(params, url);&lt;BR /&gt;
	&amp;nbsp; };&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.GetStylesCount = by_url_function('https://api.edmunds.com/api/vehicle/v2/styles/count');&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.GetStylesDetailsByVehicleChromeID = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var chromeid &amp;nbsp; = params.chromeid;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; delete params.chromeid;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.edmunds.com/api/vehicle/v2/partners/chrome/styles/' + chromeid;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return make_request(params, url);&lt;BR /&gt;
	&amp;nbsp; };&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.GetListOfOptionsByStyleID &amp;nbsp; &amp;nbsp;= by_id_function('https://api.edmunds.com/api/vehicle/v2/styles/', '/options'); &amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.GetOptionsDetailsByID &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= by_id_function('https://api.edmunds.com/api/vehicle/v2/options/');&lt;BR /&gt;
	&amp;nbsp; exports.GetListOfColorsByStyleID &amp;nbsp; &amp;nbsp; = by_id_function('https://api.edmunds.com/api/vehicle/v2/styles/', '/colors');&lt;BR /&gt;
	&amp;nbsp; exports.GetColorDetailsByID &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= by_id_function('https://api.edmunds.com/api/vehicle/v2/colors/');&lt;BR /&gt;
	&amp;nbsp; exports.GetEnginesByStyleID &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= by_id_function('https://api.edmunds.com/api/vehicle/v2/styles/', '/engines');&lt;BR /&gt;
	&amp;nbsp; exports.GetEnginesDetailsByID &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= by_id_function('https://api.edmunds.com/api/vehicle/v2/engines/'); &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.GetTransmissionsByStyleID &amp;nbsp; &amp;nbsp;= by_id_function('https://api.edmunds.com/api/vehicle/v2/styles/', '/transmissions' );&lt;BR /&gt;
	&amp;nbsp; exports.GetTransmissionDetailsByID &amp;nbsp; = by_id_function('https://api.edmunds.com/api/vehicle/v2/transmissions/');&lt;BR /&gt;
	&amp;nbsp; exports.GetEquipmentDetailsByStyleID = by_id_function('https://api.edmunds.com/api/vehicle/v2/styles/', '/equipment');&lt;BR /&gt;
	&amp;nbsp; exports.GetEquipmentDetailsByID &amp;nbsp; &amp;nbsp; &amp;nbsp;= by_id_function('https://api.edmunds.com/api/vehicle/v2/equipment/');&lt;BR /&gt;
	&amp;nbsp; exports.GetVehicleDetailsBySquishVIN = by_id_function('https://api.edmunds.com/api/vehicle/v2/squishvins/');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.GetConfiguredVehicleByZipAndStyle = by_url_function('https://api.edmunds.com/v1/api/configurator/default');&lt;BR /&gt;
	&amp;nbsp; exports.GetConfiguredVehicleWithOptions &amp;nbsp; = by_url_function('https://api.edmunds.com/v1/api/configurator/withOptions'); &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.GetPhotoByStyleID = function (params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'https://api.edmunds.com/v1/api/vehiclephoto/service/findphotosbystyleid';&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; //the final request has URL partials in it. I'd love to reconstruct a full image URL from them,&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; //but can't find the docs for how to do so.&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return make_request(params, url);&lt;BR /&gt;
	&amp;nbsp; };&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;exports.NewTCObyStyleAndZip &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = by_style_zip_function('https://api.edmunds.com/v1/api/tco/newtruecosttoownbystyleidandzip/');&lt;BR /&gt;
	&amp;nbsp;exports.UsedTCObyStyleAndZip &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= by_style_zip_function('https://api.edmunds.com/v1/api/tco/usedtruecosttoownbystyleidandzip/');&lt;BR /&gt;
	&amp;nbsp;exports.NewTotalCashPriceByStyleAndZip &amp;nbsp;= by_style_zip_function('https://api.edmunds.com/v1/api/tco/newtotalcashpricebystyleidandzip/');&lt;BR /&gt;
	&amp;nbsp;exports.UsedTotalCashPriceByStyleAndZip = by_style_zip_function('https://api.edmunds.com/v1/api/tco/usedtotalcashpricebystyleidandzip/');&lt;BR /&gt;
	&amp;nbsp;exports.GetVehicleMakesWithTCOdata &amp;nbsp; &amp;nbsp; &amp;nbsp;= by_url_function('https://api.edmunds.com/v1/api/tco/getmakeswithtcodata');&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;exports.GetVehicleModelsWithTCOdata &amp;nbsp; &amp;nbsp; = by_url_function('https://api.edmunds.com/v1/api/tco/getmodelswithtcodata');&lt;BR /&gt;
	&amp;nbsp;exports.GetVehicleStylesWithTCOdata &amp;nbsp; &amp;nbsp; = by_url_function('https://api.edmunds.com/v1/api/tco/getstyleswithtcodatabysubmodel'); &amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;exports.AllNewTCObyStyleAndZipAndState &amp;nbsp;= by_args_function('https://api.edmunds.com/api/tco/v1/details/allnewtcobystyleidzipandstate', ['styleid', 'zip', 'state']); &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;exports.AllUsedTCObyStyleAndZipAndState = by_args_function('https://api.edmunds.com/api/tco/v1/details/allusedtcobystyleidzipandstate', ['styleid', 'zip', 'state']); &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;exports.TMVforNameYearMSRPandZip = by_args_function('https://api.edmunds.com/api/v1/vehicle', ['make', 'year'], '/price');&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;exports.TMVforVINandMSRPandZip &amp;nbsp; = by_args_function('https://api.edmunds.com/api/v1/vehicle/vin', ['vin'], '/price');&lt;BR /&gt;
	&amp;nbsp;exports.TMVforStyleAndZip &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= by_url_function('https://api.edmunds.com/v1/api/tmv/tmvservice/calculatenewtmv');&lt;BR /&gt;
	&amp;nbsp;exports.TMVforUsed &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = by_url_function('https://api.edmunds.com/v1/api/tmv/tmvservice/calculateusedtmv');&lt;BR /&gt;
	&amp;nbsp;exports.TMVforTypical &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= by_url_function('https://api.edmunds.com/v1/api/tmv/tmvservice/calculatetypicallyequippedusedtmv');&lt;BR /&gt;
	&amp;nbsp;exports.TMV_Certified &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= by_url_function('https://api.edmunds.com/v1/api/tmv/tmvservice/findcertifiedpriceforstyle');&lt;BR /&gt;
	&amp;nbsp;exports.GetRatingByMakeModelYear = by_args_function('https://api.edmunds.com/api/vehicle/v2/grade', ['make', 'model', 'year']);&lt;BR /&gt;
	&amp;nbsp;exports.GetRatingByStyle &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = by_args_function('https://api.edmunds.com/api/vehicle/v2/grade', ['styleid']);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;exports.GetReviewByMakeModelYear = by_args_function('https://api.edmunds.com/api/vehiclereviews/v2/', ['make', 'model', 'year']);&lt;BR /&gt;
	&amp;nbsp;exports.GetReviewByStyle &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = by_args_function('https://api.edmunds.com/api/vehiclereviews/v2/styles', ['styleid']);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; return exports;&lt;BR /&gt;
	}))(intel.xdk.services.credentials.edmunds,intel.xdk.services.iodocs_.helpers);&lt;BR /&gt;
	intel.xdk.services.iodocs_.Holizon = ((function (credentials, helpers) {&lt;BR /&gt;
	&amp;nbsp; var exports = {}; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; exports.itemAdd = function(params) {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; var url = 'http://localhost:8080/Holizon_Ghome/webresources/Item/AddItem'; &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; url = url + '/' + params.masterItemId+ '/'+ params.UUID+'/';&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;var parameters = "name="+params.name+"&amp;amp;state="+params.state+"&amp;amp;itemType_itemTypeId="+params.itemType_itemTypeId+"&amp;amp;usageType_usageTypeId="+params.usageType_usageTypeId+"&amp;amp;status_statusId="+params.status_statusId;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; url = url + parameters;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;return $.ajax({url: url, type: &amp;nbsp;'PUT'});&lt;BR /&gt;
	&amp;nbsp; }; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; return exports; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	}) &amp;nbsp;)(intel.xdk.services.credentials.Holizon,intel.xdk.services.iodocs_.helpers);&lt;/I&gt;&lt;/I&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 04 May 2016 14:31:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/api-request-common-js-error-when-try-it-on-web-services/m-p/1118249#M74938</guid>
      <dc:creator>Yetiskan_E_</dc:creator>
      <dc:date>2016-05-04T14:31:00Z</dc:date>
    </item>
    <item>
      <title>I'll file a bug with our web</title>
      <link>https://community.intel.com/t5/Software-Archive/api-request-common-js-error-when-try-it-on-web-services/m-p/1118250#M74939</link>
      <description>&lt;P&gt;I'll file a bug with our web services team letting them know. In the meantime, you can always make the corrections to the file yourself and simply use your copy of the library. The web services library is provided as a convenience, you are not required to use it if you understand how to make the AJAX calls yourself.&lt;/P&gt;</description>
      <pubDate>Wed, 04 May 2016 18:25:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/api-request-common-js-error-when-try-it-on-web-services/m-p/1118250#M74939</guid>
      <dc:creator>PaulF_IntelCorp</dc:creator>
      <dc:date>2016-05-04T18:25:56Z</dc:date>
    </item>
    <item>
      <title>Thanks for reporting this. It</title>
      <link>https://community.intel.com/t5/Software-Archive/api-request-common-js-error-when-try-it-on-web-services/m-p/1118251#M74940</link>
      <description>&lt;P&gt;Thanks for reporting this. It was a problem on the server. It should be working now. &amp;nbsp;If not, let me know.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 04 May 2016 22:39:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/api-request-common-js-error-when-try-it-on-web-services/m-p/1118251#M74940</guid>
      <dc:creator>Chris_P_Intel</dc:creator>
      <dc:date>2016-05-04T22:39:35Z</dc:date>
    </item>
    <item>
      <title>Ok it is working now. Thanks</title>
      <link>https://community.intel.com/t5/Software-Archive/api-request-common-js-error-when-try-it-on-web-services/m-p/1118252#M74941</link>
      <description>&lt;P&gt;Ok it is working now. Thanks&lt;/P&gt;</description>
      <pubDate>Thu, 05 May 2016 06:45:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/api-request-common-js-error-when-try-it-on-web-services/m-p/1118252#M74941</guid>
      <dc:creator>Yetiskan_E_</dc:creator>
      <dc:date>2016-05-05T06:45:27Z</dc:date>
    </item>
  </channel>
</rss>

