diff --git a/site/assets/kpfanworld.bak b/site/assets/kpfanworld.bak deleted file mode 100644 index 61b1e35..0000000 Binary files a/site/assets/kpfanworld.bak and /dev/null differ diff --git a/site/trunk/404.aspx b/site/trunk/404.aspx deleted file mode 100644 index 002d3d7..0000000 --- a/site/trunk/404.aspx +++ /dev/null @@ -1,16 +0,0 @@ -<%@ Page Title="Kim Possible Fan World .:::. Page Not Found" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="404.aspx.cs" Inherits="_404" %> - - - - -
-
-

Oops!

-

That page (<%= Request.RawUrl %>) wasn't found. It might be a really old link that has been moved or died.

-

If you think this is in error, let us know by emailing us at contact@kpfanworld.com or filling out our contact form.

-

We apologize for the inconvenience!

-
-
-
- - \ No newline at end of file diff --git a/site/trunk/404.aspx.cs b/site/trunk/404.aspx.cs deleted file mode 100644 index ae2089a..0000000 --- a/site/trunk/404.aspx.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; - -public partial class _404 : System.Web.UI.Page -{ - protected override void OnLoad(EventArgs e) - { - Response.TrySkipIisCustomErrors = true; - Response.Status = "404 Not Found"; - Response.StatusCode = 404; - base.OnLoad(e); - } - protected void Page_Load(object sender, EventArgs e) - { - - } -} \ No newline at end of file diff --git a/site/trunk/404.html b/site/trunk/404.html deleted file mode 100644 index a8652c5..0000000 --- a/site/trunk/404.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - Kim Possible Fan World .:::. Home - - - - - -
- -
- - - - -
-
-
- -
- -
- -
-
-

Oops!

-

That page wasn't found. It might be a really old link taht has been moved or died.

-

If you think this is in error, let us know by emailing us at contact@kpfanworld.com or filling out our contact form.

-

We apologize for the inconvenience!

-
-
-
- - - - - - - - - - - - - \ No newline at end of file diff --git a/site/trunk/500.html b/site/trunk/500.html deleted file mode 100644 index 6473fe9..0000000 --- a/site/trunk/500.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - - - Kim Possible Fan World .:::. Error - - - - - - - - -
- -
- - - - -
-
-
- -
- -
- -
-
-

Oops!

-

That's an error. Wade's been notified and is working on fixing it right now. Try again in a few minutes.

-

If you continue to see a problem, let us know by emailing contact@kpfanworld.com.

-

We apologize for the inconvenience and thank you for your patience!

-
-
-
- - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/trunk/About.aspx b/site/trunk/About.aspx deleted file mode 100644 index e27f99c..0000000 --- a/site/trunk/About.aspx +++ /dev/null @@ -1,52 +0,0 @@ -<%@ Page Title="Kim Possible Fan World .:::. About Us" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="About.aspx.cs" Inherits="About" %> - - - - -
-
-

About Us

-

About the Site/Staff

-

- KP Fan World is a website built and maintaned by the fans for the fans. We have no affiliation with Disney whatsoever. So please DO NOT email us as though we were. We're all fans of the show "Kim Possible" and we want to share that love with everyone else that loves the show and those who may only be getting started on it. We also wanted a centralized location for all of the information related to the show such as episode and character guides, inside jokes, trivia, etc. We want to be where the fandom can live on for generations! -

-

How We Started

-

- Remember TV Tome? If you do then we welcome you, Veteran! If that's a name you've never heard before, that was before IMDb really got big. Fans were always watching TV Tome to see what information was available for their show. The TV Tome forums were one the most popular discussion boards around related to your favorite show and were the place to be if you wanted to discuss your show with other fans. -

-

All was well.

-

Then, the owner of TV Tome sold the website to CNET (later purchased by CBS) in early 2005 and TV Tome disappeared later that year, being redirected to TV.com. Well, Kim Possible fans couldn't have that. So much of what we loved about TV Tome was lost. Kim Possible Fan World was born early 2006 as a direct result of this change. Our aim was to keep it volunteer-run and keep user contributions forefront.

-

Staff Information

-
    -
  • -

    Programmer / Founder

    - Adam Humpherys
    - Website
    - Location: Idaho Falls, Idaho -
  • -
  • -

    Admin

    - Wayne Simons
    - Website
    - Location: Illinois -
  • -
-

Special Thanks

-

Donations

-
    -
  • Otis Walker
  • -
-

Web Help

-
    -
  • Michael Berger, Viper1880 -- Logo Work
  • -
  • Kyle Richards -- CSS/Styling/Graphics work
  • -
  • Wallaceb/Brian Wallace -- Episode List Population, Transcripts
  • -
  • Quin Separable -- ASiT Transcript
  • -
  • J -- Trvia, Chronology, Cover Art
  • -
  • ashleybenlove -- Supplied triva for Trivia Quiz Game
  • -
  • Commander Argus, dracko19 -- Userbar creation
  • -
  • TheBlackFairy -- Organized Images for KP's outfit guide
  • -
-
-
-
diff --git a/site/trunk/About.aspx.cs b/site/trunk/About.aspx.cs deleted file mode 100644 index a432721..0000000 --- a/site/trunk/About.aspx.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; - -public partial class About : System.Web.UI.Page -{ - protected void Page_Load(object sender, EventArgs e) - { - - } -} \ No newline at end of file diff --git a/site/trunk/Admin/Admin.master b/site/trunk/Admin/Admin.master deleted file mode 100644 index b1e66f6..0000000 --- a/site/trunk/Admin/Admin.master +++ /dev/null @@ -1,143 +0,0 @@ -<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Admin.master.cs" Inherits="Admin_Admin" %> - - - - - - - - - Kim Possible Fan World - - - - - - - -
- -
- -
- - - -
-
-
-
- - -
- -
- - - - -
- - - - - - - - - - - - - - - - diff --git a/site/trunk/Admin/Admin.master.cs b/site/trunk/Admin/Admin.master.cs deleted file mode 100644 index 833451b..0000000 --- a/site/trunk/Admin/Admin.master.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.Optimization; -using System.Web.Security; -using System.Web.UI; -using System.Web.UI.WebControls; - -public partial class Admin_Admin : System.Web.UI.MasterPage -{ - protected void Page_Load(object sender, EventArgs e) - { - plhBundles.Controls.Add(new LiteralControl(Scripts.Render("~/bundle/js").ToHtmlString())); - plhBundles.Controls.Add(new LiteralControl(Styles.Render("~/bundle/css").ToHtmlString())); - } - - protected void lbLogout_Click(object sender, EventArgs e) - { - FormsAuthentication.SignOut(); - Response.Redirect("/", true); - } -} diff --git a/site/trunk/Admin/Default.aspx b/site/trunk/Admin/Default.aspx deleted file mode 100644 index 6dbe6b7..0000000 --- a/site/trunk/Admin/Default.aspx +++ /dev/null @@ -1,13 +0,0 @@ -<%@ Page Title="Admin Control Panel" Language="C#" MasterPageFile="~/Admin/Admin.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Admin_Default" %> - - - - -
-
-

Admin Control Panel

-
-
-
- - \ No newline at end of file diff --git a/site/trunk/Admin/Default.aspx.cs b/site/trunk/Admin/Default.aspx.cs deleted file mode 100644 index 7e6d86e..0000000 --- a/site/trunk/Admin/Default.aspx.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; - -public partial class Admin_Default : System.Web.UI.Page -{ - protected void Page_Load(object sender, EventArgs e) - { - - } -} \ No newline at end of file diff --git a/site/trunk/Admin/Pages.aspx b/site/trunk/Admin/Pages.aspx deleted file mode 100644 index fa755a9..0000000 --- a/site/trunk/Admin/Pages.aspx +++ /dev/null @@ -1,76 +0,0 @@ -<%@ Page Title="" Language="C#" MasterPageFile="~/Admin/Admin.master" AutoEventWireup="true" CodeFile="Pages.aspx.cs" Inherits="kpfw.Admin.Pages" %> - - - - -
-
- -

Page Management

- -
-
- - - - - - - - -
-
- -
- -

Add/Edit Page

- -
-
- -
-
- -
-
-
-
- -
-
- -
-
-
-
- -
-
- -
-
-
- - -
-
-
-
-
- - - - - - - diff --git a/site/trunk/Admin/Pages.aspx.cs b/site/trunk/Admin/Pages.aspx.cs deleted file mode 100644 index 04bfbb9..0000000 --- a/site/trunk/Admin/Pages.aspx.cs +++ /dev/null @@ -1,104 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; - -namespace kpfw.Admin -{ - public partial class Pages : System.Web.UI.Page - { - protected int? PageId - { - get { return ViewState["PageId"] as int?; } - set { ViewState["PageId"] = value; } - } - protected void Page_Load(object sender, EventArgs e) - { - if (!IsPostBack) - { - grdPages.DataSource = ContentPage.List(); - grdPages.DataBind(); - } - } - - protected void btnAddPage_Click(object sender, EventArgs e) - { - PageId = null; - - LoadDetails(); - - ListPnl.Visible = false; - ItemPnl.Visible = true; - } - - protected void LoadDetails() - { - if (PageId == null) - { - txtName.Text = ""; - txtContent.Text = ""; - txtUrl.Text = ""; - } - else - { - var cp = ContentPage.Get(PageId.Value); - txtName.Text = cp.Name; - txtUrl.Text = cp.Path; - txtContent.Text = cp.Content; - } - } - - protected void btnSave_Click(object sender, EventArgs e) - { - if (!IsValid) - return; - - var cp = new ContentPage - { - Name = txtName.Text, - Path = txtUrl.Text, - Content = txtContent.Text - }; - - if (PageId == null) - { - cp.Add(); - PageId = cp.Id; - } - else - { - cp.Id = PageId.Value; - cp.Set(); - } - - ListPnl.Visible = false; - ItemPnl.Visible = true; - - grdPages.DataSource = ContentPage.List(); - grdPages.DataBind(); - } - - protected void btnCancel_Click(object sender, EventArgs e) - { - PageId = null; - - ListPnl.Visible = true; - ItemPnl.Visible = false; - - grdPages.DataSource = ContentPage.List(); - grdPages.DataBind(); - } - - protected void grdPages_SelectedIndexChanged(object sender, EventArgs e) - { - PageId = (int)grdPages.DataKeys[grdPages.SelectedIndex].Value; - - LoadDetails(); - - ListPnl.Visible = false; - ItemPnl.Visible = true; - } - } -} \ No newline at end of file diff --git a/site/trunk/Admin/Web.config b/site/trunk/Admin/Web.config deleted file mode 100644 index d285add..0000000 --- a/site/trunk/Admin/Web.config +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/site/trunk/App_Code/Auth.cs b/site/trunk/App_Code/Auth.cs deleted file mode 100644 index 4827742..0000000 --- a/site/trunk/App_Code/Auth.cs +++ /dev/null @@ -1,83 +0,0 @@ -using CryptSharp; -using System.Text; - -namespace kpfw -{ - /// - /// Summary description for Auth - /// - public class Auth - { - private string _md5Hash; - private string _hash; - private string _pwd; - private string _dbHash; - - /// - /// Instantiate Auth object - /// - /// User provided password - /// Database hash. For older accounts, this will be MD5. For newer/updated accounts, it will be more secure. - public Auth(string password, string hash) - { - _pwd = password.ToBase64(); - _dbHash = hash; - _md5Hash = CalculateMD5Hash(password); - _hash = Crypter.Sha512.Crypt(password); - } - - /// - /// Instantiate Auth object - /// - /// User provided password - public Auth(string password) - { - _pwd = password.ToBase64(); - _md5Hash = CalculateMD5Hash(password); - _hash = Crypter.Sha512.Crypt(password); - } - - /// - /// See if the password is correct - /// - /// Lets the application know if the database is still using an MD5 hash - /// True if the password is correct, false if it is not - public bool Compare(out bool isMD5) - { - bool isValid = false; - isMD5 = _dbHash.Length == 32 && !_dbHash.Contains("$"); - if (!isMD5) - isValid = Crypter.CheckPassword(_pwd.FromBase64(), _dbHash); - else - isValid = _md5Hash == _dbHash; - - return isValid; - } - - /// - /// Returns hash of a given password (not MD5). This can be used to update a user's password as well. - /// - /// Hash as a string - public string GetNewHash() - { - return _hash; - } - - private static string CalculateMD5Hash(string input) - { - // step 1, calculate MD5 hash from input - var md5 = System.Security.Cryptography.MD5.Create(); - byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input); - byte[] hash = md5.ComputeHash(inputBytes); - - // step 2, convert byte array to hex string - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < hash.Length; i++) - { - sb.Append(hash[i].ToString("X2")); - } - - return sb.ToString().ToLower(); - } - } -} \ No newline at end of file diff --git a/site/trunk/App_Code/Authentication/MyFormsAuthentication.cs b/site/trunk/App_Code/Authentication/MyFormsAuthentication.cs deleted file mode 100644 index a125a03..0000000 --- a/site/trunk/App_Code/Authentication/MyFormsAuthentication.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.Security; -using System.Data; - -/// -/// Summary description for MyFormsAuthentication -/// -namespace kpfw -{ - public class MyFormsAuthentication - { - public static void SignOut() - { - FormsAuthentication.SignOut(); - } - } -} \ No newline at end of file diff --git a/site/trunk/App_Code/Authentication/MyIdentity.cs b/site/trunk/App_Code/Authentication/MyIdentity.cs deleted file mode 100644 index efd4066..0000000 --- a/site/trunk/App_Code/Authentication/MyIdentity.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System; -using System.Collections.Specialized; -using System.Security.Principal; -using System.Web.Security; - -namespace kpfw -{ - [Serializable] - public class MyIdentity : IIdentity - { - public string AuthenticationType - { - get - { - return "Cookie"; - } - } - - public bool IsAuthenticated - { - get - { - return false; - } - } - - public string Name - { - get - { - return _name; - } - } - - public MyIdentity(string name) - { - _name = name; - } - - private string _name; - } -} \ No newline at end of file diff --git a/site/trunk/App_Code/Authentication/MyMembershipProvider.cs b/site/trunk/App_Code/Authentication/MyMembershipProvider.cs deleted file mode 100644 index b00c33a..0000000 --- a/site/trunk/App_Code/Authentication/MyMembershipProvider.cs +++ /dev/null @@ -1,194 +0,0 @@ -using System; -using System.Data; -using System.Web.Security; - -namespace kpfw -{ - public class MyMembershipProvider : MembershipProvider - { - public MyMembershipProvider() - { } - - public override bool ChangePassword(string username, string oldPassword, string newPassword) - { - throw new NotImplementedException(); - //return DBUser.SetPassword(username, oldPassword, newPassword); - } - - public override bool ChangePasswordQuestionAndAnswer(string username, string password, string newPasswordQuestion, string newPasswordAnswer) - { - throw new NotSupportedException(); - } - - public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) - { - throw new NotSupportedException(); - } - - public override bool DeleteUser(string username, bool deleteAllRelatedData) - { - throw new NotSupportedException(); - } - - public override MembershipUserCollection FindUsersByEmail(string emailToMatch, int pageIndex, int pageSize, out int totalRecords) - { - throw new NotSupportedException(); - } - - public override MembershipUserCollection FindUsersByName(string usernameToMatch, int pageIndex, int pageSize, out int totalRecords) - { - throw new NotSupportedException(); - } - - public override MembershipUserCollection GetAllUsers(int pageIndex, int pageSize, out int totalRecords) - { - throw new NotSupportedException(); - } - - public override int GetNumberOfUsersOnline() - { - throw new NotSupportedException(); - } - - public override string GetPassword(string username, string answer) - { - throw new NotImplementedException(); - } - - public override MembershipUser GetUser(object providerUserKey, bool userIsOnline) - { - throw new NotSupportedException(); - } - - public override MembershipUser GetUser(string username, bool userIsOnline) - { - throw new NotImplementedException(); - //DataRow r = DBUser.GetByLogin(username); - //if (r == null) - // return null; - - //return new MembershipUser(this.Name, (string)r["Login"], - // r["Id"], (string)r["Email"], (string)r["SecurityQuestion"], "", - // (bool)r["IsActive"], false, DateTime.MinValue, - // DateTime.MinValue, DateTime.MinValue, DateTime.MinValue, - // DateTime.MinValue); - } - - public override string GetUserNameByEmail(string email) - { - throw new NotSupportedException(); - } - - public override string ResetPassword(string username, string answer) - { - throw new NotSupportedException(); - } - - public override bool UnlockUser(string userName) - { - throw new NotSupportedException(); - } - - public override void UpdateUser(MembershipUser user) - { - throw new NotSupportedException(); - } - - public override bool ValidateUser(string username, string password) - { - throw new NotImplementedException(); - } - - public override string ApplicationName - { - get - { - throw new NotSupportedException(); - } - set - { - throw new NotSupportedException(); - } - } - - public override bool EnablePasswordReset - { - get - { - throw new NotSupportedException(); - } - } - - public override bool EnablePasswordRetrieval - { - get - { - return true; - } - } - - public override int MaxInvalidPasswordAttempts - { - get - { - throw new NotSupportedException(); - } - } - - public override int MinRequiredNonAlphanumericCharacters - { - get - { - return 0; - } - } - - public override int MinRequiredPasswordLength - { - get - { - return 1; - } - } - - public override int PasswordAttemptWindow - { - get - { - return 1; - } - } - - public override MembershipPasswordFormat PasswordFormat - { - get - { - return MembershipPasswordFormat.Hashed; - } - } - - public override string PasswordStrengthRegularExpression - { - get - { - return ""; - } - } - - public override bool RequiresQuestionAndAnswer - { - get - { - return false; - } - } - - public override bool RequiresUniqueEmail - { - get - { - return true; - } - } - } -} \ No newline at end of file diff --git a/site/trunk/App_Code/Authentication/MyProfileProvider.cs b/site/trunk/App_Code/Authentication/MyProfileProvider.cs deleted file mode 100644 index a51306f..0000000 --- a/site/trunk/App_Code/Authentication/MyProfileProvider.cs +++ /dev/null @@ -1,104 +0,0 @@ -using System; -using System.Data; -using System.Configuration; -using System.Web; -using System.Web.Profile; - -namespace kpfw -{ - public class MyProfileProvider : ProfileProvider - { - public override string ApplicationName - { - get - { - return ""; - } - set - { - throw new NotSupportedException(); - } - } - - public override SettingsPropertyValueCollection - GetPropertyValues(SettingsContext context, - SettingsPropertyCollection ppc) - { - string login = (string)context["UserName"]; - bool isAuthenticated = (bool)context["IsAuthenticated"]; - - if (login.Length <= 0) - throw new Exception("Login empty"); - - SettingsPropertyValueCollection svc = - new SettingsPropertyValueCollection(); - - //DataRow r = DBUser.GetByLogin(login); - //foreach (SettingsProperty prop in ppc) - //{ - // SettingsPropertyValue pv = new SettingsPropertyValue(prop); - - // if (r != null) - // pv.PropertyValue = r[prop.Name]; - // else - // pv.PropertyValue = ""; - - // svc.Add(pv); - //} - - return svc; - } - - public override void SetPropertyValues(SettingsContext context, - SettingsPropertyValueCollection properties) - { - string login = (string)context["UserName"]; - bool isAuthenticated = (bool)context["IsAuthenticated"]; - - if (login.Length <= 0) - throw new Exception("Login empty"); - - //DBUser.SetOrCreate(login, properties); - } - - public override int DeleteInactiveProfiles(ProfileAuthenticationOption authenticationOption, DateTime userInactiveSinceDate) - { - throw new NotSupportedException(); - } - - public override int DeleteProfiles(string[] usernames) - { - throw new NotSupportedException(); - } - - public override int DeleteProfiles(ProfileInfoCollection profiles) - { - throw new NotSupportedException(); - } - - public override ProfileInfoCollection FindInactiveProfilesByUserName(ProfileAuthenticationOption authenticationOption, string usernameToMatch, DateTime userInactiveSinceDate, int pageIndex, int pageSize, out int totalRecords) - { - throw new NotSupportedException(); - } - - public override ProfileInfoCollection FindProfilesByUserName(ProfileAuthenticationOption authenticationOption, string usernameToMatch, int pageIndex, int pageSize, out int totalRecords) - { - throw new NotSupportedException(); - } - - public override ProfileInfoCollection GetAllInactiveProfiles(ProfileAuthenticationOption authenticationOption, DateTime userInactiveSinceDate, int pageIndex, int pageSize, out int totalRecords) - { - throw new NotSupportedException(); - } - - public override ProfileInfoCollection GetAllProfiles(ProfileAuthenticationOption authenticationOption, int pageIndex, int pageSize, out int totalRecords) - { - throw new NotSupportedException(); - } - - public override int GetNumberOfInactiveProfiles(ProfileAuthenticationOption authenticationOption, DateTime userInactiveSinceDate) - { - throw new NotSupportedException(); - } - } -} \ No newline at end of file diff --git a/site/trunk/App_Code/Authentication/MyRoleProvider.cs b/site/trunk/App_Code/Authentication/MyRoleProvider.cs deleted file mode 100644 index 4de80ef..0000000 --- a/site/trunk/App_Code/Authentication/MyRoleProvider.cs +++ /dev/null @@ -1,152 +0,0 @@ -using System; -using System.Collections.Specialized; -using System.Web.Security; -using System.Data; -using System.Collections.Generic; -using System.Web; - -namespace kpfw -{ - public class MyRoleProvider : RoleProvider - { - public override string ApplicationName - { - get - { - return ""; - } - set - { - throw new NotSupportedException(); - } - } - - public override void Initialize(string name, NameValueCollection config) - { - base.Initialize(name, config); - char[] seps = { ',' }; - - AdminLogins = config["adminLogin"].Split(seps); - } - - public override void AddUsersToRoles(string[] usernames, string[] rolenames) - { - throw new NotSupportedException(); - } - - public override void CreateRole(string rolename) - { - throw new NotSupportedException(); - } - - public override bool DeleteRole(string rolename, bool throwOnPopulatedRole) - { - throw new NotSupportedException(); - } - - public override string[] GetAllRoles() - { - throw new NotSupportedException(); - } - - public override string[] GetRolesForUser(string username) - { - List groups = new List(); - - foreach (string s in AdminLogins) - if (username == s) - groups.Add("Administrator"); - //if (username == "Administrator") - //{ - // groups.Add("SuperAdmin"); - // groups.Add("Administrator"); - //} - - //if (RequestContext.UserIdNullable != null) - //{ - // if (HttpContext.Current.Session != null) - // { - // // loop through groups in database and add them if assigned to user - // foreach (string group in UserGroups) - // groups.Add(group); - // } - // else - // { - // DataTable t = DBGroups.Groups_ListForUser(RequestContext.UserId); - // List settings = new List(); - // foreach (DataRow r in t.Rows) - // { - // if (r["Name"] != DBNull.Value) - // groups.Add(r["Name"].ToString()); - // } - // } - //} - - if (groups.Count > 0) - return groups.ToArray(); - - return new string[0]; - } - - public override string[] GetUsersInRole(string rolename) - { - throw new NotSupportedException(); - } - - public override bool IsUserInRole(string username, string rolename) - { - throw new NotSupportedException(); - } - - public override void RemoveUsersFromRoles(string[] usernames, string[] rolenames) - { - throw new NotSupportedException(); - } - - public override bool RoleExists(string rolename) - { - throw new NotSupportedException(); - } - - public override string[] FindUsersInRole(string rolename, string usernameToMatch) - { - throw new NotSupportedException(); - } - - public static void SetUserGroups(Nullable userId) - { - //DataTable t = DBGroups.Groups_ListForUser(userId != null ? userId.Value : RequestContext.UserId); - //List settings = new List(); - //foreach (DataRow r in t.Rows) - //{ - // if (r["Name"] != DBNull.Value) - // settings.Add(r["Name"].ToString()); - //} - //UserGroups = settings; - } - - static public List UserGroups - { - get - { - if (HttpContext.Current.Session["UserGroups"] != null) - { - return HttpContext.Current.Session["UserGroups"] as List; - } - else - { - SetUserGroups(null); - return HttpContext.Current.Session["UserGroups"] as List; - } - } - set - { - if (HttpContext.Current.Session["UserGroups"] != null) - HttpContext.Current.Session.Remove("UserGroups"); - HttpContext.Current.Session.Add("UserGroups", value); - } - } - - private string[] AdminLogins; - } -} \ No newline at end of file diff --git a/site/trunk/App_Code/Authy.cs b/site/trunk/App_Code/Authy.cs deleted file mode 100644 index 057e6b7..0000000 --- a/site/trunk/App_Code/Authy.cs +++ /dev/null @@ -1,113 +0,0 @@ -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Net; -using System.Web; - -namespace kpfw -{ - /// - /// Summary description for Authy - /// - public class AuthyClient : IDisposable - { - private readonly string _ApiKey; - private readonly bool _IsTest; - - private const string TestUrlBase = "sandbox-api.authy.com"; - private const string UrlBase = "api.authy.com"; - - public AuthyClient(string key, bool isTest = false) - { - _ApiKey = key; - _IsTest = isTest; - } - - public void Dispose() - { - - } - - private HttpWebRequest BeginRequest(string apiPath, string method) - { - ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; - var client = (HttpWebRequest)WebRequest.Create(new Uri($"https://{(_IsTest ? TestUrlBase : UrlBase)}/protected/json/{apiPath}")); - client.Headers.Add("X-Authy-API-Key", _ApiKey); - client.Method = method; - - return client; - } - - public string GetAuthenticatorQR(int authyUserId, string userName, string secret) - { - var client = BeginRequest($"users/{authyUserId}/{secret}", HttpMethod.POST); - byte[] data = System.Text.Encoding.UTF8.GetBytes("qr_size=300&label=" + userName); - client.ContentType = "application/x-www-form-urlencoded"; - client.ContentLength = data.Length; - - using (var stream = client.GetRequestStream()) - { - stream.Write(data, 0, data.Length); - } - - HttpWebResponse response; - try - { - response = (HttpWebResponse)client.GetResponse(); - - QRResponse j = JsonConvert.DeserializeObject(new StreamReader(response.GetResponseStream()).ReadToEnd()); - - if (j.Success) - return j.QR_Code; - } - catch (WebException wEx) - { - response = (HttpWebResponse)wEx.Response; - string error = new StreamReader(response.GetResponseStream()).ReadToEnd(); - } - - return "Failed."; - } - - public bool VerifyToken(int authyUserId, int token) - { - var client = BeginRequest($"verify/{token}/{authyUserId}", HttpMethod.GET); - - try - { - var resp = client.GetResponse(); - string res = new StreamReader(resp.GetResponseStream()).ReadToEnd(); - return true; - } - catch (Exception ex) - { - string res = new StreamReader(((WebException)ex).Response.GetResponseStream()).ReadToEnd(); - return false; - } - } - - public void AddUser(string email, string phone, string countryCode) - { - var client = BeginRequest("users/new", HttpMethod.POST); - } - } - public class HttpMethod - { - public const string GET = "GET"; - public const string POST = "POST"; - } - public class QRResponse - { - [JsonProperty("label")] - public string Label { get; set; } - [JsonProperty("issuer")] - public string Issuer { get; set; } - [JsonProperty("qr_code")] - public string QR_Code { get; set; } - [JsonProperty("success")] - public bool Success { get; set; } - } -} \ No newline at end of file diff --git a/site/trunk/App_Code/CapsMarkdown.cs b/site/trunk/App_Code/CapsMarkdown.cs deleted file mode 100644 index 0bb7a45..0000000 --- a/site/trunk/App_Code/CapsMarkdown.cs +++ /dev/null @@ -1,187 +0,0 @@ -using Markdig; -using Markdig.Helpers; -using Markdig.Parsers; -using Markdig.Renderers; -using Markdig.Renderers.Html; -using Markdig.Syntax.Inlines; -using System.Diagnostics; -using System.Linq; -using System.Text; - -namespace kpfw -{ - /// - /// Summary description for CapsMarkdown - /// - [DebuggerDisplay("{" + nameof(CapEpisode) + "," + nameof(CapNumber) + "}")] - public class Caps : LeafInline - { - public StringSlice CapNumber { get; set; } - public StringSlice CapEpisode { get; set; } - } - public class CapsOptions - { - public CapsOptions() - { - - } - } - public class CapsRenderer : HtmlObjectRenderer - { - private CapsOptions _options; - - public CapsRenderer(CapsOptions options) - { - _options = options; - } - - public CapsRenderer() - { - } - - protected override void Write(HtmlRenderer renderer, Caps obj) - { - StringSlice CapNumber; - StringSlice CapEpisode; - - CapNumber = obj.CapNumber; - CapEpisode = obj.CapEpisode; - var ep = EpCapsList.S1List.Where(e => e.UrlLabel == CapEpisode.Text); - if (ep.Count() == 0) - ep = EpCapsList.S2List.Where(e => e.UrlLabel == CapEpisode.Text); - if (ep.Count() == 0) - ep = EpCapsList.S3List.Where(e => e.UrlLabel == CapEpisode.Text); - if (ep.Count() == 0) - ep = EpCapsList.S4List.Where(e => e.UrlLabel == CapEpisode.Text); - if (ep.Count() == 0) - ep = EpCapsList.MovieList.Where(e => e.UrlLabel == CapEpisode.Text); - if (ep.Count() == 0) - ep = EpCapsList.MiscList.Where(e => e.UrlLabel == CapEpisode.Text); - - if (ep.Count() == 0) - return; // The user supplied an invalid argument - - var epUrl = ep.First().CDNPath; - - if (renderer.EnableHtmlForInline) - { - renderer.Write(""); - renderer.Write(""); - renderer.Write(""); - } - else - { - renderer.Write("{").Write(CapEpisode).Write(", ").Write(CapNumber).Write("}"); - } - - //if (renderer.EnableHtmlForInline) - //{ - // renderer.Write("').Write('#').Write(issueNumber).Write(""); - //} - //else - //{ - // renderer.Write('#').Write(obj.IssueNumber); - //} - } - } - public class CapsInlineParser : InlineParser - { - private static readonly char[] _openingCharacters = "{".ToCharArray(); - public CapsInlineParser() - { - this.OpeningCharacters = _openingCharacters; - } - public override bool Match(InlineProcessor processor, ref StringSlice slice) - { - bool matchFound; - char previous; - - matchFound = false; - previous = slice.PeekCharExtra(-1); - - if (!previous.IsWhiteSpaceOrZero()) - { - return false; - } - - char current; - int start; - int end; - - slice.NextChar(); - - current = slice.CurrentChar; - start = slice.Start; - end = start; - - StringBuilder ep = new StringBuilder(); - StringBuilder num = new StringBuilder(); - - while (current != ',') - { - end = slice.Start; - ep.Append(current); - current = slice.NextChar(); - } - - current = slice.NextChar(); - - while (current != '}') - { - end = slice.Start; - num.Append(current); - current = slice.NextChar(); - } - - current = slice.NextChar(); - - if (current.IsWhiteSpaceOrZero()) - { - int inlineStart; - inlineStart = processor.GetSourcePosition(slice.Start, out int line, out int column); - - processor.Inline = new Caps() { Span = { Start = inlineStart, End = inlineStart + (end - start) + 1 }, Line = line, Column = column, CapEpisode = new StringSlice(ep.ToString()), CapNumber = new StringSlice(num.ToString()) }; - - matchFound = true; - } - - return matchFound; - } - } - public class CapsExtension : IMarkdownExtension - { - public void Setup(MarkdownPipelineBuilder pipeline) - { - OrderedList parsers; - - parsers = pipeline.InlineParsers; - - if (!parsers.Contains()) - { - parsers.Add(new CapsInlineParser()); - } - } - - public void Setup(MarkdownPipeline pipeline, IMarkdownRenderer renderer) - { - HtmlRenderer htmlRenderer; - ObjectRendererCollection renderers; - - htmlRenderer = renderer as HtmlRenderer; - renderers = htmlRenderer?.ObjectRenderers; - - if (renderers != null && !renderers.Contains()) - { - renderers.Add(new CapsRenderer()); - } - } - } - -} \ No newline at end of file diff --git a/site/trunk/App_Code/EpCapsList.cs b/site/trunk/App_Code/EpCapsList.cs deleted file mode 100644 index 421b8bc..0000000 --- a/site/trunk/App_Code/EpCapsList.cs +++ /dev/null @@ -1,148 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; - -namespace kpfw -{ - /// - /// Summary description for EpCapsList - /// - public static class EpCapsList - { - public static List S1List = new List() - { - // Season 1 - new EpisodeTitle() { Title = "Crush", UrlLabel = "crush", CDNPath = "Crush", Count = 1258 }, - new EpisodeTitle() { Title = "Sink Or Swim", UrlLabel = "sink-or-swim", CDNPath = "Sink Or Swim", Count = 1265 }, - new EpisodeTitle() { Title = "The New Ron", UrlLabel = "the-new-ron", CDNPath = "The New Ron", Count = 1258 }, - new EpisodeTitle() { Title = "Tick Tick Tick", UrlLabel = "tick-tick-tick", CDNPath = "Tick Tick Tick", Count = 1261 }, - new EpisodeTitle() { Title = "Downhill", UrlLabel = "downhill", CDNPath = "Downhill", Count = 1265 }, - new EpisodeTitle() { Title = "Bueno Nacho", UrlLabel = "bueno-nacho", CDNPath = "Bueno Nacho", Count = 1264 }, - new EpisodeTitle() { Title = "Number One", UrlLabel = "number-one", CDNPath = "Number One", Count = 1263 }, - new EpisodeTitle() { Title = "Mind Games", UrlLabel = "mind-games", CDNPath = "Mind Games", Count = 1267 }, - new EpisodeTitle() { Title = "Attack of the Killer Bebes", UrlLabel = "attack-of-the-killer-bebes", CDNPath = "Attack of the Killer Bebes", Count = 1259 }, - new EpisodeTitle() { Title = "Royal Pain", UrlLabel = "royal-pain", CDNPath = "Royal Pain", Count = 1264 }, - new EpisodeTitle() { Title = "Coach Possible", UrlLabel = "coach-possible", CDNPath = "Coach possible", Count = 1264 }, - new EpisodeTitle() { Title = "Pain King vs. Cleopatra", UrlLabel = "pain-king-vs-cleopatra", CDNPath = "Pain King vs Cleopatra", Count = 1265 }, - new EpisodeTitle() { Title = "Monkey Fist Strikes", UrlLabel = "monkey-fist-strikes", CDNPath = "Monkey Fist Strikes", Count = 1261 }, - new EpisodeTitle() { Title = "October 31st", UrlLabel = "october-31st", CDNPath = "October 31st", Count = 1260 }, - new EpisodeTitle() { Title = "All the News", UrlLabel = "all-the-news", CDNPath = "All the News", Count = 1263 }, - new EpisodeTitle() { Title = "Kimitation Nation", UrlLabel = "kimitation-nation", CDNPath = "Kimitation Nation", Count = 1260 }, - new EpisodeTitle() { Title = "The Twin Factor", UrlLabel = "the-twin-factor", CDNPath = "The Twin Factor", Count = 1261 }, - new EpisodeTitle() { Title = "Animal Attraction", UrlLabel = "animal-attraction", CDNPath = "Animal Attraction", Count = 1259 }, - new EpisodeTitle() { Title = "Monkey Ninjas in Space", UrlLabel = "monkey-ninjas-in-space", CDNPath = "Monkey Ninjas In Space", Count = 1261 }, - new EpisodeTitle() { Title = "Ron the Man", UrlLabel = "ron-the-man", CDNPath = "Ron the Man", Count = 1258 }, - new EpisodeTitle() { Title = "Low Budget", UrlLabel = "low-budget", CDNPath = "Low Budget", Count = 1259 } - }; - public static List S2List = new List() - { - // Season 2 - new EpisodeTitle() { Title = "Naked Genius", UrlLabel = "naked-genius", CDNPath = "Naked Genius", Count = 1255 }, - new EpisodeTitle() { Title = "Grudge Match", UrlLabel = "grudge-match", CDNPath = "Grudge Match", Count = 1262 }, - new EpisodeTitle() { Title = "Two to Tutor", UrlLabel = "two-to-tutor", CDNPath = "Two to Tutor", Count = 1259 }, - new EpisodeTitle() { Title = "The Ron Factor", UrlLabel = "the-ron-factor", CDNPath = "The Ron Factor", Count = 1266 }, - new EpisodeTitle() { Title = "Car Trouble", UrlLabel = "car-trouble", CDNPath = "Car Trouble", Count = 1260 }, - new EpisodeTitle() { Title = "Rufus in Show", UrlLabel = "rufus-in-show", CDNPath = "Rufus in Show", Count = 627 }, - new EpisodeTitle() { Title = "Adventures in Rufus-Sitting", UrlLabel = "adventures-in-rufus-sitting", CDNPath = "Adventures in Rufus-Sitting", Count = 627 }, - new EpisodeTitle() { Title = "Job Unfair", UrlLabel = "job-unfair", CDNPath = "Job Unfair", Count = 1265 }, - new EpisodeTitle() { Title = "The Golden Years", UrlLabel = "the-golden-years", CDNPath = "The Golden Years", Count = 1267 }, - new EpisodeTitle() { Title = "Vir-Tu-Ron", UrlLabel = "vir-tu-ron", CDNPath = "Virtu-Ron", Count = 1264 }, - new EpisodeTitle() { Title = "The Fearless Ferret", UrlLabel = "the-fearless-ferret", CDNPath = "The Fearless Ferret", Count = 1263 }, - new EpisodeTitle() { Title = "Exchange", UrlLabel = "exchange", CDNPath = "Exchange", Count = 1265 }, - new EpisodeTitle() { Title = "Rufus vs. Commodore Puddles", UrlLabel = "rufus-vs-commodore-puddles", CDNPath = "Rufus vs Commodore Puddles", Count = 630 }, - new EpisodeTitle() { Title = "Day of the Snowmen", UrlLabel = "day-of-the-snowmen", CDNPath = "Day of the Snowmen", Count = 630 }, - new EpisodeTitle() { Title = "A Sitch in Time: Present (1)", UrlLabel = "a-sitch-in-time-present-1", CDNPath = "ASiT 1 Present", Count = 1269 }, - new EpisodeTitle() { Title = "A Sitch in Time: Past (2)", UrlLabel = "a-sitch-in-time-past-2", CDNPath = "ASiT 2 Past", Count = 1268 }, - new EpisodeTitle() { Title = "A Sitch in Time: Future (3)", UrlLabel = "a-sitch-in-time-future-3", CDNPath = "ASiT 3 Future", Count = 1271 }, - new EpisodeTitle() { Title = "A Very Possible Christmas", UrlLabel = "a-very-possible-christmas", CDNPath = "A Very Possible Christmas", Count = 1265 }, - new EpisodeTitle() { Title = "Queen Bebe", UrlLabel = "queen-bebe", CDNPath = "Queen Bebe", Count = 1267 }, - new EpisodeTitle() { Title = "Hidden Talent", UrlLabel = "hidden-talent", CDNPath = "Hidden Talent", Count = 1267 }, - new EpisodeTitle() { Title = "Return to Camp Wannaweep", UrlLabel = "return-to-camp-wannaweep", CDNPath = "Return to Camp Wannaweep", Count = 1270 }, - new EpisodeTitle() { Title = "Go Team Go", UrlLabel = "go-team-go", CDNPath = "Go Team Go", Count = 1267 }, - new EpisodeTitle() { Title = "The Full Monkey", UrlLabel = "the-full-monkey", CDNPath = "The Full Monkey", Count = 1268 }, - new EpisodeTitle() { Title = "Blush", UrlLabel = "blush", CDNPath = "Blush", Count = 1269 }, - new EpisodeTitle() { Title = "Partners", UrlLabel = "partners", CDNPath = "Partners", Count = 1258 }, - new EpisodeTitle() { Title = "Oh Boyz", UrlLabel = "oh-boyz", CDNPath = "Oh Boyz", Count = 1267 }, - new EpisodeTitle() { Title = "Sick Day", UrlLabel = "sick-day", CDNPath = "Sick Day", Count = 630 }, - new EpisodeTitle() { Title = "The Truth Hurts", UrlLabel = "the-truth-hurts", CDNPath = "Truth Hurts", Count = 630 }, - new EpisodeTitle() { Title = "Mother's Day", UrlLabel = "mothers-day", CDNPath = "Mothers day", Count = 1269 }, - new EpisodeTitle() { Title = "Motor Ed", UrlLabel = "motor-ed", CDNPath = "Motor Ed", Count = 1262 }, - new EpisodeTitle() { Title = "Ron Millionaire", UrlLabel = "ron-millionaire", CDNPath = "Ron Millionaire", Count = 1266 }, - new EpisodeTitle() { Title = "Triple S", UrlLabel = "triple-s", CDNPath = "Triple S", Count = 1269 }, - new EpisodeTitle() { Title = "Rewriting History", UrlLabel = "rewriting-history", CDNPath = "Rewriting History", Count = 1258 }, - new EpisodeTitle() { Title = "Showdown at the Crooked D", UrlLabel = "showdown-at-the-crooked-d", CDNPath = "Showdown at the Crooked D", Count = 1266 } - }; - public static List S3List = new List() - { - // Season 3 - new EpisodeTitle() { Title = "Steal Wheels", UrlLabel = "steal-wheels", CDNPath = "Steal Wheels", Count = 1258 }, - new EpisodeTitle() { Title = "Emotion Sickness", UrlLabel = "emotion-sickness", CDNPath = "Emotion Sickness", Count = 1269 }, - new EpisodeTitle() { Title = "Bonding", UrlLabel = "bonding", CDNPath = "Bonding", Count = 1268 }, - new EpisodeTitle() { Title = "Bad Boy", UrlLabel = "bad-boy", CDNPath = "Bad Boy", Count = 1261 }, - new EpisodeTitle() { Title = "Dimension Twist", UrlLabel = "dimension-twist", CDNPath = "Dimension Twist", Count = 1255 }, - new EpisodeTitle() { Title = "Overdue", UrlLabel = "overdue", CDNPath = "Overdue", Count = 629 }, - new EpisodeTitle() { Title = "Roachie", UrlLabel = "roachie", CDNPath = "Roachie", Count = 631 }, - new EpisodeTitle() { Title = "Rappin' Drakken", UrlLabel = "rappin-drakken", CDNPath = "Rappin Drakken", Count = 1265 }, - new EpisodeTitle() { Title = "Team Impossible", UrlLabel = "team-impossible", CDNPath = "Team Impossible", Count = 1266 }, - new EpisodeTitle() { Title = "Gorilla Fist", UrlLabel = "gorilla-fist", CDNPath = "Gorilla Fist", Count = 1272 }, - new EpisodeTitle() { Title = "And The Molerat Will Be CGI...", UrlLabel = "and-the-molerat-will-be-cgi", CDNPath = "And the Molerat Will Be CGI", Count = 1264 } - }; - public static List S4List = new List() - { - // Season 4 - new EpisodeTitle() { Title = "Ill-Suited", UrlLabel = "ill-suited", CDNPath = "Ill-Suited", Count = 1284 }, - new EpisodeTitle() { Title = "Car Alarm", UrlLabel = "car-alarm", CDNPath = "Car Alarm", Count = 1278 }, - new EpisodeTitle() { Title = "Trading Faces", UrlLabel = "trading-faces", CDNPath = "Trading faces", Count = 1282 }, - new EpisodeTitle() { Title = "The Big Job", UrlLabel = "the-big-job", CDNPath = "The Big Job", Count = 1282 }, - new EpisodeTitle() { Title = "Mad Dogs and Aliens", UrlLabel = "mad-dogs-and-aliens", CDNPath = "Mad Dogs and Aliens", Count = 1282 }, - new EpisodeTitle() { Title = "Nursery Crimes", UrlLabel = "nursery-crimes", CDNPath = "Nusery Crimes", Count = 661 }, - new EpisodeTitle() { Title = "The Cupid Effect", UrlLabel = "the-cupid-effect", CDNPath = "The Cupid Effect", Count = 1282 }, - new EpisodeTitle() { Title = "Clothes Minded", UrlLabel = "clothes-minded", CDNPath = "Clothes Minded", Count = 1288 }, - new EpisodeTitle() { Title = "Fashion Victim", UrlLabel = "fashion-victim", CDNPath = "Fashion Victim", Count = 1280 }, - new EpisodeTitle() { Title = "Odds Man In", UrlLabel = "odds-man-in", CDNPath = "Odds Man In", Count = 1276 }, - new EpisodeTitle() { Title = "Grande Size Me", UrlLabel = "grande-size-me", CDNPath = "Grande Size Me", Count = 1286 }, - new EpisodeTitle() { Title = "Big Bother", UrlLabel = "big-bother", CDNPath = "Big Bother", Count = 1283 }, - new EpisodeTitle() { Title = "Clean Slate", UrlLabel = "clean-slate", CDNPath = "Clean Slate", Count = 1274 }, - new EpisodeTitle() { Title = "Mathter and Fervent", UrlLabel = "mathter-and-fervent", CDNPath = "Mathter and Fervent", Count = 1290 }, - new EpisodeTitle() { Title = "Homecoming Upset", UrlLabel = "homecoming-upset", CDNPath = "Homecoming Upset", Count = 1279 }, - new EpisodeTitle() { Title = "The Mentor of Our Discontent", UrlLabel = "mentor-of-our-discontent", CDNPath = "The Mentor of Our Discontent", Count = 1290 }, - new EpisodeTitle() { Title = "Cap'n Drakken", UrlLabel = "capn-drakken", CDNPath = "Capn Drakken", Count = 1286 }, - new EpisodeTitle() { Title = "Stop Team Go", UrlLabel = "stop-team-go", CDNPath = "Stop Team Go", Count = 1279 }, - new EpisodeTitle() { Title = "Larry's Birthday", UrlLabel = "larrys-birthday", CDNPath = "Larrys Birthday", Count = 1275 }, - new EpisodeTitle() { Title = "Oh No! Yono!", UrlLabel = "oh-no-yono", CDNPath = "Oh No Yono", Count = 1278 }, - new EpisodeTitle() { Title = "Chasing Rufus", UrlLabel = "chasing-rufus", CDNPath = "Chasing Rufus", Count = 619 }, - new EpisodeTitle() { Title = "Graduation Part 1", UrlLabel = "graduation-pt-1", CDNPath = "Graduation Pt 1", Count = 1272 }, - new EpisodeTitle() { Title = "Graduation Part 2", UrlLabel = "graduation-pt-2", CDNPath = "Graduation Pt 2", Count = 1276 } - }; - public static List MovieList = new List() - { - // Movies and stuff - new EpisodeTitle() { Title = "A Sitch in Time", UrlLabel = "a-sitch-in-time", CDNPath = "A Sitch in Time", Count = 3795 }, - new EpisodeTitle() { Title = "So the Drama", UrlLabel = "so-the-drama", CDNPath = "std", Count = 2700 }, - new EpisodeTitle() { Title = "Kim Possible (2019)", UrlLabel = "kim-possible-2019", CDNPath = "Kim Possible 2019", Count = 5117 } - }; - public static List MiscList = new List() - { - // Miscellaneous - new EpisodeTitle() { Title = "Lilo and Stitch: Rufus", UrlLabel = "ls-rufus", CDNPath = "LS Rufus", Count = 1256 }, - new EpisodeTitle() { Title = "Opening", UrlLabel = "opening", CDNPath = "Opening", Count = 266 }, - new EpisodeTitle() { Title = "Season 4 Opening", UrlLabel = "season-4-opening", CDNPath = "S4 Opening", Count = 284 }, - new EpisodeTitle() { Title = "Half Opening", UrlLabel = "half-opening", CDNPath = "Half Opening", Count = 45 }, - new EpisodeTitle() { Title = "The Secret Files", UrlLabel = "the-secret-files", CDNPath = "The Secret Files", Count = 1062 }, - new EpisodeTitle() { Title = "The Secret Files: Wacko Bad Guys", UrlLabel = "the-secret-files-wacko-bad-guys", CDNPath = "misc/TSF-WackoBadGuys", Count = 80 }, - new EpisodeTitle() { Title = "Could it Be", UrlLabel = "could-it-be", CDNPath = "misc/cib", Count = 247 }, - new EpisodeTitle() { Title = "Get Your Shine On", UrlLabel = "get-your-shine-on", CDNPath = "misc/gyso", Count = 188 }, - new EpisodeTitle() { Title = "It's Just You", UrlLabel = "its-just-you", CDNPath = "misc/ItsJustYou", Count = 349 }, - new EpisodeTitle() { Title = "Say the Word", UrlLabel = "say-the-word", CDNPath = "misc/STW", Count = 329 }, - new EpisodeTitle() { Title = "The Naked Mole Rap", UrlLabel = "the-naked-mole-rap", CDNPath = "misc/nmr", Count = 237 }, - new EpisodeTitle() { Title = "So the Drama Deleted Scenes", UrlLabel = "so-the-drama-deleted-scenes", CDNPath = "misc/StD-DeletedScenes", Count = 120 }, - new EpisodeTitle() { Title = "Kim Possible Ad (from The Secret Files)", UrlLabel = "kim-possible-tv-ad", CDNPath = "misc/KP-Ad-TSF", Count = 60 }, - new EpisodeTitle() { Title = "The Villain Files Opening", UrlLabel = "the-villain-files-opening", CDNPath = "misc/TVF_Opening", Count = 181 }, - new EpisodeTitle() { Title = "The Villain Files: Villain Party", UrlLabel = "the-villain-files-villain-party", CDNPath = "misc/TVF-VillainParty", Count = 115 }, - new EpisodeTitle() { Title = "Tick Tick Tick Additional", UrlLabel = "tick-tick-tick-additional", CDNPath = "misc/tick-tick-tick", Count = 256 }, - new EpisodeTitle() { Title = "Rappin' Drakken Additional", UrlLabel = "rappin-drakken-additional", CDNPath = "misc/rappin-drakken", Count = 1 }, - new EpisodeTitle() { Title = "Other (Memes, etc)", UrlLabel = "other-memes-etc", CDNPath = "other", Count = 39 } - }; - } -} \ No newline at end of file diff --git a/site/trunk/App_Code/Extensions.cs b/site/trunk/App_Code/Extensions.cs deleted file mode 100644 index a3c3868..0000000 --- a/site/trunk/App_Code/Extensions.cs +++ /dev/null @@ -1,77 +0,0 @@ -using Markdig; -using Markdig.Helpers; -using Robo; -using System; -using System.Collections.Generic; -using System.Data; -using System.Linq; -using System.Text; -using System.Web; - -namespace kpfw -{ - /// - /// Summary description for Extensions - /// - public static class Extensions - { - public static string ToBase64(this string val) - { - return Convert.ToBase64String(Encoding.UTF8.GetBytes(val)); - } - public static string FromBase64(this string val) - { - return Encoding.UTF8.GetString(Convert.FromBase64String(val)); - } - public static string RenderBBCode(this string val) - { - string[] find = { "[b]", "[/b]", "[B]", "[/B]", "[i]", "[/i]", "\\'", "\\\"", "[u]", "[/u]", "[b/]" }; - string[] replace = { "", "", "", "", "", "", "'", "\"", "", "", "" }; - //string v = val.Replace("[b]", "").Replace("[/b]", ""); - //v = v.Replace("[i]", "").Replace("[/i]", ""); - //v = v.Replace("\\'", "'").Replace("\\\"", "\""); - - return val.Replace(find, replace); - } - public static IEnumerable Trim(this IEnumerable val) - { - List l = val.ToList(); - for (int i = 0; i< l.Count; i++) - l[i] = l[i].Trim(); - - return l; - } - public static string RenderImdbLinks(this string[] vals) - { - string val = ""; - foreach (string v in vals) - { - DataRow r; - using (SqlCmd cmd = new SqlCmd("SELECT ImdbNameID FROM CrewLink WHERE CrewName = @CrewMember", false)) - { - cmd.AddIString("@CrewMember", 50, v); - r = cmd.ExecuteSingleRowOrNull(); - } - if (r == null) - val += $" {v}"; - else - val += @" {v}"; - } - - return val.Trim(); - } - public static MarkdownPipelineBuilder UseCaps(this MarkdownPipelineBuilder pipeline) - { - OrderedList extensions; - - extensions = pipeline.Extensions; - - if (!extensions.Contains()) - { - extensions.Add(new CapsExtension()); - } - - return pipeline; - } - } -} \ No newline at end of file diff --git a/site/trunk/App_Code/HttpModule.cs b/site/trunk/App_Code/HttpModule.cs deleted file mode 100644 index 2a932c0..0000000 --- a/site/trunk/App_Code/HttpModule.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; - -namespace kpfw -{ - /// - /// Summary description for HttpModule - /// - public class HttpModule : IHttpModule - { - public void Dispose() - { } - - public void Init(HttpApplication context) - { - context.PreSendRequestHeaders += OnPreSendRequestHeaders; - } - - void OnPreSendRequestHeaders(object sender, EventArgs e) - { - // modify the "Server" Http Header - HttpContext.Current.Response.Headers.Remove("Server"); - } - } -} \ No newline at end of file diff --git a/site/trunk/App_Code/MailChimpApi.cs b/site/trunk/App_Code/MailChimpApi.cs deleted file mode 100644 index 5abcd34..0000000 --- a/site/trunk/App_Code/MailChimpApi.cs +++ /dev/null @@ -1,67 +0,0 @@ -using MailChimp.Net; -using MailChimp.Net.Interfaces; -using MailChimp.Net.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; - -namespace kpfw -{ - /// - /// Summary description for MailChimpApi - /// - public static class MailChimpApi - { - static public bool CheckIfSubscribed(string email) - { - MailChimpManager manager = new MailChimpManager(SiteConfiguration.MailChimpApiKey); - var exists = manager.Members.ExistsAsync(SiteConfiguration.MailChimpListID, email); - var e = exists.Result; - return e; - } - static public void Subscribe(string email) - { - MailChimpManager manager = new MailChimpManager(SiteConfiguration.MailChimpApiKey); - var member = new Member { EmailAddress = email, StatusIfNew = Status.Pending }; - var newMember = manager.Members.AddOrUpdateAsync(SiteConfiguration.MailChimpListID, member); - var n = newMember.Result; - } - static public void Activate(string email) - { - MailChimpManager manager = new MailChimpManager(SiteConfiguration.MailChimpApiKey); - var member = new Member { EmailAddress = email, Status = Status.Subscribed }; - var newMember = manager.Members.AddOrUpdateAsync(SiteConfiguration.MailChimpListID, member); - var n = newMember.Result; - } - static public void Deactivate(string email) - { - MailChimpManager manager = new MailChimpManager(SiteConfiguration.MailChimpApiKey); - var member = new Member { EmailAddress = email, Status = Status.Unsubscribed }; - var newMember = manager.Members.AddOrUpdateAsync(SiteConfiguration.MailChimpListID, member); - var n = newMember.Result; - } - static public void Delete(string email) - { - MailChimpManager manager = new MailChimpManager(SiteConfiguration.MailChimpApiKey); - var newMember = manager.Members.DeleteAsync(SiteConfiguration.MailChimpListID, email); - newMember.Wait(); - } - static public List ListLists() - { - List l = new List(); - MailChimpManager manager = new MailChimpManager(SiteConfiguration.MailChimpApiKey); - var lists = manager.Lists.GetAllAsync(); - foreach(var list in lists.Result) - l.Add(list.Name + ": " + list.Id); - - return l; - } - static public void Test() - { - MailChimpManager manager = new MailChimpManager(SiteConfiguration.MailChimpApiKey); - var lists = manager.Lists.GetAllAsync(); - var l = lists.Result; - } - } -} \ No newline at end of file diff --git a/site/trunk/App_Code/Notification.cs b/site/trunk/App_Code/Notification.cs deleted file mode 100644 index bad74df..0000000 --- a/site/trunk/App_Code/Notification.cs +++ /dev/null @@ -1,97 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Net; -using System.Net.Mail; -using System.Web; - -namespace kpfw -{ - /// - /// Summary description for Notification - /// - public static class Notification - { - public static void SendEmail(string to, string subject, string body) - { - MailMessage m = new MailMessage("contact@kpfanworld.com", to) - { - Body = body, - Subject = subject, - IsBodyHtml = true - }; - - SmtpClient c = new SmtpClient() - { - Credentials = new NetworkCredential(SiteConfiguration.SESAccessKey, SiteConfiguration.SmtpPassword) - }; - try - { - c.Send(m); - } - catch { } - } - - static public void SendError(Exception ex, string note = "") - { - MailMessage m = new MailMessage(); - try - { - // that send process does not include default bcc copying - m = new MailMessage("contact@kpfanworld.com", "adam@kpfanworld.com"); - } - catch { } - m.Subject = "[KP Fan World] Web application error" + (note.Length > 0 ? " (" + note + ")" : ""); - m.Body = GetFullError(ex); - - SmtpClient c = new SmtpClient() - { - Credentials = new NetworkCredential(SiteConfiguration.SESAccessKey, SiteConfiguration.SmtpPassword) - }; - try - { - c.Send(m); - } - catch (Exception) - { } - m.Dispose(); - } - - static private string GetFullError(Exception ex) - { - HttpContext context = HttpContext.Current; - string sPostedData = ""; - foreach (string sKey in context.Request.Form.Keys) - { - if (sKey.StartsWith("__VIEW") || sKey.StartsWith("__EVENT")) - continue; - sPostedData += " " + sKey + " = " + context.Request.Form[sKey] + "\n"; - } - - string sHeaderList = ""; - foreach (string sKey in context.Request.Headers.Keys) - sHeaderList += " " + sKey + " = " + context.Request.Headers[sKey] + "\n"; - - string header = ""; - if (ex != null) - { - Exception headerEx = ex; - if (headerEx.InnerException != null) - headerEx = headerEx.InnerException; - if (headerEx != null) - header = headerEx.Message + "\r\n\r\n"; - } - - return - header + - "Error Type: Web Application Error\n" + - "Server Name: " + context.Server.MachineName + "\n" + - "Client Ip: " + context.Request.UserHostAddress + "\n" + - "Request Url: " + context.Request.Url.AbsoluteUri + "\n" + - "Headers: \n" + sHeaderList + - "Posted Data: \n" + sPostedData + - "Exception: \n" + - Robo.ExcDetails.Get(ex); - } - } -} \ No newline at end of file diff --git a/site/trunk/App_Code/Objects/Article.cs b/site/trunk/App_Code/Objects/Article.cs deleted file mode 100644 index 3f3755f..0000000 --- a/site/trunk/App_Code/Objects/Article.cs +++ /dev/null @@ -1,105 +0,0 @@ -using Robo; -using System; -using System.Collections.Generic; -using System.Data; -using System.Linq; -using System.Text.RegularExpressions; -using System.Web; - -namespace kpfw -{ - /// - /// Summary description for Article - /// - public class Article - { - public int Id { get; set; } - public User Author { get; set; } - public string Title { get; set; } = ""; - public string SubHeading { get; set; } = ""; - public string ShortDescription { get; set; } = ""; - public string Content { get; set; } = ""; - public DateTime PublishDate { get; set; } - public string UrlLabel { get; set; } = ""; - public string Url { get { return $"{PublishDate:yyyy/MM}/{UrlLabel}"; } } - public string AuthorName { get { return Author.DisplayName; } } - - public Article() - { - Author = new User(); - } - - public void Add() - { - using (SqlCmd cmd = new SqlCmd("INSERT INTO Article VALUES (@UserId, @Title, @SubHeading, @ShortDescription, @Content, @PublishDate, @UrlLabel); SET @Id = SCOPE_IDENTITY();", false)) - { - cmd.AddIInt("@UserId", Author.Id); - cmd.AddIString("@Title", 300, Title); - cmd.AddIString("@SubHeading", 300, SubHeading); - cmd.AddIString("@ShortDescription", 1000, ShortDescription); - cmd.AddIString("@Content", -1, Content); - cmd.AddIDateTime("@PublishDate", PublishDate); - cmd.AddIString("@UrlLabel", 300, CreateUrl()); - cmd.AddOInt("@Id"); - cmd.Execute(); - Id = cmd.GetInt("@Id"); - } - } - - public void Set() - { - using (SqlCmd cmd = new SqlCmd("UPDATE Article SET Title = @Title, SubHeading = @SubHeading, ShortDescription = @ShortDescription, Content = @Content, PublishDate = @PublishDate, UrlLabel = @UrlLabel WHERE Id = @Id", false)) - { - cmd.AddIInt("@Id", Id); - cmd.AddIString("@Title", 300, Title); - cmd.AddIString("@SubHeading", 300, SubHeading); - cmd.AddIString("@ShortDescription", 1000, ShortDescription); - cmd.AddIString("@Content", -1, Content); - cmd.AddIDateTime("@PublishDate", PublishDate); - cmd.AddIString("@UrlLabel", 300, CreateUrl()); - cmd.Execute(); - } - } - - public static List
List() - { - List
l = new List
(); - - return l; - } - - private bool UrlExists() - { - DataRow r; - using (SqlCmd cmd = new SqlCmd("SELECT Id FROM Article WHERE UrlLabel = @UrlLabel AND MONTH(PublishDate) = MONTH(@Date) AND YEAR(PublishDate) = YEAR(@Date)", false)) - { - cmd.AddIString("@UrlLabel", 300, UrlLabel); - cmd.AddIDateTime("@Date", PublishDate); - r = cmd.ExecuteSingleRowOrNull(); - } - if (r == null) - return false; - - return (int)r["Id"] != Id; - } - - private string CreateUrl() - { - string url = Regex.Replace(Title, "[^0-9a-zA-Z-_/ ]", "", RegexOptions.Compiled); - url = Regex.Replace(url, "[_/ ]", "-", RegexOptions.Compiled); - - while (url.Contains("--")) - url = url.Replace("--", "-"); - - UrlLabel = url; - int attempt = 1; - while (UrlExists()) - { - UrlLabel = url + "-" + attempt; - attempt++; - } - - return UrlLabel; - } - } -} \ No newline at end of file diff --git a/site/trunk/App_Code/Objects/Episode.cs b/site/trunk/App_Code/Objects/Episode.cs deleted file mode 100644 index accc93b..0000000 --- a/site/trunk/App_Code/Objects/Episode.cs +++ /dev/null @@ -1,169 +0,0 @@ -using Robo; -using System; -using System.Collections.Generic; -using System.Data; -using System.Linq; -using System.Web; - -namespace kpfw -{ - /// - /// Summary description for Episode - /// - public class Episode - { - public int Id { get; set; } - public int Number { get; set; } - public string Title { get; set; } - public string UrlLabel { get; set; } - public string Description { get; set; } - public DateTime AirDate { get; set; } - public string ProductionNumber { get; set; } - public string Studio { get; set; } - public string[] Writer { get; set; } - public string[] Director { get; set; } - public string[] Producer { get; set; } - public string[] ExecutiveProducer { get; set; } - public string[] Stars { get; set; } - public string[] GuestStars { get; set; } - public string Recap { get; set; } - public string Transcript { get; set; } - public int Season { get { return Convert.ToInt32(ProductionNumber[0].ToString()); } } - public bool HasTranscript { get; set; } - - public Episode() - { - // - // TODO: Add constructor logic here - // - } - - public static List List(int? season = null) - { - List list = new List(); - DataTable t; - using (SqlCmd cmd = new SqlCmd("SELECT Id, Number, Title, AirDate, ProductionNumber, UrlLabel, CASE WHEN LEN(Transcript) > 10 THEN CAST(1 as bit) ELSE CAST(0 as bit) END as HasTranscript FROM Episode WHERE @Season IS NULL OR ProductionNumber LIKE @Season + '-%'", false)) - { - cmd.AddIString("@Season", 10, season?.ToString()); - t = cmd.ExecuteTable(); - } - - foreach (DataRow r in t.Rows) - { - list.Add(new Episode() - { - Id = (int)r["Id"], - Number = (int)r["Number"], - Title = (string)r["Title"], - AirDate = (DateTime)r["AirDate"], - ProductionNumber = (string)r["ProductionNumber"], - UrlLabel = (string)r["UrlLabel"], - HasTranscript = (bool)r["HasTranscript"] - }); - } - - return list; - } - - public static Episode GetByUrl(string url) - { - DataRow r; - using (SqlCmd cmd = new SqlCmd("SELECT * FROM Episode WHERE UrlLabel = @Url", false)) - { - cmd.AddIString("@Url", 100, url); - r = cmd.ExecuteSingleRowOrNull(); - } - if (r == null) - return null; - - return new Episode() - { - Id = (int)r["Id"], - Number = (int)r["Number"], - Title = (string)r["Title"], - AirDate = (DateTime)r["AirDate"], - ProductionNumber = (string)r["ProductionNumber"], - Stars = ((string)r["Starring"]).Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Trim().ToArray(), - GuestStars = ((string)r["GuestStarring"]).Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Trim().ToArray(), - Producer = ((string)r["Producer"]).Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Trim().ToArray(), - ExecutiveProducer = ((string)r["ExecProducer"]).Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Trim().ToArray(), - Description = (string)r["Description"], - Writer = ((string)r["Writer"]).Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Trim().ToArray(), - Studio = (string)r["Studio"], - UrlLabel = (string)r["UrlLabel"], - Director = ((string)r["Director"]).Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Trim().ToArray(), - Recap = r["Recap"].ToString(), - Transcript = r["Transcript"].ToString() - }; - } - - public static string GetUrl(int id) - { - DataRow r; - using (SqlCmd cmd = new SqlCmd("SELECT UrlLabel FROM Episode WHERE Id = @Id", false)) - { - cmd.AddIInt("@Id", id); - r = cmd.ExecuteSingleRowOrNull(); - } - if (r == null) - return ""; - - return r["UrlLabel"].ToString(); - } - - public static DataTable ListNotes(int id) - { - using (SqlCmd cmd = new SqlCmd("SELECT Note FROM Notes WHERE EpisodeId = @Id", false)) - { - cmd.AddIInt("@Id", id); - return cmd.ExecuteTable(); - } - } - - public static DataTable ListQuotes(int id) - { - using (SqlCmd cmd = new SqlCmd("SELECT QuoteText FROM Quote WHERE EpisodeId = @Id", false)) - { - cmd.AddIInt("@Id", id); - return cmd.ExecuteTable(); - } - } - - public static DataTable ListGoofs(int id) - { - using (SqlCmd cmd = new SqlCmd("SELECT GoofText FROM Goofs WHERE EpisodeId = @Id", false)) - { - cmd.AddIInt("@Id", id); - return cmd.ExecuteTable(); - } - } - - public static DataTable ListCultural(int id) - { - using (SqlCmd cmd = new SqlCmd("SELECT CulturalText FROM Cultural WHERE EpisodeId = @Id", false)) - { - cmd.AddIInt("@Id", id); - return cmd.ExecuteTable(); - } - } - - public static string ParseBBCode(string value) - { - //value = value.Replace("[b]", "").Replace("[/b]", ""); - - return value.RenderBBCode(); - } - } - public class EpisodeTitle - { - public string Title; - public string UrlLabel; - public string CDNPath; - public int Count; - - public EpisodeTitle() - { - Count = -1; - } - } -} \ No newline at end of file diff --git a/site/trunk/App_Code/Objects/LogHistory.cs b/site/trunk/App_Code/Objects/LogHistory.cs deleted file mode 100644 index f0b220e..0000000 --- a/site/trunk/App_Code/Objects/LogHistory.cs +++ /dev/null @@ -1,63 +0,0 @@ -using Robo; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; - -namespace kpfw -{ - /// - /// Summary description for LogHistory - /// - public class LogHistory - { - public int Id { get; set; } - public int UserId { get; set; } - public LogType Type { get; set; } - public ActionType Action { get; set; } - public DateTime DateLogged { get; set; } - public string PreviousChange { get; set; } - public string NewChange { get; set; } - - public LogHistory() - { - NewChange = ""; - PreviousChange = ""; - } - - public void Add() - { - using (SqlCmd cmd = new SqlCmd("INSERT INTO LogHistory (UserId, [Type], ActionType, PreviousChange, NewChange) VALUES (@UserId, @Type, @Action, @Previous, @New)", false)) - { - cmd.AddIInt("@UserId", UserId); - cmd.AddIInt("@Type", (int)Type); - cmd.AddIInt("@Action", (int)Action); - cmd.AddIString("@Previous", -1, PreviousChange); - cmd.AddIString("@New", -1, NewChange); - cmd.Execute(); - } - } - } - - public enum LogType - { - Cast, - Crew, - Cultural, - Description, - Goof, - GuestCast, - Note, - Page, - Quote, - Recap, - Transcript - } - - public enum ActionType - { - Changed = 0, - Added = 1, - Deleted = 2 - } -} \ No newline at end of file diff --git a/site/trunk/App_Code/Objects/Page.cs b/site/trunk/App_Code/Objects/Page.cs deleted file mode 100644 index 746042a..0000000 --- a/site/trunk/App_Code/Objects/Page.cs +++ /dev/null @@ -1,112 +0,0 @@ -using Robo; -using System; -using System.Collections.Generic; -using System.Data; -using System.Linq; -using System.Web; - -namespace kpfw -{ - /// - /// Summary description for ContentPage - /// - public class ContentPage - { - public int Id { get; set; } - public string Name { get; set; } - public string Path { get; set; } - public string Content { get; set; } - - public ContentPage() - { - Name = ""; - Path = ""; - Content = ""; - } - - public static ContentPage GetByUrl(string path) - { - DataRow r; - using (SqlCmd cmd = new SqlCmd("SELECT * FROM ContentPage WHERE [Path] = @Path", false)) - { - cmd.AddIString("@Path", 100, path); - r = cmd.ExecuteSingleRowOrNull(); - } - if (r == null) - return null; - - return new ContentPage - { - Id = (int)r["Id"], - Name = (string)r["Name"], - Path = (string)r["Path"], - Content = (string)r["Content"] - }; - } - - public static ContentPage Get(int id) - { - DataRow r; - using (SqlCmd cmd = new SqlCmd("SELECT * FROM ContentPage WHERE Id = @Id", false)) - { - cmd.AddIInt("@Id", id); - r = cmd.ExecuteSingleRowOrNull(); - } - if (r == null) - return null; - - return new ContentPage - { - Id = (int)r["Id"], - Name = (string)r["Name"], - Path = (string)r["Path"], - Content = (string)r["Content"] - }; - } - - public static List List() - { - List l = new List(); - DataTable t; - using (SqlCmd cmd = new SqlCmd("SELECT * FROM ContentPage ORDER BY [Name]", false)) - { - t = cmd.ExecuteTable(); - } - foreach (DataRow r in t.Rows) - l.Add(new ContentPage - { - Id = (int)r["Id"], - Name = (string)r["Name"], - Path = (string)r["Path"], - Content = (string)r["Content"] - }); - - return l; - } - - public void Add() - { - using (SqlCmd cmd = new SqlCmd("INSERT INTO ContentPage VALUES (@Name, @Path, @Content) SET @Id = SCOPE_IDENTITY()", false)) - { - cmd.AddIString("@Name", 100, Name); - cmd.AddIString("@Path", 100, Path); - cmd.AddIString("@Content", -1, Content); - cmd.AddOInt("@Id"); - cmd.Execute(); - Id = cmd.GetInt("@Id"); - } - } - - public void Set() - { - using (SqlCmd cmd = new SqlCmd("UPDATE ContentPage SET [Name] = @Name, [Path] = @Path, Content = @Content WHERE Id = @Id", false)) - { - cmd.AddIInt("@Id", Id); - cmd.AddIString("@Name", 100, Name); - cmd.AddIString("@Path", 100, Path); - cmd.AddIString("@Content", -1, Content); - cmd.Execute(); - } - } - } -} \ No newline at end of file diff --git a/site/trunk/App_Code/Objects/Timeline.cs b/site/trunk/App_Code/Objects/Timeline.cs deleted file mode 100644 index 5cd8949..0000000 --- a/site/trunk/App_Code/Objects/Timeline.cs +++ /dev/null @@ -1,50 +0,0 @@ -using Robo; -using System; -using System.Collections.Generic; -using System.Data; -using System.Linq; -using System.Web; - -namespace kpfw -{ - /// - /// Summary description for Timeline - /// - public class Timeline - { - public int Id { get; set; } - public DateTime Date { get; set; } - public string Message { get; set; } - public int UserId { get; set; } - - public Timeline() - { - // - // TODO: Add constructor logic here - // - } - - public static List ListToday() - { - List l = new List(); - DataTable t; - using (SqlCmd cmd = new SqlCmd("SELECT * FROM Timeline WHERE MONTH(GETUTCDATE()) = MONTH([Date]) AND DAY(GETUTCDATE()) = DAY([Date])", false)) - { - t = cmd.ExecuteTable(); - } - - foreach (DataRow r in t.Rows) - { - l.Add(new Timeline - { - Id = (int)r["Id"], - Date = (DateTime)r["Date"], - Message = (string)r["Message"], - UserId = (int)r["UserId"] - }); - } - - return l; - } - } -} \ No newline at end of file diff --git a/site/trunk/App_Code/Objects/User.cs b/site/trunk/App_Code/Objects/User.cs deleted file mode 100644 index cf57ad0..0000000 --- a/site/trunk/App_Code/Objects/User.cs +++ /dev/null @@ -1,198 +0,0 @@ -using Robo; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; - -namespace kpfw -{ - /// - /// Summary description for User - /// - public class User - { - public int Id { get; set; } - public string UserName { get; set; } - public string Email { get; set; } - public DateTime JoinDate { get; set; } - public TimeZoneInfo TimeZone { get; set; } - public bool ShowEmail { get; set; } - public string DisplayName { get; set; } - public bool IsActive { get; set; } - public string TwoFactorAuth { get; set; } - - public static (string password, string userName, string displayName, int userId, bool isActive, string TwoFactorAuth)? GetPassword(string login) - { - using (SqlCmd cmd = new SqlCmd("SELECT Id, UserPassword, UserName, DisplayName, IsActive, TwoFactor FROM [User] WHERE (UserName = @Login OR UserEmail = @Login) AND IsActive = 1", false)) - { - cmd.AddIString("@Login", 50, login); - var r = cmd.ExecuteSingleRowOrNull(); - if (r == null) - return null; - - string twoFactor = r["TwoFactor"].ToString(); - - return ((string)r["UserPassword"], (string)r["UserName"], r["DisplayName"] as string ?? "", (int)r["Id"], (bool)r["IsActive"], twoFactor); - } - } - - public static User GetByLogin(string login) - { - using (SqlCmd cmd = new SqlCmd("SELECT Id, UserName, UserEmail, TimeZone, JoinDate, ShowEmail, DisplayName, IsActive, TwoFactor FROM [User] WHERE UserName = @Login OR UserEmail = @Login", false)) - { - cmd.AddIString("@Login", 50, login); - var r = cmd.ExecuteSingleRowOrNull(); - if (r == null) - return null; - - return new User - { - Id = (int)r["Id"], - UserName = (string)r["UserName"], - Email = (string)r["UserEmail"], - TimeZone = TimeZoneInfo.FindSystemTimeZoneById((string)r["TimeZone"]), - JoinDate = (DateTime)r["JoinDate"], - ShowEmail = (bool)r["ShowEmail"], - DisplayName = r["DisplayName"] as string ?? "", - IsActive = (bool)r["IsActive"], - TwoFactorAuth = r["TwoFactor"].ToString() - }; - } - } - - public static bool NeedsPasswordChanged(string login) - { - using (SqlCmd cmd = new SqlCmd("SELECT EmailConfirmation FROM [User] WHERE UserName = @Login", false)) - { - cmd.AddIString("@Login", 50, login); - var r = cmd.ExecuteSingleRowOrNull(); - if (r == null) - return false; - return r["EmailConfirmation"] as string != null; - } - } - - public static bool LoginExists(string login) - { - using (SqlCmd cmd = new SqlCmd("SELECT Id FROM [User] WHERE UserName = @Login", false)) - { - cmd.AddIString("@Login", 50, login); - return cmd.ExecuteSingleRowOrNull() != null; - } - } - - public static bool EmailExists(string email) - { - using (SqlCmd cmd = new SqlCmd("SELECT Id FROM [User] WHERE UserEmail = @Email", false)) - { - cmd.AddIString("@Email", 50, email); - return cmd.ExecuteSingleRowOrNull() != null; - } - } - - public static bool ConfirmationExists(Guid confirmation) - { - using (SqlCmd cmd = new SqlCmd("SELECT Id FROM [User] WHERE EmailConfirmation = @Confirmation", false)) - { - cmd.AddIGuid("@Confirmation", confirmation); - return cmd.ExecuteSingleRowOrNull() != null; - } - } - - public static void Activate(Guid confirmation) - { - using (SqlCmd cmd = new SqlCmd("UPDATE [User] SET IsActive = 1, EmailConfirmation = NULL WHERE EmailConfirmation = @Confirmation", false)) - { - cmd.AddIGuid("@Confirmation", confirmation); - cmd.Execute(); - } - } - - public static void Activate(int id) - { - using (SqlCmd cmd = new SqlCmd("UPDATE [User] SET IsActive = 1, EmailConfirmation = NULL WHERE Id = @Id", false)) - { - cmd.AddIInt("@Id", id); - cmd.Execute(); - } - } - - public static string GetUser(Guid confirmation) - { - using (SqlCmd cmd = new SqlCmd("SELECT UserName FROM [User] WHERE EmailConfirmation = @Confirmation", false)) - { - cmd.AddIGuid("@Confirmation", confirmation); - var r = cmd.ExecuteSingleRowOrNull(); - if (r == null) - return null; - - return (string)r["UserName"]; - } - } - - public static void UpdatePassword(int userId, string hash) - { - using (SqlCmd cmd = new SqlCmd("UPDATE [User] SET UserPassword = @Hash WHERE Id = @UserId; UPDATE ResetRequests SET PasswordReset = 1 WHERE UserId = @UserId;", false)) - { - cmd.AddIInt("@UserId", userId); - cmd.AddIString("@Hash", 250, hash); - cmd.Execute(); - } - } - - public static (bool reset, DateTime requestDate, int userId)? GetResetRequest(Guid resetRequest) - { - using (SqlCmd cmd = new SqlCmd("SELECT * FROM ResetRequests WHERE Id = @Id", false)) - { - cmd.AddIGuid("@Id", resetRequest); - var r = cmd.ExecuteSingleRowOrNull(); - if (r == null) - return null; - - return ((bool)r["PasswordReset"], (DateTime)r["RequestTime"], (int)r["UserId"]); - } - } - - public static void AddResetRequest(Guid id, int userId) - { - using (SqlCmd cmd = new SqlCmd("UPDATE ResetRequests SET PasswordReset = 1 WHERE UserId = @UserId", false)) - { - cmd.AddIInt("@UserId", userId); - cmd.Execute(); - } - using (SqlCmd cmd = new SqlCmd("INSERT INTO ResetRequests (Id, UserId) VALUES (@Id, @UserId)", false)) - { - cmd.AddIGuid("@Id", id); - cmd.AddIInt("@UserId", userId); - cmd.Execute(); - } - } - - public void Add(string password, string ip, Guid emailConfirmation) - { - using (SqlCmd cmd = new SqlCmd("INSERT INTO [User] (UserName, UserEmail, UserPassword, TimeZone, IPAddress, IsActive, EmailConfirmation) VALUES (@UserName, @UserEmail, @Password, @TimeZone, @IPAddress, 0, @EmailConfirmation); SET @Id = SCOPE_IDENTITY();", false)) - { - cmd.AddIString("@UserName", 40, UserName); - cmd.AddIString("@UserEmail", 50, Email); - cmd.AddIString("@Password", 250, password); - cmd.AddIString("@TimeZone", 50, TimeZone.Id); - cmd.AddIString("@IPAddress", 100, ip); - cmd.AddIGuid("@EmailConfirmation", emailConfirmation); - cmd.AddOInt("@Id"); - cmd.Execute(); - Id = cmd.GetInt("@Id"); - } - } - - public static void AssignEmailConfirmation(int userId, Guid? emailConfirmation, bool isActive = false) - { - using (SqlCmd cmd = new SqlCmd("UPDATE [User] SET EmailConfirmation = @EmailConfirmation, IsActive = @IsActive WHERE Id = @Id", false)) - { - cmd.AddIInt("@Id", userId); - cmd.AddIGuid("@EmailConfirmation", emailConfirmation); - cmd.AddIBool("@IsActive", isActive); - cmd.Execute(); - } - } - } -} \ No newline at end of file diff --git a/site/trunk/App_Code/PayPal.cs b/site/trunk/App_Code/PayPal.cs deleted file mode 100644 index ad4018f..0000000 --- a/site/trunk/App_Code/PayPal.cs +++ /dev/null @@ -1,345 +0,0 @@ -using PayPalApi; -using System; -using System.Collections.Generic; -using System.Linq; -using System.ServiceModel; -using System.Web; - -namespace EShop -{ - public static class PayPal - { - static string APIUserName - { - get - { - return ""; - } - } - static string APIPassword - { - get - { - return ""; - } - } - static string APISignature - { - get - { - return ""; - } - } - static string EndpointUrl - { - get - { - return "https://api-3t.paypal.com/2.0/"; - } - } - static public OrderInfo Charge(string firstName, string lastName, string address1, string address2, string city, string state, string zip, string country, string ccType, string ccNumber, string ccAuthCode, - int ccExpireYear, int ccExpireMonth, decimal priceFinal, decimal priceTax, decimal priceShipping) - { - System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12; - CreditCardTypeType cardType = CreditCardTypeType.Visa; - switch(ccType) - { - case "Visa": - case "MasterCard": - case "Discover": - cardType = (CreditCardTypeType)Enum.Parse(typeof(CreditCardTypeType), ccType.ToString()); - break; - case "AMEX": - cardType = CreditCardTypeType.Amex; - break; - default: - cardType = CreditCardTypeType.Visa; - break; - } - CountryCodeType countryCode = CountryCodeType.US; - try - { countryCode = (CountryCodeType)Enum.Parse(typeof(CountryCodeType), country); } - catch - { countryCode = (CountryCodeType)Enum.Parse(typeof(CountryCodeType), Robo.Country.NameToCode(country)); } - finally { countryCode = CountryCodeType.US; } - - using (var client = new PayPalAPIAAInterfaceClient(new BasicHttpsBinding(), new EndpointAddress(EndpointUrl))) - { - var credentials = new CustomSecurityHeaderType() - { - Credentials = new UserIdPasswordType() - { - Username = APIUserName, - Password = APIPassword, - Signature = APISignature - } - }; - DoDirectPaymentReq req = new DoDirectPaymentReq() - { - DoDirectPaymentRequest = new DoDirectPaymentRequestType() - { - Version = "121.0", - DoDirectPaymentRequestDetails = new DoDirectPaymentRequestDetailsType() - { - CreditCard = new CreditCardDetailsType() - { - CardOwner = new PayerInfoType() - { - PayerName = new PersonNameType() - { - FirstName = firstName, - LastName = lastName - }, - Address = new AddressType() - { - CityName = city, - StateOrProvince = state, - PostalCode = zip, - Country = countryCode, - Street1 = address1, - Street2 = address2 - } - }, - CreditCardNumber = ccNumber, - CreditCardType = cardType, - CreditCardTypeSpecified = true, - CVV2 = ccAuthCode, - ExpMonth = ccExpireMonth, - ExpMonthSpecified = true, - ExpYear = ccExpireYear, - ExpYearSpecified = true - }, - PaymentAction = PaymentActionCodeType.Sale, - PaymentDetails = new PaymentDetailsType() - { - OrderTotal = new BasicAmountType() - { - currencyID = CurrencyCodeType.USD, - Value = priceFinal.ToString("F2") - }, - ShippingTotal = new BasicAmountType() - { - currencyID = CurrencyCodeType.USD, - Value = priceShipping.ToString("F2") - }, - TaxTotal = new BasicAmountType() - { - currencyID = CurrencyCodeType.USD, - Value = priceTax.ToString("F2") - } - } - } - } - }; - var response = client.DoDirectPayment(ref credentials, req); - // check errors - string errors = CheckErrors(response); - OrderInfo info = new OrderInfo(); - if (errors == String.Empty) - { - info.Ack = response.Ack.ToString(); - info.TransactionID = response.TransactionID; - info.CVV2Code = response.CVV2Code; - } - else - { - info.Ack = errors; - } - return info; - } - } - public static OrderInfo Charge(decimal total, string PayPalToken, string payerId) - { - System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12; - using (var client = new PayPalAPIAAInterfaceClient(new BasicHttpsBinding(), new EndpointAddress(EndpointUrl))) - { - var credentials = new CustomSecurityHeaderType() - { - Credentials = new UserIdPasswordType() - { - Username = APIUserName, - Password = APIPassword, - Signature = APISignature - } - }; - DoExpressCheckoutPaymentReq req = new DoExpressCheckoutPaymentReq() - { - DoExpressCheckoutPaymentRequest = new DoExpressCheckoutPaymentRequestType() - { - Version = "121.0", - DoExpressCheckoutPaymentRequestDetails = new DoExpressCheckoutPaymentRequestDetailsType() - { - PaymentAction = PaymentActionCodeType.Sale, - PaymentActionSpecified = true, - Token = PayPalToken, - PayerID = payerId, - PaymentDetails = new PaymentDetailsType[1] { - new PaymentDetailsType() - { - OrderTotal = new BasicAmountType() - { - currencyID = CurrencyCodeType.USD, - Value = total.ToString("F2") - }, - ShippingTotal = new BasicAmountType() - { - currencyID = CurrencyCodeType.USD, - Value = "0.00" - }, - TaxTotal = new BasicAmountType() - { - currencyID = CurrencyCodeType.USD, - Value = "0.00" - }, - ItemTotal = new BasicAmountType() - { - currencyID = CurrencyCodeType.USD, - Value = total.ToString("F2") - } - } - } - } - } - }; - DoExpressCheckoutPaymentResponseType resp = client.DoExpressCheckoutPayment(ref credentials, req); - string errors = CheckErrors(resp); - OrderInfo info = new OrderInfo(); - if (errors == String.Empty) - { - info.Ack = resp.Ack.ToString(); - info.TransactionID = resp.DoExpressCheckoutPaymentResponseDetails.PaymentInfo[0].TransactionID; - info.ReceiptID = resp.DoExpressCheckoutPaymentResponseDetails.PaymentInfo[0].ReceiptID; - } - else - { - info.Ack = errors; - } - return info; - } - } - public static void GoToPayPalSite(string email, double totalItemsPrice) - { - string host = HttpContext.Current.Request.Url.Host; - string location = HttpContext.Current.Request.Url.Scheme + "://" + host; - if (host.Contains("localhost")) - location += ":" + HttpContext.Current.Request.Url.Port; - - string cancelUrl = location + "/Cart"; - - string token = SetExpressCheckout(email, totalItemsPrice, location, cancelUrl, true, true); - if (token.StartsWith("ERROR")) - throw new Exception(token); - - string url = ""; - - url = "https://www.paypal.com/cgi-bin/webscr?" + "cmd=_express-checkout&token=" + token; - - HttpContext.Current.Response.Redirect(url); - } - public static PayerInfoType GetExpressCheckout(string token) - { - System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12; - using (var client = new PayPalAPIAAInterfaceClient(new BasicHttpsBinding(), new EndpointAddress(EndpointUrl))) - { - var credentials = new CustomSecurityHeaderType() - { - Credentials = new UserIdPasswordType() - { - Username = APIUserName, - Password = APIPassword, - Signature = APISignature - } - }; - GetExpressCheckoutDetailsReq req = new GetExpressCheckoutDetailsReq() - { - GetExpressCheckoutDetailsRequest = new GetExpressCheckoutDetailsRequestType() - { - Version = "121.0", - Token = token - } - }; - var resp = client.GetExpressCheckoutDetails(ref credentials, req); - string errors = CheckErrors(resp); - if (errors == String.Empty) - return resp.GetExpressCheckoutDetailsResponseDetails.PayerInfo; - return new PayerInfoType() { PayerID = errors }; - } - } - public static string SetExpressCheckout(string email, double total, string returnUrl, string cancelUrl, bool allowGuestCheckout, bool showCreditCardAndAddress) - { - System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12; - using (var client = new PayPalAPIAAInterfaceClient(new BasicHttpsBinding(), new EndpointAddress(EndpointUrl))) - { - var credentials = new CustomSecurityHeaderType() - { - Credentials = new UserIdPasswordType() - { - Username = APIUserName, - Password = APIPassword, - Signature = APISignature - } - }; - SetExpressCheckoutReq req = new SetExpressCheckoutReq() - { - SetExpressCheckoutRequest = new SetExpressCheckoutRequestType() - { - Version = "121.0", - SetExpressCheckoutRequestDetails = new SetExpressCheckoutRequestDetailsType() - { - BuyerEmail = email, - OrderTotal = new BasicAmountType() - { - currencyID = CurrencyCodeType.USD, - Value = total.ToString() - }, - ReturnURL = returnUrl, - CancelURL = cancelUrl, - SolutionType = allowGuestCheckout ? SolutionTypeType.Sole : SolutionTypeType.Mark, - SolutionTypeSpecified = allowGuestCheckout, - LandingPage = LandingPageType.Billing, - LandingPageSpecified = showCreditCardAndAddress - } - } - }; - var resp = client.SetExpressCheckout(ref credentials, req); - string errors = CheckErrors(resp); - if (errors == String.Empty) - return resp.Token; - else return errors; - } - } - private static string CheckErrors(AbstractResponseType resp) - { - string text = ""; - if (resp.Ack != AckCodeType.Success) - { } - string result; - if (resp.Errors != null) - { - if (resp.Errors.Length <= 0) - { - result = text; - return result; - } - text = "ERROR: "; - for (int i = 0; i < resp.Errors.Length; i++) - { - string text2 = text; - text = string.Concat(new string[] { text2, resp.Errors[i].LongMessage, " (", resp.Errors[i].ErrorCode, ")", Environment.NewLine }); - } - } - result = text; - return result; - } - } - public class OrderInfo - { - public string Ack; - - public string CVV2Code; - - public string ReceiptID; - - public string TransactionID; - } -} \ No newline at end of file diff --git a/site/trunk/App_Code/RedirectTable.cs b/site/trunk/App_Code/RedirectTable.cs deleted file mode 100644 index 7079d57..0000000 --- a/site/trunk/App_Code/RedirectTable.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; - -/// -/// Summary description for RedirectTable -/// -public static class RedirectTable -{ - public static Dictionary CapsList = new Dictionary - { - { "LL&S_Cross_Over", "ls-rufus" }, - { "graduation.php", "graduation-pt-1" }, - { "robots.txt", "/robots.txt" }, - { "bundle/css", "/bundle/css" } - }; -} \ No newline at end of file diff --git a/site/trunk/App_Code/SiteConfiguration.cs b/site/trunk/App_Code/SiteConfiguration.cs deleted file mode 100644 index 42227c0..0000000 --- a/site/trunk/App_Code/SiteConfiguration.cs +++ /dev/null @@ -1,79 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Configuration; -using System.Linq; -using System.Security.Cryptography; -using System.Text; -using System.Web; - -namespace kpfw -{ - /// - /// Summary description for SiteConfiguration - /// - public static class SiteConfiguration - { - public static string AuthyApiKey - { - get - { - return ConfigurationManager.AppSettings["AuthyApiKey"]; - } - } - public static string MailChimpApiKey - { - get - { - return ConfigurationManager.AppSettings["MailChimpApiKey"]; - } - } - public static string MailChimpListID - { - get - { - return ConfigurationManager.AppSettings["MailChimpListID"]; - } - } - public static string ReCaptchaSecretKey - { - get - { - return ConfigurationManager.AppSettings["ReCaptchaSecretKey"]; - } - } - public static string ReCaptchaSiteKey - { - get - { - return ConfigurationManager.AppSettings["ReCaptchaSiteKey"]; - } - } - public static string SESAccessKey - { - get - { - return ConfigurationManager.AppSettings["SESAccessKey"]; - } - } - public static string SESSecret - { - get - { - return ConfigurationManager.AppSettings["SESSecret"]; - } - } - public static string SmtpPassword - { - get - { - byte[] key = Encoding.UTF8.GetBytes(SESSecret); - var sha = new HMACSHA256(key); - byte[] hash = sha.ComputeHash(Encoding.UTF8.GetBytes("SendRawEmail")); - byte ver = 0x02; - var s = hash.ToList(); - s.Insert(0, ver); - return Convert.ToBase64String(s.ToArray()); - } - } - } -} \ No newline at end of file diff --git a/site/trunk/App_Code/Sitemap.cs b/site/trunk/App_Code/Sitemap.cs deleted file mode 100644 index 84c2b42..0000000 --- a/site/trunk/App_Code/Sitemap.cs +++ /dev/null @@ -1,65 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Web; -using System.Xml.Linq; - -namespace kpfw -{ - /// - /// Summary description for Sitemap - /// - public class SitemapHandler : IHttpHandler - { - public bool IsReusable => false; - - public void ProcessRequest(HttpContext context) - { - StringBuilder sb = new StringBuilder(); - sb.AppendLine(@""); - sb.AppendLine(@""); - context.Response.ContentType = "text/xml"; - - string domain = "https://" + "www.kpfanworld.com"; - - sb.AppendLine($"{domain}"); - sb.AppendLine($"{domain}/Guides"); - sb.AppendLine($"{domain}/About"); - sb.AppendLine($"{domain}/Contact"); - sb.AppendLine($"{domain}/Chat"); - sb.AppendLine($"{domain}/Caps"); - sb.AppendLine($"{domain}/Donate"); - - foreach (var ep in Episode.List()) - { - sb.AppendLine($"{domain}/Guides/{ep.UrlLabel}"); - - if (ep.HasTranscript) - sb.AppendLine($"{domain}/Guides/{ep.UrlLabel}/Transcript"); - } - - foreach (var ep in EpCapsList.S1List) - sb.AppendLine($"{domain}/Caps/{ep.UrlLabel}"); - - foreach (var ep in EpCapsList.S2List) - sb.AppendLine($"{domain}/Caps/{ep.UrlLabel}"); - - foreach (var ep in EpCapsList.S3List) - sb.AppendLine($"{domain}/Caps/{ep.UrlLabel}"); - - foreach (var ep in EpCapsList.S4List) - sb.AppendLine($"{domain}/Caps/{ep.UrlLabel}"); - - foreach (var ep in EpCapsList.MovieList) - sb.AppendLine($"{domain}/Caps/{ep.UrlLabel}"); - - foreach (var ep in EpCapsList.MiscList) - sb.AppendLine($"{domain}/Caps/{ep.UrlLabel}"); - - sb.AppendLine(""); - - context.Response.Write(sb.ToString()); - } - } -} \ No newline at end of file diff --git a/site/trunk/Article.aspx b/site/trunk/Article.aspx deleted file mode 100644 index 0e18ea3..0000000 --- a/site/trunk/Article.aspx +++ /dev/null @@ -1,22 +0,0 @@ -<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Article.aspx.cs" Inherits="kpfw.ArticlePage" %> -<%@ Register Src="~/Controls/ListPager.ascx" TagName="Pager" TagPrefix="uc" %> -<%@ Register Namespace="MirrorControl" Assembly="MirrorControl" TagPrefix="mc" %> - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/trunk/Article.aspx.cs b/site/trunk/Article.aspx.cs deleted file mode 100644 index 66def01..0000000 --- a/site/trunk/Article.aspx.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; - -namespace kpfw -{ - public partial class ArticlePage : System.Web.UI.Page - { - protected void Page_Load(object sender, EventArgs e) - { - if (!IsPostBack) - { - rptArticleList.DataSource = pager.ProcessList(Article.List()); - rptArticleList.DataBind(); - } - } - - protected void pager_PageNumberChange(object sender, EventArgs e) - { - rptArticleList.DataSource = pager.ProcessList(Article.List()); - rptArticleList.DataBind(); - } - } -} \ No newline at end of file diff --git a/site/trunk/Bin/AWSSDK.Core.dll b/site/trunk/Bin/AWSSDK.Core.dll deleted file mode 100644 index 576debf..0000000 Binary files a/site/trunk/Bin/AWSSDK.Core.dll and /dev/null differ diff --git a/site/trunk/Bin/AWSSDK.Core.xml b/site/trunk/Bin/AWSSDK.Core.xml deleted file mode 100644 index f70e167..0000000 --- a/site/trunk/Bin/AWSSDK.Core.xml +++ /dev/null @@ -1,11265 +0,0 @@ - - - - AWSSDK.Core - - - - - Configuration options that apply to the entire SDK. - - These settings can be configured through app.config or web.config. - Below is a full sample configuration that illustrates all the possible options. - - <configSections> - <section name="aws" type="Amazon.AWSSection, AWSSDK"/> - </configSections> - <aws region="us-west-2"> - <logging logTo="Log4Net, SystemDiagnostics" logResponses="Always" logMetrics="true" /> - <s3 useSignatureVersion4="true" /> - <proxy host="localhost" port="8888" username="1" password="1" /> - - <dynamoDB> - <dynamoDBContext tableNamePrefix="Prod-"> - - <tableAliases> - <alias fromTable="FakeTable" toTable="People" /> - <alias fromTable="Persons" toTable="People" /> - </tableAliases> - - <mappings> - <map type="Sample.Tests.Author, SampleDLL" targetTable="People" /> - <map type="Sample.Tests.Editor, SampleDLL" targetTable="People"> - <property name="FullName" attribute="Name" /> - <property name="EmployeeId" attribute="Id" /> - <property name="ComplexData" converter="Sample.Tests.ComplexDataConverter, SampleDLL" /> - <property name="Version" version="true" /> - <property name="Password" ignore="true" /> - </map> - </mappings> - - </dynamoDBContext> - </dynamoDB> - </aws> - - - - Configuration options that apply to the entire SDK. - - - - - Determines if the SDK should correct for client clock skew - by determining the correct server time and reissuing the - request with the correct time. - Default value of this field is True. - will be updated with the calculated - offset even if this field is set to false, though requests - will not be corrected or retried. - - - - - The calculated clock skew correction, if there is one. - This field will be set if a service call resulted in an exception - and the SDK has determined that there is a difference between local - and server times. - - If is set to true, this - value will be set to the correction, but it will not be used by the - SDK and clock skew errors will not be retried. - - - - - Key for the AWSRegion property. - - - - - - Configures the default AWS region for clients which have not explicitly specified a region. - Changes to this setting will only take effect for newly constructed instances of AWS clients. - - This setting can be configured through the App.config. For example: - - <configSections> - <section name="aws" type="Amazon.AWSSection, AWSSDK"/> - </configSections> - <aws region="us-west-2" /> - - - - - - Key for the AWSProfileName property. - - - - - - Profile name for stored AWS credentials that will be used to make service calls. - Changes to this setting will only take effect in newly-constructed clients. - - To reference the account from an application's App.config or Web.config use the AWSProfileName setting. - - <?xml version="1.0" encoding="utf-8" ?> - <configuration> - <appSettings> - <add key="AWSProfileName" value="development"/> - </appSettings> - </configuration> - - - - - - - Key for the AWSProfilesLocation property. - - - - - - Location of the credentials file shared with other AWS SDKs. - By default, the credentials file is stored in the .aws directory in the current user's home directory. - - Changes to this setting will only take effect in newly-constructed clients. - - To reference the profile from an application's App.config or Web.config use the AWSProfileName setting. - - <?xml version="1.0" encoding="utf-8" ?> - <configuration> - <appSettings> - <add key="AWSProfilesLocation" value="c:\config"/> - </appSettings> - </configuration> - - - - - - - Key for the Logging property. - - - - - - Configures how the SDK should log events, if at all. - Changes to this setting will only take effect in newly-constructed clients. - - The setting can be configured through App.config, for example: - - <appSettings> - <add key="AWSLogging" value="log4net"/> - </appSettings> - - - - - - Key for the ResponseLogging property. - - - - - - - Configures when the SDK should log service responses. - Changes to this setting will take effect immediately. - - The setting can be configured through App.config, for example: - - <appSettings> - <add key="AWSResponseLogging" value="OnError"/> - </appSettings> - - - - - - Key for the LogMetrics property. - - - - - - Configures if the SDK should log performance metrics. - This setting configures the default LogMetrics property for all clients/configs. - Changes to this setting will only take effect in newly-constructed clients. - - The setting can be configured through App.config, for example: - - <appSettings> - <add key="AWSLogMetrics" value="true"/> - </appSettings> - - - - - - Key for the EndpointDefinition property. - - - - - - Configures if the SDK should use a custom configuration file that defines the regions and endpoints. - - <configSections> - <section name="aws" type="Amazon.AWSSection, AWSSDK"/> - </configSections> - <aws endpointDefinition="c:\config\endpoints.json" /> - - - - - - Key for the UseSdkCache property. - - - - - - Configures if the SDK Cache should be used, the default value is true. - - <configSections> - <section name="aws" type="Amazon.AWSSection, AWSSDK"/> - </configSections> - <aws useSdkCache="true" /> - - - - - - Configuration for the Logging section of AWS configuration. - Changes to some settings may not take effect until a new client is constructed. - - Example section: - - <configSections> - <section name="aws" type="Amazon.AWSSection, AWSSDK"/> - </configSections> - <aws> - <logging logTo="Log4Net, SystemDiagnostics" logResponses="Always" logMetrics="true" /> - </aws> - - - - - - Configuration for the Proxy section of AWS configuration. - Changes to some settings may not take effect until a new client is constructed. - - Example section: - - <configSections> - <section name="aws" type="Amazon.AWSSection, AWSSDK"/> - </configSections> - <aws> - <proxy host="localhost" port="8888" username="1" password="1" bypassList="addressexpr1;addressexpr2;..." bypassOnLocal="true" /> - </aws> - - - - - - Configuration for the region endpoint section of AWS configuration. - Changes may not take effect until a new client is constructed. - - Example section: - - <configSections> - <section name="aws" type="Amazon.AWSSection, AWSSDK"/> - </configSections> - <aws region="us-west-2" /> - - - - - - Lock for SomeEvent delegate access. - - - - - The unique application name for the current application. This values is currently used - by high level APIs (Mobile Analytics Manager and Cognito Sync Manager) to create a unique file - path to store local database files. - Changes to this setting will only take effect in newly-constructed objects using this property. - - <configSections> - <section name="aws" type="Amazon.AWSSection, AWSSDK"/> - </configSections> - <aws applicationName="" /> - - - - - - Add a listener for SDK logging. - - If the listener does not have a name, you will not be able to remove it later. - The source to log for, e.g. "Amazon", or "Amazon.DynamoDB". - The listener to add. - - - - Remove a trace listener from SDK logging. - - The source the listener was added to. - The name of the listener. - - - - Generates a sample XML representation of the SDK configuration section. - - - The XML returned has an example of every tag in the SDK configuration - section, and sample input for each attribute. This can be included in - an App.config or Web.config and edited to suit. Where a section contains - a collection, multiple of the same tag will be output. - - Sample XML configuration string. - - - - Logging options. - Can be combined to enable multiple loggers. - - - - - No logging - - - - - Log using log4net - - - - - Log using System.Diagnostics - - - - - Log to the console - - - - - Response logging option. - - - - - Never log service response - - - - - Only log service response when there's an error - - - - - Always log service response - - - - - Format for metrics data in the logs - - - - - Emit metrics in human-readable format - - - - - Emit metrics as JSON data - - - - - An access control policy action identifies a specific action in a service - that can be performed on a resource. For example, sending a message to a - queue. - - ActionIdentifiers allow you to limit what your access control policy statement affects. - For example, you could create a policy statement that enables a certain group - of users to send messages to your queue, but not allow them to perform any - other actions on your queue. - - - The action is B in the statement - "A has permission to do B to C where D applies." - - Free form access control policy actions may include a wildcard (*) to match - multiple actions. - - - Constants for known actions can be found in the Amazon.Auth.AccessControlPolicy.ActionIdentifiers namespace. - - - - - - Constructs an Actionidentifer with the given action name. - - The name of the action - - - - Gets and sets the name of this action. For example, 'sqs:SendMessage' is the - name corresponding to the SQS action that enables users to send a message - to an SQS queue. - - - - - AWS access control policy conditions are contained in - objects, and affect when a statement is applied. For example, a statement - that allows access to an Amazon SQS queue could use a condition to only apply - the effect of that statement for requests that are made before a certain - date, or that originate from a range of IP addresses. - - Multiple conditions can be included in a single statement, and all conditions - must evaluate to true in order for the statement to take effect. - - - The set of conditions is D in the statement - "A has permission to do B to C where D applies." - - - A condition is composed of three parts: - - - Condition Key - The condition key declares which value of a - request to pull in and compare against when a policy is evaluated by AWS. For - example, using will cause - AWS to pull in the current request's source IP as the first value to compare - against every time your policy is evaluated. - - - - Comparison Type - This is a static value used as the second value - in the comparison when your policy is evaluated. Depending on the comparison - type, this value can optionally use wildcards. See the documentation for - individual comparison types for more information. - - - - Comparison Value - This is a static value used as the second value - in the comparison when your policy is evaluated. Depending on the comparison - type, this value can optionally use wildcards. See the documentation for - individual comparison types for more information. - - - - - - - - - Gets the type of this condition. - - - - - Gets and Sets the name of the condition key involved in this condition. - Condition keys are predefined values supported by AWS that provide input - to a condition's evaluation, such as the current time, or the IP address - of the incoming request. - - Your policy is evaluated for each incoming request, and condition keys - specify what information to pull out of those incoming requests and plug - into the conditions in your policy. - - - - - - Gets and Sets the values specified for this access control policy condition. - For example, in a condition that compares the incoming IP address of a - request to a specified range of IP addresses, the range of IP addresses - is the single value in the condition. - - Most conditions accept only one value, but multiple values are possible. - - - - - - A factory for creating conditions to be used in the policy. - - - - - Condition key for the current time. - - This condition key should only be used with enum. - - - - - - Condition key for whether or not an incoming request is using a secure - transport to make the request (i.e. HTTPS instead of HTTP). - - This condition key should only be used with the boolean overload of NewCondition. - - - - - - Condition key for the source IP from which a request originates. - - This condition key should only be used with enum. - - - - - - Condition key for the user agent included in a request. - - This condition key should only be used with - enum. - - - - - - Condition key for the current time, in epoch seconds. - - This condition key should only be used with enum. - objects. - - - - - - Condition key for the referrer specified by a request. - - This condition key should only be used with - objects. - - - - - - Condition key for the Amazon Resource Name (ARN) of the source specified - in a request. The source ARN indicates which resource is affecting the - resource listed in your policy. For example, an SNS topic is the source - ARN when publishing messages from the topic to an SQS queue. - - This condition key should only be used with enum. - - - - - - Enumeration of the supported ways an ARN comparison can be evaluated. - - - - Exact matching - - - - Loose case-insensitive matching of the ARN. Each of the six - colon-delimited components of the ARN is checked separately and each - can include a multi-character match wildcard (*) or a - single-character match wildcard (?). - - - - Negated form of ArnEquals - - - Negated form of ArnLike - - - - Enumeration of the supported ways a date comparison can be evaluated. - - - - - Enumeration of the supported ways an IP address comparison can be evaluated. - - - - - Matches an IP address against a CIDR IP range, evaluating to true if - the IP address being tested is in the condition's specified CIDR IP - range. - - - - - Negated form of IpAddress - - - - - Enumeration of the supported ways a numeric comparison can be evaluated - - - - - Enumeration of the supported ways a string comparison can be evaluated. - - - - - Case-sensitive exact string matching - - - - - Case-insensitive string matching - - - - - Loose case-insensitive matching. The values can include a - multi-character match wildcard (*) or a single-character match - wildcard (?) anywhere in the string. - - - - - Negated form of StringEquals. - - - - - Negated form of StringEqualsIgnorecase. - - - - - Negated form of StringLike. - - - - - Constructs a new access control policy condition that compares ARNs (Amazon Resource Names). - - The access policy condition key specifying where to get the first ARN for the comparison - The type of comparison to perform. - The second ARN to compare against. When using ArnLike or ArnNotLike this may contain the - multi-character wildcard (*) or the single-character wildcard - - - - Constructs a new access policy condition that performs a boolean - comparison. - - The access policy condition key specifying where to get the - first boolean value for the comparison (ex: aws:SecureTransport). - The boolean to compare against. - - - - Constructs a new access policy condition that compares the current time - (on the AWS servers) to the specified date. - - The type of comparison to perform. For example, - DateComparisonType.DateLessThan will cause this policy - condition to evaluate to true if the current date is less than - the date specified in the second argument. - The date to compare against. - - - - Constructs a new access policy condition that compares the source IP - address of the incoming request to an AWS service against the specified - CIDR range. The condition evaluates to true (meaning the policy statement - containing it will be applied) if the incoming source IP address is - within that range. - - To achieve the opposite effect (i.e. cause the condition to evaluate to - true when the incoming source IP is not in the specified CIDR - range) use the alternate constructor form and specify - IpAddressComparisonType.NotIpAddress. - - - The CIDR IP range involved in the policy condition. - - - - Constructs a new access policy condition that compares the source IP - address of the incoming request to an AWS service against the specified - CIDR range. When the condition evaluates to true (i.e. when the incoming - source IP address is within the CIDR range or not) depends on the - specified IpAddressComparisonType. - - The type of comparison to to perform. - The CIDR IP range involved in the policy condition. - - - - Constructs a new access policy condition that compares two numbers. - - The type of comparison to perform. - The access policy condition key specifying where to get the - first number for the comparison. - The second number to compare against. - - - - Constructs a new access control policy condition that compares two - strings. - - The type of comparison to perform - The access policy condition key specifying where to get the - first string for the comparison (ex: aws:UserAgent). - - The second string to compare against. When using - StringComparisonType.StringLike or - StringComparisonType.StringNotLike this may contain - the multi-character wildcard (*) or the single-character - wildcard (?). - - - - - Constructs a new access policy condition that compares the Amazon - Resource Name (ARN) of the source of an AWS resource that is modifying - another AWS resource with the specified pattern. - - For example, the source ARN could be an Amazon SNS topic ARN that is - sending messages to an Amazon SQS queue. In that case, the SNS topic ARN - would be compared the ARN pattern specified here. - - - The endpoint pattern may optionally contain the multi-character wildcard - * (*) or the single-character wildcard (?). Each of the six colon-delimited - components of the ARN is checked separately and each can include a - wildcard. - - - Policy policy = new Policy("MyQueuePolicy"); - policy.WithStatements(new Statement(Statement.StatementEffect.Allow) - .WithPrincipals(new Principal("*")).WithActionIdentifiers(SQSActionIdentifiers.SendMessage) - .WithResources(new Resource(myQueueArn)) - .WithConditions(ConditionFactory.NewSourceArnCondition(myTopicArn))); - - - The ARN pattern against which the source ARN will be compared. - Each of the six colon-delimited components of the ARN is - checked separately and each can include a wildcard. - A new access control policy condition that compares the ARN of - the source specified in an incoming request with the ARN pattern - specified here. - - - - Constructs a new access control policy condition that tests if the - incoming request was sent over a secure transport (HTTPS). - - A new access control policy condition that tests if the incoming - request was sent over a secure transport (HTTPS). - - - - Condition key for the canned ACL specified by a request. - - This condition key may only be used with enum. - - - - - - Condition key for the location constraint specified by a request. - - This condition key may only be used with enum. - - - - - - Condition key for the prefix specified by a request. - - This condition key may only be used with enum. - - - - - - Condition key for the delimiter specified by a request. - - This condition key may only be used with enum. - - - - - - Condition key for the max keys specified by a request. - - This condition key may only be used with enum. - - - - - - Condition key for the source object specified by a request to copy an - object. - - This condition key may only be used with enum. - - - - - - Condition key for the metadata directive specified by a request to copy - an object. - - This condition key may only be used with enum. - - - - - - Condition key for the version ID of an object version specified by a - request. - - This condition key may only be used with enum. - - - - - - Constructs a new access policy condition that compares an Amazon S3 - canned ACL with the canned ACL specified by an incoming request. - - You can use this condition to ensure that any objects uploaded to an - Amazon S3 bucket have a specific canned ACL set. - - - The Amazon S3 canned ACL to compare against. - A new access control policy condition that compares the Amazon S3 - canned ACL specified in incoming requests against the value - specified. - - - - Condition key for The URL, e-mail address, or ARN from a Subscribe - request or a previously confirmed subscription. Use with string - conditions to restrict access to specific endpoints (e.g., - *@mycompany.com). - - This condition key may only be used with enum. - - - - - - Condition key for the protocol value from a Subscribe request or a - previously confirmed subscription. Use with string conditions to restrict - publication to specific delivery protocols (e.g., HTTPS). - - This condition key may only be used with enum. - - - - - - Constructs a new access policy condition that compares the requested - endpoint used to subscribe to an Amazon SNS topic with the specified - endpoint pattern. The endpoint pattern may optionally contain the - multi-character wildcard (*) or the single-character wildcard (?). - - For example, this condition can restrict subscriptions to a topic to - email addresses in a certain domain ("*@my-company.com"). - - - Policy policy = new Policy("MyTopicPolicy"); - policy.WithStatements(new Statement(Statement.StatementEffect.Allow) - .WithPrincipals(new Principal("*")).WithActionIdentifiers(SNSActionIdentifiers.Subscribe) - .WithResources(new Resource(myTopicArn)) - .WithConditions(ConditionFactory.NewEndpointCondition("*@my-company.com"))); - - - The endpoint pattern against which to compare the requested - endpoint for an Amazon SNS topic subscription. - A new access control policy condition that compares the endpoint - used in a request to subscribe to an Amazon SNS topic with the - endpoint pattern specified. - - - - Constructs a new AWS access control policy condition that allows an - access control statement to restrict subscriptions to an Amazon SNS topic - based on the protocol being used for the subscription. For example, this - condition can restrict subscriptions to a topic to endpoints using HTTPS - to ensure that messages are securely delivered. - - The protocol against which to compare the requested protocol - for an Amazon SNS topic subscription. - A new access control policy condition that compares the - notification protocol requested in a request to subscribe to an - Amazon SNS topic with the protocol value specified. - - - - An AWS access control policy is a object that acts as a container for one or - more statements, which specify fine grained rules for allowing or denying - various types of actions from being performed on your AWS resources. - - By default, all requests to use your resource coming from anyone but you are - denied. Access control polices can override that by allowing different types - of access to your resources, or by explicitly denying different types of - access. - - - Each statement in an AWS access control policy takes the form: - "A has permission to do B to C where D applies". - - - A is the prinicpal - The AWS account that is making a request to - access or modify one of your AWS resources. - - - - B is the action - the way in which your AWS resource is being accessed or modified, such - as sending a message to an Amazon SQS queue, or storing an object in an Amazon S3 bucket. - - - - C is the resource - your AWS entity that the principal wants to access, such - as an Amazon SQS queue, or an object stored in Amazon S3. - - - - D is the set of conditions - optional constraints that specify when to allow or deny - access for the principal to access your resource. Many expressive conditions are available, - some specific to each service. For example you can use date conditions to allow access to - your resources only after or before a specific time. - - - - - - Note that an AWS access control policy should not be confused with the - similarly named "POST form policy" concept used in Amazon S3. - - - - - - The default policy version - - - - - Constructs an empty AWS access control policy ready to be populated with - statements. - - - - - Constructs a new AWS access control policy with the specified policy ID. - The policy ID is a user specified string that serves to help developers - keep track of multiple polices. Policy IDs are often used as a human - readable name for a policy. - - The policy ID for the new policy object. Policy IDs serve to - help developers keep track of multiple policies, and are often - used to give the policy a meaningful, human readable name. - - - - Constructs a new AWS access control policy with the specified policy ID - and collection of statements. The policy ID is a user specified string - that serves to help developers keep track of multiple polices. Policy IDs - are often used as a human readable name for a policy. - - The policy ID for the new policy object. Policy IDs serve to - help developers keep track of multiple policies, and are often - used to give the policy a meaningful, human readable name. - The statements to include in the new policy. - - - - Gets and Sets the policy ID for this policy. Policy IDs serve to help - developers keep track of multiple policies, and are often used as human - readable name for a policy. - - - - - Sets the policy ID for this policy and returns the updated policy so that - multiple calls can be chained together. - - Policy IDs serve to help developers keep track of multiple policies, and - are often used as human readable name for a policy. - - - The polich ID for this policy - this instance - - - - Gets and sets the version of this AWS policy. - - - - - Gets and Sets the collection of statements contained by this policy. Individual - statements in a policy are what specify the rules that enable or disable - access to your AWS resources. - - - - - Checks to see if the permissions set in the statement are already set by another - statement in the policy. - - The statement to verify - True if the statement's permissions are already allowed by the statement - - - - Sets the collection of statements contained by this policy and returns - this policy object so that additional method calls can be chained - together. - - Individual statements in a policy are what specify the rules that enable - or disable access to your AWS resources. - - - The collection of statements included in this policy. - this instance - - - - Returns a JSON string representation of this AWS access control policy, - suitable to be sent to an AWS service as part of a request to set an - access control policy. - - A JSON string representation of this AWS access control policy. - - - - Returns a JSON string representation of this AWS access control policy, - suitable to be sent to an AWS service as part of a request to set an - access control policy. - - Toggle pretty print for the generated JSON document - A JSON string representation of this AWS access control policy. - - - - Parses a JSON document of a policy and creates a Policy object. - - JSON document of a policy. - - - - - A principal is an AWS account which is being allowed or denied access to a - resource through an access control policy. The principal is a property of the - Statement object, not directly the object. - - The principal is A in the statement - "A has permission to do B to C where D applies." - - - In an access control policy statement, you can set the principal to all - authenticated AWS users through the member. This - is useful when you don't want to restrict access based on the identity of the - requester, but instead on other identifying characteristics such as the - requester's IP address. - - - - - - Principal instance that includes all authenticated AWS users. - - This is useful when you don't want to restrict access based on the - identity of the requester, but instead on other identifying - characteristics such as the requester's IP address. - - - - - - The anonymous Principal. - - - - - The default Principal provider for AWS accounts. - - - - - Principal provider for Canonical User IDs. - - - - - Principal provider for federated users (using a SAML identity provider) - - - - - Principal provider for assume role policies that will be assumed by an AWS service - (e.g. "ec2.amazonaws.com"). - - - - - Dummy principal provider for anonynous. - - - - - Constructs a new principal with the specified AWS account ID. - - An AWS account ID. - - - - Constructs a new principal with the specified provider and id - - The provider of the principal - The unique ID of the Principal within the provider - - - - Constructs a new principal with the specified provider and id - and optionally strips hyphens from the id - - The provider of the principal - The unique ID of the Principal within the provider - Strip hyphen - - - - Gets and sets the provider for this principal, which indicates in what group of - users this principal resides. - - - - - Gets the unique ID for this principal. - - - - - Represents a resource involved in an AWS access control policy statement. - Resources are the service specific AWS entities owned by your account. Amazon - SQS queues, Amazon S3 buckets and objects, and Amazon SNS topics are all - examples of AWS resources. - - The standard way of specifying an AWS resource is with an Amazon Resource - Name (ARN). - - - The resource is C in the statement - "A has permission to do B to C where D applies." - - - - - - Constructs a new AWS access control policy resource. Resources are - typically specified as Amazon Resource Names (ARNs). - - You specify the resource using the following Amazon Resource Name (ARN) - format: arn:aws:<vendor>:<region>:<namespace>:<relative-id> - - - >vendor identifies the AWS product (e.g., sns) - - - region is the AWS Region the resource resides in (e.g., us-east-1), if any - - - namespace is the AWS account ID with no hyphens (e.g., 123456789012) - - - relative-id is the service specific portion that identifies the specific resource - - - - - For example, an Amazon SQS queue might be addressed with the following - ARN: arn:aws:sqs:us-east-1:987654321000:MyQueue - - - Some resources may not use every field in an ARN. For example, resources - in Amazon S3 are global, so they omit the region field: - arn:aws:s3:::bucket/* - - - The Amazon Resource Name (ARN) uniquely identifying the desired AWS resource. - - - - Gets the resource ID, typically an Amazon Resource Name (ARN), - identifying this resource. - - - - - A factory for creating resources to be used in the policy. - - - - - Constructs a new bucket resource that represents the the specified bucket - but not any of the contained objects. - - The name of the bucket represented by this AWS access control - policy resource. - - - - Constructs a new object resource that represents the specified objects. - The keyPattern argument may contain the '*' wildcard to match multiple - objects. For example, an object resource created for bucket 'mybucket' - and key pattern 'foo*' will match any object stored in 'mybucket' with a - key that starts with 'foo'. - - The name of the bucket containing the object or objects - represented by this resource. - The key or key pattern, which can optionally contain the '*' - wildcard to include multiple objects in the resource. - - - - Constructs a new SQS queue resource for an access control policy. A - policy statement using this resource will allow or deny actions on the - specified queue. - - The AWS account ID of the queue owner. - The name of the Amazon SQS queue. - - - - A statement is the formal description of a single permission, and is always - contained within a policy object. - - A statement describes a rule for allowing or denying access to a specific AWS - resource based on how the resource is being accessed, and who is attempting - to access the resource. Statements can also optionally contain a list of - conditions that specify when a statement is to be honored. - - - For example, consider a statement that: - - - A is the prinicpal - The AWS account that is making a request to - access or modify one of your AWS resources. - - - - B is the action - the way in which your AWS resource is being accessed or modified, such - as sending a message to an Amazon SQS queue, or storing an object in an Amazon S3 bucket. - - - - C is the resource - your AWS entity that the principal wants to access, such - as an Amazon SQS queue, or an object stored in Amazon S3. - - - - D is the set of conditions - optional constraints that specify when to allow or deny - access for the principal to access your resource. Many expressive conditions are available, - some specific to each service. For example you can use date conditions to allow access to - your resources only after or before a specific time. - - - - - - There are many resources and conditions available for use in statements, and - you can combine them to form fine grained custom access control polices. - - - - - - The effect is the result that you want a policy statement to return at - evaluation time. A policy statement can either allow access or explicitly - deny access. - - - - - Constructs a new access control policy statement with the specified - effect. - - Before a statement is valid and can be sent to AWS, callers must set the - principals, resources, and actions (as well as any optional conditions) - involved in the statement. - - - The effect this statement has (allowing access or denying - access) when all conditions, resources, principals, and - actions are matched. - - - - Gets and Sets the ID for this statement. Statement IDs serve to help keep track - of multiple statements, and are often used to give the statement a - meaningful, human readable name. - - Developers should be careful to not use the same statement ID for - multiple statements in the same policy. Reusing the same statement ID in - different policies is not a problem. - - - - - - Sets the ID for this statement and returns the updated statement so - multiple calls can be chained together. - - Statement IDs serve to help keep track of multiple statements, and are - often used to give the statement a meaningful, human readable name. - - - Developers should be careful to not use the same statement ID for - multiple statements in the same policy. Reusing the same statement ID in - different policies is not a problem. - - - The new statement ID for this statement. - this instance - - - - Gets and Sets the result effect of this policy statement when it is evaluated. - A policy statement can either allow access or explicitly - - - - - Gets and Sets the list of actions to which this policy statement applies. - Actions limit a policy statement to specific service operations that are - being allowed or denied by the policy statement. For example, you might - want to allow any AWS user to post messages to your SQS queue using the - SendMessage action, but you don't want to allow those users other actions - such as ReceiveMessage or DeleteQueue. - - - - - Sets the list of actions to which this policy statement applies and - returns this updated Statement object so that additional method calls can - be chained together. - - Actions limit a policy statement to specific service operations that are - being allowed or denied by the policy statement. For example, you might - want to allow any AWS user to post messages to your SQS queue using the - SendMessage action, but you don't want to allow those users other actions - such as ReceiveMessage or DeleteQueue. - - - The list of actions to which this statement applies. - this instance - - - - Gets and Sets the resources associated with this policy statement. Resources - are what a policy statement is allowing or denying access to, such as an - Amazon SQS queue or an Amazon SNS topic. - - Note that some services allow only one resource to be specified per - policy statement. - - - - - - Sets the resources associated with this policy statement and returns this - updated Statement object so that additional method calls can be chained - together. - - Resources are what a policy statement is allowing or denying access to, - such as an Amazon SQS queue or an Amazon SNS topic. - - - Note that some services allow only one resource to be specified per - policy statement. - - - The resources associated with this policy statement. - this instance - - - - Gets and Sets the conditions associated with this policy statement. Conditions - allow policy statements to be conditionally evaluated based on the many - available condition types. - - For example, a statement that allows access to an Amazon SQS queue could - use a condition to only apply the effect of that statement for requests - that are made before a certain date, or that originate from a range of IP - addresses. - - - When multiple conditions are included in a single statement, all - conditions must evaluate to true in order for the statement to take - effect. - - - - - - Sets the conditions associated with this policy statement, and returns - this updated Statement object so that additional method calls can be - chained together. - - Conditions allow policy statements to be conditionally evaluated based on - the many available condition types. - - - For example, a statement that allows access to an Amazon SQS queue could - use a condition to only apply the effect of that statement for requests - that are made before a certain date, or that originate from a range of IP - addresses. - - - Multiple conditions can be included in a single statement, and all - conditions must evaluate to true in order for the statement to take - effect. - - - The conditions associated with this policy statement. - this instance - - - - Gets and Sets the principals associated with this policy statement, indicating - which AWS accounts are affected by this policy statement. - - - - - Sets the principals associated with this policy statement, and returns - this updated Statement object. Principals control which AWS accounts are - affected by this policy statement. - - If you don't want to restrict your policy to specific users, you can use - to apply the policy to any user trying to - access your resource. - - - The list of principals associated with this policy statement. - this instance - - - - The available AWS access control policy actions for Amazon AppStream. - - - - - - The available AWS access control policy actions for Auto Scaling. - - - - - - The available AWS access control policy actions for AWS Billing. - - - - - - The available AWS access control policy actions for AWS CloudFormation. - - - - - - The available AWS access control policy actions for Amazon CloudFront. - - - - - - The available AWS access control policy actions for Amazon CloudSearch. - - - - - - The available AWS access control policy actions for AWS CloudTrail. - - - - - - The available AWS access control policy actions for Amazon CloudWatch. - - - - - - The available AWS access control policy actions for Amazon CloudWatch Logs. - - - - - - The available AWS access control policy actions for Amazon Cognito Identity. - - - - - - The available AWS access control policy actions for Amazon Cognito Sync. - - - - - - The available AWS access control policy actions for AWS Direct Connect. - - - - - - The available AWS access control policy actions for Amazon DynamoDB. - - - - - - The available AWS access control policy actions for Amazon EC2. - - - - - - The available AWS access control policy actions for AWS ElastiCache. - - - - - - The available AWS access control policy actions for AWS Elastic Beanstalk. - - - - - - The available AWS access control policy actions for Elastic Load Balancing. - - - - - - The available AWS access control policy actions for Amazon Elastic MapReduce. - - - - - - The available AWS access control policy actions for Amazon Elastic Transcoder. - - - - - - The available AWS access control policy actions for Amazon Glacier. - - - - - - The available AWS access control policy actions for AWS Identity and Access Management. - - - - - - The available AWS access control policy actions for AWS Import Export. - - - - - - The available AWS access control policy actions for Amazon Kinesis. - - - - - - The available AWS access control policy actions for AWS Marketplace. - - - - - - The available AWS access control policy actions for AWS Marketplace Management Portal. - - - - - - The available AWS access control policy actions for Amazon Mobile Analytics. - - - - - - The available AWS access control policy actions for AWS OpsWorks. - - - - - - The available AWS access control policy actions for Amazon RDS. - - - - - - The available AWS access control policy actions for Amazon Redshift. - - - - - - The available AWS access control policy actions for Amazon Route 53. - - - - - - The available AWS access control policy actions for Amazon S3. - - - - - - The available AWS access control policy actions for AWS Security Token Service. - - - - - - The available AWS access control policy actions for Amazon SES. - - - - - - The available AWS access control policy actions for Amazon SimpleDB. - - - - - - The available AWS access control policy actions for Amazon Simple Workflow Service. - - - - - - The available AWS access control policy actions for Amazon SNS. - - - - - - The available AWS access control policy actions for Amazon SQS. - - - - - - The available AWS access control policy actions for Amazon Storage Gateway. - - - - - - The available AWS access control policy actions for AWS Whispersync. - - - - - - The available AWS access control policy actions for Amazon Zocalo. - - - - - - Deserializes a JSON string into a AWS policy object. - - - - - Serializes an AWS policy object to a JSON string, suitable for sending to an - AWS service. - - - - Converts the specified AWS policy object to a JSON string, suitable for - passing to an AWS service. - - @param policy - The AWS policy object to convert to a JSON string. - - @return The JSON string representation of the specified policy object. - - @throws IllegalArgumentException - If the specified policy is null or invalid and cannot be - serialized to a JSON string. - - - - Uses the specified generator to write the JSON data for the principals in - the specified policy statement. - - - - - This sorts the conditions by condition type and key with the list of values for that combination. - - The list of conditions to be sorted. - - - - - Exception thrown by the SDK for errors that occur within the SDK. - - - - - Constructs a new instance of the AmazonClientException class with serialized data. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - This exception is thrown when there is a parse error on the response back from AWS. - - - - - The string value which could not be converted into a valid DateTime instance. - - - - - Constructs a new instance of the AmazonDateTimeUnmarshallingException class with serialized data. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Sets the with information about the exception. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is a null reference (Nothing in Visual Basic). - - - - Occurs before a request is marshalled. - - - - - Occurs before a request is issued against the service. - - - - - Occurs after a response is received from the service. - - - - - Occurs after an exception is encountered. - - - - - Patches the in-flight uri to stop it unescaping the path etc (what Uri did before - Microsoft deprecated the constructor flag). This is particularly important for - Amazon S3 customers who want to use backslash (\) in their key names. - - - Different behavior in the various runtimes has been observed and in addition some - 'documented' ways of doing this between 2.x and 4.x runtimes has also been observed - to not be reliable. - - This patch effectively emulates what adding a schemesettings element to the - app.config file with value 'name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes"' - does. As we're a dll, that avenue is not open to us. - - - - - - Used to create a copy of the config for a different service than the current instance. - - Target service ClientConfig - The new ClientConfig for the desired service - - - - A base exception for some Amazon Web Services. - - Most exceptions thrown to client code will be service-specific exceptions, though some services - may throw this exception if there is a problem which is caught in the core client code. - - - - - - Whether the error was attributable to Sender or Reciever. - - - - - The error code returned by the service - - - - - The id of the request which generated the exception. - - - - - The HTTP status code from the service response - - - - - Constructs a new instance of the AmazonServiceException class with serialized data. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Sets the with information about the exception. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is a null reference (Nothing in Visual Basic). - - - - This exception is thrown when there is a parse error on the response back from AWS. - - - - - Last known location in the response that was parsed, if available. - - - - - The entire response body that caused this exception, if available. - - - - - Constructs a new instance of the AmazonSimpleDBException class with serialized data. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Sets the with information about the exception. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is a null reference (Nothing in Visual Basic). - - - - Base class for request used by some of the services. - - - - - This flag specifies if SigV4 will be used for the current request. - - - - - Gets or Sets a value indicating if "Expect: 100-continue" HTTP header will be - sent by the client for this request. The default value is false. - - - - - Gets the signer to use for this request. - A null return value indicates to use the configured - signer for the service that this request is part of. - - A signer for this request, or null. - - - - Overrides the default request timeout value. - - - - If the value is set, the value is assigned to the Timeout property of the HTTPWebRequest/HttpClient object used - to send requests. - - - Please specify a timeout value only if the operation will not complete within the default intervals - specified for an HttpWebRequest/HttpClient. - - - The timeout specified is null. - The timeout specified is less than or equal to zero and is not Infinite. - - - - - - Overrides the default read-write timeout value. - - - - If the value is set, the value is assigned to the ReadWriteTimeout property of the HTTPWebRequest/WebRequestHandler object used - to send requests. - - The timeout specified is null. - The timeout specified is less than or equal to zero and is not Infinite. - - - - - - - Abstract class for Response objects, contains only metadata, - and no result information. - - - - - Contains additional information about the request, such as the - Request Id. - - - - - Returns the content length of the HTTP response. - - - - - Returns the status code of the HTTP response. - - - - - Base class for determining region based on inspection. - - - - - Sets the Region property by looking up the corresponding RegionEndpoint - from the supplied region system name (us-east-1, us-west-2 etc). - - The system name of the region. - - - - Determines region based on application configuration settings. If the configuration does not contain - the region setting key an InvalidOperationException is thrown. - - - - - Attempts to construct an instance of ApplicationConfigAWSRegion. If no region is found in the - application configuration file then an InvalidOperationException is thrown. - - - - - Determines region based on an environment variable. If the environment does not contain - the region setting key an InvalidOperationException is thrown. - - - - - Attempts to construct an instance of EnvironmentVariableAWSRegion. If no region is found in the - environment then an InvalidOperationException is thrown. - - - - - Determines region based on inspection of the instance metadata if running on an EC2 instance. - If instance metadata cannot be read or does not contain region information an InvalidOperationException is thrown. - - - - - Attempts to construct an instance of InstanceProfileAWSRegion. If no region is found in the - metadata or we are not running on an EC2 instance an InvalidOperationException is thrown. - - - - - Determines region based on a stored in an . - If the profile doesn't exist or there is no region information an InvalidOperationException is thrown. - - - - - Attempts to construct an instance of . - If the profile doesn't exist or there is no region information an InvalidOperationException is thrown. - - The ICredentialProfileSource to read the profile from. - The name of the profile. - - - - Probing mechanism to determine region from various sources. - - - - - This class is responsible for keeping track of Retry capacity across different ServiceURLs. - - - - - - - Ths method fetches the RetryCapacity for the given ServiceURL from CapacityManager.CapacityContainer - - - - - - This class is the RetryCapacity class for a given ServiceURL. - - - - - This class composes Client Context header for Amazon Web Service client. - It contains information like app title, version code, version name, client id, OS platform etc. - - - This class composes Client Context header for Amazon Web Service client. - It contains information like app title, version code, version name, client id, OS platform etc. - - - - - Adds the custom attributes to the Client Context. - - Key. - Value. - - - - Gets a Json Representation of the Client Context. - - Json Representation of Client Context - - - - Collection used to indicate if the property was initialized was created by the SDK. - - - - - - Collection used to indicate if the property was initialized was created by the SDK. - - - - - - - Default implementation of the IRequest interface. - - This class is only intended for internal use inside the AWS client libraries. - Callers shouldn't ever interact directly with objects of this class. - - - - - - Constructs a new DefaultRequest with the specified service name and the - original, user facing request object. - - The orignal request that is being wrapped - The service name - - - - The name of the request - - - - - Gets and sets the type of http request to make, whether it should be POST,GET or DELETE - - - - - Gets and sets a flag that indicates whether the request is sent as a query string instead of the request body. - - - - - Returns the original, user facing request object which this internal - request object is representing. - - - - - Returns a dictionary of the headers included in this request. - - - - - Returns a dictionary of the parameters included in this request. - - - - - Returns the subresources that should be appended to the resource path. - This is used primarily for Amazon S3, where object keys can contain '?' - characters, making string-splitting of a resource path potentially - hazardous. - - - - - Adds a new null entry to the SubResources collection for the request - - The name of the subresource - - - - Adds a new entry to the SubResources collection for the request - - The name of the subresource - Value of the entry - - - - Gets and Sets the endpoint for this request. - - - - - Gets and Sets the resource path added on to the endpoint. - - - - - Gets and Sets the content for this request. - - - - - Flag that signals that Content was and should be set - from the Parameters collection. - - - - - Gets and sets the content stream. - - - - - Gets and sets the original stream position. - If ContentStream is null or does not support seek, this propery - should be equal to -1. - - - - - Computes the SHA 256 hash of the content stream. If the stream is not - seekable, it searches the parent stream hierarchy to find a seekable - stream prior to computation. Once computed, the hash is cached for future - use. If a suitable stream cannot be found to use, null is returned. - - - - - The name of the service to which this request is being sent. - - - - - Alternate endpoint to use for this request, if any. - - - - - Gets and sets the Suppress404Exceptions property. If true then 404s return back from AWS will not cause an exception and - an empty response object will be returned. - - - - - If using AWS4 signing protocol, contains the resultant parts of the - signature that we may need to make use of if we elect to do a chunked - encoding upload. - - - - - Determine whether to use a chunked encoding upload for the request - (applies to Amazon S3 PutObject and UploadPart requests only). - - - - - - Used for Amazon S3 requests where the bucket name is removed from - the marshalled resource path into the host header. To comply with - AWS2 signature calculation, we need to recover the bucket name - and include it in the resource canonicalization, which we do using - this field. - - - - - This flag specifies if SigV4 is required for the current request. - - - - - The authentication region to use for the request. - Set from Config.AuthenticationRegion. - - - - - Checks if the request stream can be rewinded. - - Returns true if the request stream can be rewinded , - else false. - - - - Returns true if the request can contain a request body, else false. - - Returns true if the currect request can contain a request body, else false. - - - - Returns true if the request has a body, else false. - - Returns true if the request has a body, else false. - - - - Error type, one of Sender, Receiver, Unknown - Only applies to XML-based services. - - - - - Name of the exception class to return - - - - - Error message - - - - - RequestId of the error. - Only applies to XML-based services. - - - - - Represents a request being sent to an Amazon Web Service, including the - parameters being sent as part of the request, the endpoint to which the - request should be sent, etc. - - This class is only intended for internal use inside the AWS client libraries. - Callers shouldn't ever interact directly with objects of this class. - - - - - - The name of the request - - - - - Returns a dictionary of the headers included in this request. - - - - - Gets and sets a flag that indicates whether the request is sent as a query string instead of the request body. - - - - - Returns a dictionary of the parameters included in this request. - - - - - Returns the subresources that should be appended to the resource path. - This is used primarily for Amazon S3, where object keys can contain '?' - characters, making string-splitting of a resource path potentially - hazardous. - - - - - Adds a new null entry to the SubResources collection for the request - - The name of the subresource - - - - Adds a new entry to the SubResources collection for the request - - The name of the subresource - Value of the entry - - - - Gets and sets the type of http request to make, whether it should be POST,GET or DELETE - - - - - Gets and Sets the endpoint for this request. - - - - - Gets and Sets the resource path added on to the endpoint. - - - - - Gets and Sets the content for this request. - - - - - Flag that signals that Content was and should be set - from the Parameters collection. - - - - - Gets and sets the content stream. - - - - - Gets and sets the original stream position. - If ContentStream is null or does not support seek, this propery - should be equal to -1. - - - - - Computes the SHA 256 hash of the content stream. If the stream is not - seekable, it searches the parent stream hierarchy to find a seekable - stream prior to computation. Once computed, the hash is cached for future - use. - - - - - The name of the service to which this request is being sent. - - - - - Returns the original, user facing request object which this internal - request object is representing. - - - - - Alternate endpoint to use for this request, if any. - - - - - Gets and sets the Suppress404Exceptions property. If true then 404s return back from AWS will not cause an exception and - an empty response object will be returned. - - - - - If using AWS4 signing protocol, contains the resultant parts of the - signature that we may need to make use of if we elect to do a chunked - encoding upload. - - - - - Determine whether to use a chunked encoding upload for the request - (applies to Amazon S3 PutObject and UploadPart requests only). - - - - - - Used for Amazon S3 requests where the bucket name is removed from - the marshalled resource path into the host header. To comply with - AWS2 signature calculation, we need to recover the bucket name - and include it in the resource canonicalization, which we do using - this field. - - - - - This flag specifies if SigV4 is required for the current request. - - - - - The authentication region to use for the request. - Set from Config.AuthenticationRegion. - - - - - Checks if the request stream can be rewinded. - - Returns true if the request stream can be rewinded , - else false. - - - - Returns true if the request can contain a request body, else false. - - Returns true if the currect request can contain a request body, else false. - - - - Returns true if the request has a body, else false. - - Returns true if the request has a body, else false. - - - - Computes RFC 2104-compliant HMAC signature. - - - - - Computes RFC 2104-compliant HMAC signature. - - - - - Inspects the supplied evidence to return the signer appropriate for the operation - - Global setting for the service - The request. - Configuration for the client - True if signature v4 request signing should be used - - - - Signs the specified request with the AWS3 signing protocol by using the - AWS account credentials given in the method parameters. - - The AWS public key - The AWS secret key used to sign the request in clear text - Request metrics - The configuration that specifies which hashing algorithm to use - The request to have the signature compute for - If any problems are encountered while signing the request - - - - AWS4 protocol signer for service calls that transmit authorization in the header field "Authorization". - - - - - Calculates and signs the specified request using the AWS4 signing protocol by using the - AWS account credentials given in the method parameters. The resulting signature is added - to the request headers as 'Authorization'. Parameters supplied in the request, either in - the resource path as a query string or in the Parameters collection must not have been - uri encoded. If they have, use the SignRequest method to obtain a signature. - - - The request to compute the signature for. Additional headers mandated by the AWS4 protocol - ('host' and 'x-amz-date') will be added to the request before signing. - - - Client configuration data encompassing the service call (notably authentication - region, endpoint and service name). - - - Metrics for the request - - - The AWS public key for the account making the service call. - - - The AWS secret key for the account making the call, in clear text. - - - If any problems are encountered while signing the request. - - - - - Calculates and signs the specified request using the AWS4 signing protocol by using the - AWS account credentials given in the method parameters. - - - The request to compute the signature for. Additional headers mandated by the AWS4 protocol - ('host' and 'x-amz-date') will be added to the request before signing. - - - Client configuration data encompassing the service call (notably authentication - region, endpoint and service name). - - - Metrics for the request. - - - The AWS public key for the account making the service call. - - - The AWS secret key for the account making the call, in clear text. - - - If any problems are encountered while signing the request. - - - Parameters passed as part of the resource path should be uri-encoded prior to - entry to the signer. Parameters passed in the request.Parameters collection should - be not be encoded; encoding will be done for these parameters as part of the - construction of the canonical request. - - - - - Sets the AWS4 mandated 'host' and 'x-amz-date' headers, returning the date/time that will - be used throughout the signing process in various elements and formats. - - The current set of headers - - Date and time used for x-amz-date, in UTC - - - - Sets the AWS4 mandated 'host' and 'x-amz-date' headers, accepting and returning the date/time that will - be used throughout the signing process in various elements and formats. - - The current set of headers - - - Date and time used for x-amz-date, in UTC - - - - Computes and returns an AWS4 signature for the specified canonicalized request - - - - - - - - - - - - Computes and returns an AWS4 signature for the specified canonicalized request - - - - - - - - - - - - - Computes and returns an AWS4 signature for the specified canonicalized request - - - - - - - - - - - - - - Formats the supplied date and time for use in AWS4 signing, where various formats are used. - - - The required format - The UTC date/time in the requested format - - - - Compute and return the multi-stage signing key for the request. - - The clear-text AWS secret key, if not held in secureKey - The region in which the service request will be processed - Date of the request, in yyyyMMdd format - The name of the service being called by the request - Computed signing key - - - - If the caller has already set the x-amz-content-sha256 header with a pre-computed - content hash, or it is present as ContentStreamHash on the request instance, return - the value to be used in request canonicalization. - If not set as a header or in the request, attempt to compute a hash based on - inspection of the style of the request content. - - - - The computed hash, whether already set in headers or computed here. Null - if we were not able to compute a hash. - - - - - If signPayload is false set the x-amz-content-sha256 header to - the UNSIGNED-PAYLOAD magic string and return it. - Otherwise, if the caller has already set the x-amz-content-sha256 header with a pre-computed - content hash, or it is present as ContentStreamHash on the request instance, return - the value to be used in request canonicalization. - If not set as a header or in the request, attempt to compute a hash based on - inspection of the style of the request content. - - - - - The computed hash, whether already set in headers or computed here. Null - if we were not able to compute a hash. - - - - - Returns the HMAC256 for an arbitrary blob using the specified key - - - - - - - - Returns the HMAC256 for an arbitrary blob using the specified key - - - - - - - - Compute and return the hash of a data blob using the specified key - - Algorithm to use for hashing - Hash key - Data blob - Hash of the data - - - - Compute and return the hash of a data blob using the specified key - - Algorithm to use for hashing - Hash key - Data blob - Hash of the data - - - - Computes the non-keyed hash of the supplied data - - - - - - - Computes the non-keyed hash of the supplied data - - - - - - - Computes and returns the canonical request - - The endpoint URL - the path of the resource being operated on - The http method used for the request - The full request headers, sorted into canonical order - The query parameters for the request - - The hash of the binary request body if present. If not supplied, the routine - will look for the hash as a header on the request. - - Canonicalised request as a string - - - - Reorders the headers for the request for canonicalization. - - The set of proposed headers for the request - List of headers that must be included in the signature - For AWS4 signing, all headers are considered viable for inclusion - - - - Computes the canonical headers with values for the request. Only headers included in the signature - are included in the canonicalization process. - - All request headers, sorted into canonical order - Canonicalized string of headers, with the header names in lower case. - - - - Returns the set of headers included in the signature as a flattened, ;-delimited string - - The headers included in the signature - Formatted string of header names - - - - Collects the subresource and query string parameters into one collection - ready for canonicalization - - The in-flight request being signed - The fused set of parameters - - - - Computes and returns the canonicalized query string, if query parameters have been supplied. - Parameters with no value will be canonicalized as 'param='. The expectation is that parameters - have not already been url encoded prior to canonicalization. - - The set of parameters being passed on the uri - - Parameters must be uri encoded into the canonical request and by default the signer expects - that the supplied collection contains non-encoded data. Set this to false if the encoding was - done prior to signer entry. - - The uri encoded query string parameters in canonical ordering - - - - Computes and returns the canonicalized query string, if query parameters have been supplied. - Parameters with no value will be canonicalized as 'param='. The expectation is that parameters - have not already been url encoded prior to canonicalization. - - The set of parameters to be encoded in the query string - - Parameters must be uri encoded into the canonical request and by default the signer expects - that the supplied collection contains non-encoded data. Set this to false if the encoding was - done prior to signer entry. - - The uri encoded query string parameters in canonical ordering - - - - Returns the request parameters in the form of a query string. - - The request instance - Request parameters in query string format - - - - AWS4 protocol signer for Amazon S3 presigned urls. - - - - - Calculates and signs the specified request using the AWS4 signing protocol by using the - AWS account credentials given in the method parameters. The resulting signature is added - to the request headers as 'Authorization'. - - - The request to compute the signature for. Additional headers mandated by the AWS4 protocol - ('host' and 'x-amz-date') will be added to the request before signing. - - - Adding supporting data for the service call required by the signer (notably authentication - region, endpoint and service name). - - - Metrics for the request - - - The AWS public key for the account making the service call. - - - The AWS secret key for the account making the call, in clear text - - - If any problems are encountered while signing the request. - - - - - Calculates the AWS4 signature for a presigned url. - - - The request to compute the signature for. Additional headers mandated by the AWS4 protocol - ('host' and 'x-amz-date') will be added to the request before signing. If the Expires parameter - is present, it is renamed to 'X-Amz-Expires' before signing. - - - Adding supporting data for the service call required by the signer (notably authentication - region, endpoint and service name). - - - Metrics for the request - - - The AWS public key for the account making the service call. - - - The AWS secret key for the account making the call, in clear text - - - If any problems are encountered while signing the request. - - - Parameters passed as part of the resource path should be uri-encoded prior to - entry to the signer. Parameters passed in the request.Parameters collection should - be not be encoded; encoding will be done for these parameters as part of the - construction of the canonical request. - - - - - Calculates the AWS4 signature for a presigned url. - - - The request to compute the signature for. Additional headers mandated by the AWS4 protocol - ('host' and 'x-amz-date') will be added to the request before signing. If the Expires parameter - is present, it is renamed to 'X-Amz-Expires' before signing. - - - Adding supporting data for the service call required by the signer (notably authentication - region, endpoint and service name). - - - Metrics for the request - - - The AWS public key for the account making the service call. - - - The AWS secret key for the account making the call, in clear text - - - The service to sign for - - - The region to sign to, if null then the region the client is configured for will be used. - - - If any problems are encountered while signing the request. - - - Parameters passed as part of the resource path should be uri-encoded prior to - entry to the signer. Parameters passed in the request.Parameters collection should - be not be encoded; encoding will be done for these parameters as part of the - construction of the canonical request. - - The X-Amz-Content-SHA256 is cleared out of the request. - If the request is for S3 then the UNSIGNED_PAYLOAD value is used to generate the canonical request. - If the request isn't for S3 then the empty body SHA is used to generate the canonical request. - - - - - Encapsulates the various fields and eventual signing value that makes up - an AWS4 signature. This can be used to retrieve the required authorization string - or authorization query parameters for the final request as well as hold ongoing - signature computations for subsequent calls related to the initial signing. - - - - - Constructs a new signing result instance for a computed signature - - The access key that was included in the signature - Date/time (UTC) that the signature was computed - The collection of headers names that were included in the signature - Formatted 'scope' value for signing (YYYYMMDD/region/service/aws4_request) - Returns the key that was used to compute the signature - Computed signature - - - - The access key that was used in signature computation. - - - - - ISO8601 formatted date/time that the signature was computed - - - - - ISO8601 formatted date that the signature was computed - - - - - The ;-delimited collection of header names that were included in the signature computation - - - - - Formatted 'scope' value for signing (YYYYMMDD/region/service/aws4_request) - - - - - Returns a copy of the key that was used to compute the signature - - - - - Returns the hex string representing the signature - - - - - Returns a copy of the byte array containing the signature - - - - - Returns the signature in a form usable as an 'Authorization' header value. - - - - - Returns the signature in a form usable as a set of query string parameters. - - - - - Null Signer which does a no-op. - - - - - Signs the specified request with the AWS2 signing protocol by using the - AWS account credentials given in the method parameters. - - The AWS public key - The AWS secret key used to sign the request in clear text - Request metrics - The configuration that specifies which hashing algorithm to use - The request to have the signature compute for - If any problems are encountered while signing the request - - - - This exception is thrown if there are problems signing the request. - - - - - Constructs a new instance of the SignatureException class with serialized data. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Response Unmarshaller for all Errors - - - - - Build an ErrorResponse from XML - - The XML parsing context. - Usually an Amazon.Runtime.Internal.UnmarshallerContext. - An ErrorResponse object. - - - - Return an instance of and ErrorResponseUnmarshaller. - - - - - - Interface for unmarshallers which unmarshall service responses. - The Unmarshallers are stateless, and only encode the rules for what data - in the XML stream goes into what members of an object. - - The type of object the unmarshaller returns - The type of the XML unmashaller context, which contains the - state of parsing the XML stream. Uaually an instance of - Amazon.Runtime.Internal.Transform.UnmarshallerContext. - - - - Extracts an exeption with data from an ErrorResponse. - - The XML parsing context. - An inner exception to be included with the returned exception - The HttpStatusCode from the ErrorResponse - Either an exception based on the ErrorCode from the ErrorResponse, or the - general service exception for the service in question. - - - - Interface for unmarshallers which unmarshall objects from response data. - The Unmarshallers are stateless, and only encode the rules for what data - in the XML stream goes into what members of an object. - - The type of object the unmarshaller returns - The type of the XML unmashaller context, which contains the - state during parsing of the XML stream. Usually an instance of - Amazon.Runtime.Internal.Transform.UnmarshallerContext. - - - - Given the current position in the XML stream, extract a T. - - The XML parsing context - An object of type T populated with data from the XML stream. - - - - Response Unmarshaller for all Errors - - - - - Build an ErrorResponse from json - - The json parsing context. - Usually an Amazon.Runtime.Internal.JsonUnmarshallerContext. - An ErrorResponse object. - - - - Return an instance of JsonErrorResponseUnmarshaller. - - - - - - Wraps a json string for unmarshalling. - - Each Read() operation gets the next token. - TestExpression() is used to match the current key-chain - to an xpath expression. The general pattern looks like this: - - JsonUnmarshallerContext context = new JsonUnmarshallerContext(jsonString); - while (context.Read()) - { - if (context.IsKey) - { - if (context.TestExpresion("path/to/element")) - { - myObject.stringMember = stringUnmarshaller.GetInstance().Unmarshall(context); - continue; - } - } - } - - - - - - Wrap the jsonstring for unmarshalling. - - Stream that contains the JSON for unmarshalling - If set to true, maintains a copy of the complete response body as the stream is being read. - Response data coming back from the request - - - - Are we at the start of the json document. - - - - - Is the current token the end of an object - - - - - Is the current token the start of an object - - - - - Returns the element depth of the parser's current position in the json - document being parsed. - - - - - The current Json path that is being unmarshalled. - - - - - Reads to the next token in the json document, and updates the context - accordingly. - - - True if a token was read, false if there are no more tokens to read. - - - - - Peeks at the next token. This peek implementation - reads the next token and makes the subsequent Read() return the same data. - If Peek is called successively, it will return the same data. - Only the first one calls Read(), subsequent calls - will return the same data until a Read() call is made. - - Token to peek. - Returns true if the peeked token matches given token. - - - - Returns the text contents of the current token being parsed. - - - The text contents of the current token being parsed. - - - - - The type of the current token - - - - - Get the base stream of the jsonStream. - - - - - Peeks at the next (non-whitespace) character in the jsonStream. - - The next (non-whitespace) character in the jsonStream, or -1 if at the end. - - - - Peeks at the next character in the stream. - If the data isn't buffered into the StreamReader (Peek() returns -1), - we flush the buffered data and try one more time. - - - - - - Abstract class for unmarshalling service responses. - - - - - Class for unmarshalling XML service responses. - - - - - Class for unmarshalling EC2 service responses. - - - - - Class for unmarshalling JSON service responses. - - - - - Unmarshaller for int fields - - - - - Unmarshaller for long fields - - - - - Unmarshaller for float fields - - - - - Unmarshaller for double fields - - - - - Unmarshaller for decimal fields - - - - - Unmarshaller for bool fields - - - - - Unmarshaller for string fields - - - - - Unmarshaller for byte fields - - - - - Unmarshaller for DateTime fields - - - - - Unmarshaller for MemoryStream fields - - - - - Unmarshaller for ResponseMetadata - - - - - Base class for the UnmarshallerContext objects that are used - to unmarshall a web-service response. - - - - - Tests the specified expression against the current position in the XML - document - - The pseudo-XPath expression to test. - - True if the expression matches the current position in the document, - false otherwise. - - - - Tests the specified expression against the current position in the XML - document being parsed, and restricts the expression to matching at the - specified stack depth. - - The pseudo-XPath expression to test. - - The depth in the stack representing where the expression must - start matching in order for this method to return true. - - True if the specified expression matches the current position in - the XML document, starting from the specified depth. - - - - Reads the next token at depth greater than or equal to target depth. - - Tokens are read at depth greater than or equal to target depth. - True if a token was read and current depth is greater than or equal to target depth. - - - - The current path that is being unmarshalled. - - - - - Returns the element depth of the parser's current position in the - document being parsed. - - - - - Reads to the next node in the document, and updates the context accordingly. - - - True if a node was read, false if there are no more elements to read. - - - - - Returns the text contents of the current element being parsed. - - - The text contents of the current element being parsed. - - - - - True if NodeType is Element. - - - - - True if NodeType is EndElement. - - - - - True if the context is at the start of the document. - - - - - Implements the Dispose pattern - - Whether this object is being disposed via a call to Dispose - or garbage collected. - - - - Disposes of all managed and unmanaged resources. - - - - - Wrap an XmltextReader for simulating an event stream. - - Each Read() operation goes either to the next element or next attribute within - the current element. TestExpression() is used to match the current event - to an xpath expression. The general pattern looks like this: - - UnmarshallerContext context = new UnmarshallerContext(...); - while (context.Read()) - { - if (context.TestExpresion("path/to/element")) - { - myObject.stringMember = stringUnmarshaller.GetInstance().Unmarshall(context); - continue; - } - if (context.TestExpression("path/to/@attribute")) - myObject.MyComplexTypeMember = MyComplexTypeUnmarshaller.GetInstance().Unmarshall(context); - } - - - - - - Wrap an XmlTextReader with state for event-based parsing of an XML stream. - - Stream with the XML from a service response. - If set to true, maintains a copy of the complete response body as the stream is being read. - Response data coming back from the request - - - - The current XML path that is being unmarshalled. - - - - - Returns the element depth of the parser's current position in the XML - document being parsed. - - - - - Reads to the next node in the XML document, and updates the context accordingly. - - - True if a node was read, false if there are no more elements to read./ - - - - - Returns the text contents of the current element being parsed. - - - The text contents of the current element being parsed. - - - - - True if NodeType is Element. - - - - - True if NodeType is EndElement. - - - - - True if the context is at the start of the document. - - - - - True if NodeType is Attribute. - - - - - Wrap an XmlTextReader with state for event-based parsing of an XML stream. - - Stream with the XML from a service response. - If set to true, maintains a copy of the complete response body as the stream is being read. - Response data coming back from the request - - - - RequestId value, if found in response - - - - - Reads to the next node in the XML document, and updates the context accordingly. - If node is RequestId, reads the contents and stores in RequestId property. - - - True if a node was read, false if there are no more elements to read./ - - - - - Constructs a new instance of the HttpWebRequestResponseData class with serialized data. - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Sets the with information about the exception. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is a null reference (Nothing in Visual Basic). - - - - A stream which caches the contents of the underlying stream as it reads it. - - - - - All the bytes read by the stream. - - - - - Initializes the CachingWrapperStream with a base stream. - - The stream to be wrapped. - Maximum number of bytes to be cached. - - - - Reads a sequence of bytes from the current stream and advances the position - within the stream by the number of bytes read. - - - An array of bytes. When this method returns, the buffer contains the specified - byte array with the values between offset and (offset + count - 1) replaced - by the bytes read from the current source. - - - The zero-based byte offset in buffer at which to begin storing the data read - from the current stream. - - - The maximum number of bytes to be read from the current stream. - - - The total number of bytes read into the buffer. This can be less than the - number of bytes requested if that many bytes are not currently available, - or zero (0) if the end of the stream has been reached. - - - - - Gets a value indicating whether the current stream supports seeking. - CachingWrapperStream does not support seeking, this will always be false. - - - - - Gets or sets the position within the current stream. - CachingWrapperStream does not support seeking, attempting to set Position - will throw NotSupportedException. - - - - - Sets the position within the current stream. - CachingWrapperStream does not support seeking, attempting to call Seek - will throw NotSupportedException. - - A byte offset relative to the origin parameter. - - A value of type System.IO.SeekOrigin indicating the reference point used - to obtain the new position. - The new position within the current stream. - - - - Stream wrapper that double-buffers from a wrapped stream and - returns the buffered content as a series of signed 'chunks' - for the AWS4 ('Signature V4') protocol. - - - - - Reads some or all of the processed chunk to the consumer, constructing - and streaming a new chunk if more input data is available. - - - - - - - - - Results of the header-signing portion of the request - - - - - Computed signature of the chunk prior to the one in-flight, in - hex - - - - - Computes the derived signature for a chunk of data of given length in the input buffer, - placing a formatted chunk with headers, signature and data into the output buffer - ready for streaming back to the consumer. - - - - - - Length override to return the true length of the payload plus the metainfo - supplied with each chunk - - - - - Computes the total size of the data payload, including the chunk metadata. - Called externally so as to be able to set the correct Content-Length header - value. - - - - - - - Computes the size of the header data for each chunk. - - - - - - - Attempt to read sufficient data for a whole chunk from the wrapped stream, - returning the number of bytes successfully read to be processed into a chunk - - - - - A list object that will always be sent to AWS services, - even if it is empty. - The AWS .NET SDK does not send empty collections to services, unless - the collection is of this type. - - - - - - A dictionary object that will always be sent to AWS services, - even if it is empty. - The AWS .NET SDK does not send empty collections to services, unless - the collection is of this type. - - - - - - - Class to perform actions on a background thread. - Uses a single background thread and performs actions - on it in the order the data was sent through the instance. - - - - - Implements the Dispose pattern - - Whether this object is being disposed via a call to Dispose - or garbage collected. - - - - Disposes of all managed and unmanaged resources. - - - - - Class to invoke actions on a background thread. - Uses a single background thread and invokes actions - on it in the order they were invoked through the instance. - - - - - Returns true if the Content is set or there are - query parameters. - - This request - True if data is present; false otherwise. - - - - Utilities for dealing with Guids - - - - - Hashes a set of objects. - - - - - - - Combines a set of hashses. - - - - - - - Combines two hashes. - - - - - - - - Disposes of all managed and unmanaged resources. - - - - - Implements the Dispose pattern - - Whether this object is being disposed via a call to Dispose - or garbage collected. - - - - A wrapper stream that calculates a hash of the base stream as it - is being read. - The calculated hash is only available after the stream is closed or - CalculateHash is called. After calling CalculateHash, any further reads - on the streams will not change the CalculatedHash. - If an ExpectedHash is specified and is not equal to the calculated hash, - Close or CalculateHash methods will throw an AmazonClientException. - If CalculatedHash is calculated for only the portion of the stream that - is read. - - - Exception thrown during Close() or CalculateHash(), if ExpectedHash is set and - is different from CalculateHash that the stream calculates, provided that - CalculatedHash is not a zero-length byte array. - - - - - Algorithm to use to calculate hash. - - - - - True if hashing is finished and no more hashing should be done; - otherwise false. - - - - - Current position in the stream. - - - - - Calculated hash for the stream. - This value is set only after the stream is closed. - - - - - Expected hash value. Compared against CalculatedHash upon Close(). - If the hashes are different, an AmazonClientException is thrown. - - - - - Expected length of stream. - - - - - Initializes an HashStream with a hash algorithm and a base stream. - - Stream to calculate hash for. - - Expected hash. Will be compared against calculated hash on stream close. - Pass in null to disable check. - - - Expected length of the stream. If the reading stops before reaching this - position, CalculatedHash will be set to empty array. - - - - - Reads a sequence of bytes from the current stream and advances the position - within the stream by the number of bytes read. - - - An array of bytes. When this method returns, the buffer contains the specified - byte array with the values between offset and (offset + count - 1) replaced - by the bytes read from the current source. - - - The zero-based byte offset in buffer at which to begin storing the data read - from the current stream. - - - The maximum number of bytes to be read from the current stream. - - - The total number of bytes read into the buffer. This can be less than the - number of bytes requested if that many bytes are not currently available, - or zero (0) if the end of the stream has been reached. - - - - - Closes the underlying stream and finishes calculating the hash. - If an ExpectedHash is specified and is not equal to the calculated hash, - this method will throw an AmazonClientException. - - - If ExpectedHash is set and is different from CalculateHash that the stream calculates. - - - - - Gets a value indicating whether the current stream supports seeking. - HashStream does not support seeking, this will always be false. - - - - - Gets or sets the position within the current stream. - HashStream does not support seeking, attempting to set Position - will throw NotSupportedException. - - - - - Sets the position within the current stream. - HashStream does not support seeking, attempting to call Seek - will throw NotSupportedException. - - A byte offset relative to the origin parameter. - - A value of type System.IO.SeekOrigin indicating the reference point used - to obtain the new position. - The new position within the current stream. - - - - Gets the overridden length used to construct the HashStream - - - - - Calculates the hash for the stream so far and disables any further - hashing. - - - - - Resets the hash stream to starting state. - Use this if the underlying stream has been modified and needs - to be rehashed without reconstructing the hierarchy. - - - - - Validates the underlying stream. - - - - - Compares two hashes (arrays of bytes). - - Expected hash. - Actual hash. - - True if the hashes are identical; otherwise false. - - - - - A wrapper stream that calculates a hash of the base stream as it - is being read or written. - The calculated hash is only available after the stream is closed or - CalculateHash is called. After calling CalculateHash, any further reads - on the streams will not change the CalculatedHash. - If an ExpectedHash is specified and is not equal to the calculated hash, - Close or CalculateHash methods will throw an AmazonClientException. - If base stream's position is not 0 or HashOnReads is true and the entire stream is - not read, the CalculatedHash will be set to an empty byte array and - comparison to ExpectedHash will not be made. - - - Exception thrown during Close() or CalculateHash(), if ExpectedHash is set and - is different from CalculateHash that the stream calculates, provided that - CalculatedHash is not a zero-length byte array. - - - - - Initializes an HashStream with a hash algorithm and a base stream. - - Stream to calculate hash for. - - Expected hash. Will be compared against calculated hash on stream close. - Pass in null to disable check. - - - Expected length of the stream. If the reading stops before reaching this - position, CalculatedHash will be set to empty array. - - - - - A wrapper stream that calculates an MD5 hash of the base stream as it - is being read or written. - The calculated hash is only available after the stream is closed or - CalculateHash is called. After calling CalculateHash, any further reads - on the streams will not change the CalculatedHash. - If an ExpectedHash is specified and is not equal to the calculated hash, - Close or CalculateHash methods will throw an AmazonClientException. - If base stream's position is not 0 or HashOnReads is true and the entire stream is - not read, the CalculatedHash will be set to an empty byte array and - comparison to ExpectedHash will not be made. - - - Exception thrown during Close() or CalculateHash(), if ExpectedHash is set and - is different from CalculateHash that the stream calculates, provided that - CalculatedHash is not a zero-length byte array. - - - - - Initializes an MD5Stream with a base stream. - - Stream to calculate hash for. - - Expected hash. Will be compared against calculated hash on stream close. - Pass in null to disable check. - - - Expected length of the stream. If the reading stops before reaching this - position, CalculatedHash will be set to empty array. - - - - - Simple wrapper around the log4net Error method. - - - - - - - - Write debug message to Console - - - - - - - - Write debug message to Console - - - - - - - Simple wrapper around the log4net InfoFormat method. - - - - - - - This is a dynamic wrapper around log4net so we can avoid log4net being required - to be distributed with the SDK. - - - - - Abstract logger class, base for any custom/specific loggers. - - - - - Flushes the logger contents. - - - - - Simple wrapper around the log4net IsErrorEnabled property. - - - - - Simple wrapper around the log4net IsDebugEnabled property. - - - - - Simple wrapper around the log4net IsInfoEnabled property. - - - - - Simple wrapper around the log4net Error method. - - - - - - - - Simple wrapper around the log4net Debug method. - - - - - - - - Simple wrapper around the log4net DebugFormat method. - - - - - - - Simple wrapper around the log4net InfoFormat method. - - - - - - - Logger wrapper for reflected log4net logging methods. - - - - - This should be a one time call to use reflection to find all the types and methods - needed for the logging API. - - - - - Simple wrapper around the log4net IsErrorEnabled property. - - - - - Simple wrapper around the log4net Error method. - - - - - - - - Simple wrapper around the log4net IsDebugEnabled property. - - - - - Simple wrapper around the log4net Debug method. - - - - - - - - Simple wrapper around the log4net DebugFormat method. - - - - - - - Simple wrapper around the log4net IsInfoEnabled property. - - - - - Simple wrapper around the log4net InfoFormat method. - - - - - - - A single logged message - - - - - Log message arguments. - - - - - Culture-specific formatting provider. - - - - - Log message format. - - - - - a size-limited cache of key value pairs - - Once the maximum size has been reached, the least recently - used pairs will be evicted to make room for any new items. - - - - - - - the maximum number of entries this LruCache will hold - before items begin getting evicted - - - - - the number of items in the cache - - - - - Construct a new LruCache. - - maximum number of entries before items are evicted - - - - Add the key/value pair to the cache, or update - the value if the key already exists. - - If the cache is full, evicts the least recently used item. - - - - - - - Try to get the value associated with the key. - - the key to look up - the value, if the key exists - true if there is a value associated with the key, or false if no value is associated with the key - - - - Clear the LruCache of all entries. - - - - - Helper class to support LruCache. - Does not implement the error checking and synchronization that - would be necessary for it to stand alone. - - - - - Item to be stored in the LruList - linked list structure. - - - - - Collection of properties being tracked - - - - - Timings for metrics being tracked - - - - - Counters being tracked - - - - - Whether metrics are enabled for the request - - - - - Constructs an empty, disabled metrics object - - - - - Starts timing an event. Logs an exception if an event - of the same type was started but not stopped. - - - - - - - Stops timing an event. Logs an exception if the event wasn't started. - - - - - - - Adds a property for a metric. If there are multiple, the - object is added as a new item in a list. - - - - - - - Sets a counter for a specific metric. - - - - - - - Increments a specific metric counter. - If counter doesn't exist yet, it is set to 1. - - - - - - Returns errors associated with the metric, including - if there are still any timing events in-flight. - - - - - - Returns a string representation of the current metrics. - - - - - - Return a JSON represenation of the current metrics - - - - - - Timing information for a metric - - - - - Empty, stopped timing object - - - - - Timing object in a started state - - - - - - Stops timing - - - - - - Whether the timing has been stopped - - - - - Elapsed ticks from start to stop. - If timing hasn't been stopped yet, returns 0. - - - - - Elapsed time from start to stop. - If timing hasn't been stopped yet, returns TimeSpan.Zero - - - - - Timing event, stops timing of a metric when disposed - - - - - Implements the Dispose pattern - - Whether this object is being disposed via a call to Dispose - or garbage collected. - - - - Disposes of all managed and unmanaged resources. - - - - - The destructor for the client class. - - - - - A wrapper stream which supresses disposal of the underlying stream. - - - - - Constructor for NonDisposingWrapperStream. - - The base stream to wrap. - - - - The Close implementation for this wrapper stream - does not close the underlying stream. - - - - - The Dispose implementation for this wrapper stream - does not close the underlying stream. - - - - - This class is used to wrap a stream for a particular segment of a stream. It - makes that segment look like you are reading from beginning to end of the stream. - - - - - Wrapper stream that only supports reading - - - - - Partial wrapper stream that only supports reading - - - - - Uri wrapper that can parse out information (bucket, key, region, style) from an - S3 URI. - - - - - True if the URI contains the bucket in the path, false if it contains the bucket in the authority. - - - - - The bucket name parsed from the URI (or null if no bucket specified). - - - - - The key parsed from the URI (or null if no key specified). - - - - - The region parsed from the URI (or null if no region specified). - - - - - Constructs a parser for the S3 URI specified as a string. - - The S3 URI to be parsed. - - - - Constructs a parser for the S3 URI specified as a Uri instance. - - The S3 URI to be parsed. - - - - Percent-decodes the given string, with a fast path for strings that are not - percent-encoded. - - The string to decode - The decoded string - - - - Percent-decodes the given string. - - The string to decode - The index of the first '%' in the string - The decoded string - - - - Decodes the percent-encoded character at the given index in the string - and appends the decoded value to the string under construction. - - - The string under construction to which the decoded character will be - appended. - - The string being decoded. - The index of the '%' character in the string. - - - - Converts a hex character (0-9A-Fa-f) into its corresponding quad value. - - The hex character - The quad value - - - - Interface for a non-generic cache. - - - - - Clears the entire cache. - - - - - Maximum time to keep an item around after its last use. - - - - - How often should the cache be cleared of old items. - - - - - The number of items in the cache. - - - - - Interface for a generic cache. - - - - - - - Retrieves a value out of the cache or from the source. - - - - - - - - Retrieves a value out of the cache or from the source. - If the item was in the cache, isStaleItem is set to true; - otherwise, if the item comes from the source, isStaleItem is false. - - - - - - - - - Clears a specific value from the cache if it's there. - - - - - - Returns the keys for all items in the cache. - - - - - - Executes specified operation, catches exception, clears the cache for - the given key, retries the operation. - - - - - - - - - - - SDK-wide cache. - Provides access to caches specific to a particular set of credentials - and target region. - - - - - Clear all caches - - - - - Clear all caches of a particular type - - - - - - Retrieve a cache of a specific type for a client object. - The client object can be null in cases where a cache does - not correspond to a specific AWS account or target region. - - - - - - - - - - - Retrieve a cache of a specific type for a client object. - The client object can be null in cases where a cache does - not correspond to a specific AWS account or target region. - - - - - - - - - - - Utilities for converting objects to strings. Used by the marshaller classes. - - - - - A wrapper stream. - - - - - Base stream. - - - - - Initializes WrapperStream with a base stream. - - - - - - Returns the first base non-WrapperStream. - - First base stream that is non-WrapperStream. - - - - Returns the first base non-WrapperStream. - - First base stream that is non-WrapperStream. - - - - Returns the first base non-WrapperStream. - - Potential WrapperStream - Base non-WrapperStream. - - - - Gets a value indicating whether the current stream supports reading. - True if the stream supports reading; otherwise, false. - - - - - Gets a value indicating whether the current stream supports seeking. - True if the stream supports seeking; otherwise, false. - - - - - Gets a value indicating whether the current stream supports writing. - True if the stream supports writing; otherwise, false. - - - - - Closes the current stream and releases any resources (such as sockets and - file handles) associated with the current stream. - - - - - Gets the length in bytes of the stream. - - - - - Gets or sets the position within the current stream. - - - - - Gets or sets a value, in miliseconds, that determines how long the stream - will attempt to read before timing out. - - - - - Gets or sets a value, in miliseconds, that determines how long the stream - will attempt to write before timing out. - - - - - Clears all buffers for this stream and causes any buffered data to be written - to the underlying device. - - - - - Reads a sequence of bytes from the current stream and advances the position - within the stream by the number of bytes read. - - - An array of bytes. When this method returns, the buffer contains the specified - byte array with the values between offset and (offset + count - 1) replaced - by the bytes read from the current source. - - - The zero-based byte offset in buffer at which to begin storing the data read - from the current stream. - - - The maximum number of bytes to be read from the current stream. - - - The total number of bytes read into the buffer. This can be less than the - number of bytes requested if that many bytes are not currently available, - or zero (0) if the end of the stream has been reached. - - - - - Sets the position within the current stream. - - A byte offset relative to the origin parameter. - - A value of type System.IO.SeekOrigin indicating the reference point used - to obtain the new position. - The new position within the current stream. - - - - Sets the length of the current stream. - - The desired length of the current stream in bytes. - - - - Writes a sequence of bytes to the current stream and advances the current - position within this stream by the number of bytes written. - - - An array of bytes. This method copies count bytes from buffer to the current stream. - - - The zero-based byte offset in buffer at which to begin copying bytes to the - current stream. - - The number of bytes to be written to the current stream. - - - - Logger wrapper for System.Diagnostics.TraceSource logger. - - - - - Creates TraceRoute for a given Type or the closest "parent" that has a listener configured. - Example: if type is Amazon.DynamoDB.AmazonDynamoDBClient, listeners can be configured for: - -Amazon.DynamoDB.AmazonDynamoDBClient - -Amazon.DynamoDB - -Amazon - The first matching TraceSource with listeners will be used. - If no listeners are configured for type or one of its "parents", will return null. - - - - - Gets a TraceSource for given Type with SourceLevels.All. - If there are no listeners configured for targetType or one of its "parents", returns null. - - - - - - - Gets a TraceSource for given Type and SourceLevels. - If there are no listeners configured for targetType or one of its "parents", returns null. - - - - - - - - A wrapper stream that decrypts the base stream as it - is being read. - - - - - Initializes an DecryptStream with an decryption algorithm and a base stream. - - Stream to perform encryption on.. - - - - Reads a sequence of bytes from the current stream and advances the position - within the stream by the number of bytes read. - - - An array of bytes. When this method returns, the buffer contains the specified - byte array with the values between offset and (offset + count - 1) replaced - by the bytes read from the current source. - - - The zero-based byte offset in buffer at which to begin storing the data read - from the current stream. - - - The maximum number of bytes to be read from the current stream. - - - The total number of bytes read into the buffer. This can be less than the - number of bytes requested if that many bytes are not currently available, - or zero (0) if the end of the stream has been reached. - - - - - Gets a value indicating whether the current stream supports seeking. - DecryptStream does not support seeking, this will always be false. - - - - - Gets or sets the position within the current stream. - DecryptStream does not support seeking, attempting to set Position - will throw NotSupportedException. - - - - - Sets the position within the current stream. - DecryptStream does not support seeking, attempting to call Seek - will throw NotSupportedException. - - A byte offset relative to the origin parameter. - - A value of type System.IO.SeekOrigin indicating the reference point used - to obtain the new position. - The new position within the current stream. - - - - Validates the underlying stream. - - - - - A wrapper stream that decrypts the base stream as it - is being read. - - - - - Initializes an DecryptStream with an decryption algorithm and a base stream. - - Stream to perform encryption on.. - Symmetric key to perform decryption - Initialization vector to perform decryption - - - - A wrapper stream that decrypts the base stream using AES algorithm as it - is being read. - - - - - Initializes an AESDecryptionStream with a base stream. - - Stream to perform decryption on.. - Symmetric key to perform decryption - Initialization vector to perform decryption - - - - A wrapper stream that encrypts the base stream as it - is being read. - - - - - Initializes an EncryptStream with an encryption algorithm and a base stream. - - Stream to perform encryption on.. - - - - Reads a sequence of bytes from the current stream and advances the position - within the stream by the number of bytes read. - - - An array of bytes. When this method returns, the buffer contains the specified - byte array with the values between offset and (offset + count - 1) replaced - by the bytes read from the current source. - - - The zero-based byte offset in buffer at which to begin storing the data read - from the current stream. - - - The maximum number of bytes to be read from the current stream. - - - The total number of bytes read into the buffer. This can be less than the - number of bytes requested if that many bytes are not currently available, - or zero (0) if the end of the stream has been reached. - - - - - Gets a value indicating whether the current stream supports seeking. - - - - - Returns encrypted content length. - - - - - Gets or sets the position within the current stream. - - - - - Sets the position within the current stream. - - A byte offset relative to the origin parameter. - - A value of type System.IO.SeekOrigin indicating the reference point used - to obtain the new position. - The new position within the current stream. - - - - Validates the underlying stream. - - - - - A wrapper stream that encrypts the base stream as it - is being read. - - - - - Initializes an EncryptStream with an encryption algorithm and a base stream. - - Stream to perform encryption on.. - Symmetric key to perform encryption - Initialization vector to perform encryption - - - - A wrapper stream that encrypts the base stream using AES algorithm as it - is being read. - - - - - Initializes an AESEncryptionStream with a base stream. - - Stream to perform encryption on.. - Symmetric key to perform encryption - Initialization vector to perform encryption - - - - A wrapper stream that encrypts the base stream as it - is being read. - - - - - Initializes an EncryptStream for Multipart uploads with an encryption algorithm and a base stream. - - Stream to perform encryption on.. - - - - Reads a sequence of bytes from the current stream and advances the position - within the stream by the number of bytes read. - - - An array of bytes. When this method returns, the buffer contains the specified - byte array with the values between offset and (offset + count - 1) replaced - by the bytes read from the current source. - - - The zero-based byte offset in buffer at which to begin storing the data read - from the current stream. - - - The maximum number of bytes to be read from the current stream. - - - The total number of bytes read into the buffer. This can be less than the - number of bytes requested if that many bytes are not currently available, - or zero (0) if the end of the stream has been reached. - - - - - Gets a value indicating whether the current stream supports seeking. - - - - - Returns encrypted content length. - - - - - Gets or sets the position within the current stream. - - - - - Sets the position within the current stream. - - A byte offset relative to the origin parameter. - - A value of type System.IO.SeekOrigin indicating the reference point used - to obtain the new position. - The new position within the current stream. - - - - Validates the underlying stream. - - - - - A wrapper stream that encrypts the base stream as it - is being read. - - - - - Initializes an EncryptStream with an encryption algorithm and a base stream. - - Stream to perform encryption on.. - Symmetric key to perform encryption - Initialization vector to perform encryption - - - - A wrapper stream that encrypts the base stream as it - is being read. - - - - - Initializes an AESEncryptionStream with a base stream. - - Stream to perform encryption on.. - Symmetric key to perform encryption - Initialization vector to perform encryption - - - - Provides read/write access to a file in the INI format. - - This class is not threadsafe. - - - - - Construct a new IniFile. - - path of the IniFile - - - - the path of the file - - - - - helper to access the lines of the file - - - - - Persist the changes to this INI file to disk. - - - - - Rename the section fromSectionName to toSectionName - - - - - - - Rename the section fromSectionName to toSectionName - - - - if true and destination section already exists overwrite it - - - - Copy the section fromSectionName to toSectionName - - - - Any properties in the original section that are also in this dictionary will - be replaced by the value from this dictionary. - - - - Copy the section fromSectionName to toSectionName - - - - Any properties in the original section that are also in this dictionary will - be replaced by the value from this dictionary. - if true and destination section already exists overwrite it - - - - Update the section with the properties given. - If the section doesn't exist, it will be appended to the file. - - Notes: - 1. Any properties that do exist in the section will be updated. - 2. A null value for a property denotes that it should be deleted from the section - 3. If any properties don't exist they will be appended to the end of the section - in the same order they appear in the SortedDictionary. - - name of the section to operate on - properties to add/update/delete - - - - Check if the section exists. If not, append it to the end of the file. - - section to ensure exists - - - - If the section exists, delete it from the INI file. - - section to delete - - - - Determine if a section exists in the INI file. - - name of section to look for - true if the section exists, false otherwise - - - - Return the properties for the section if it exists. - - name of section to get - properties contained in the section - True if the section was found, false otherwise - - - - Return the properties for the section if it exists. - - Regex to match name of section to get - properties contained in the section - True if the section was found, false otherwise - - - - Return the properties for the section if it exists. - - Regex to match name of section to get - name of section if regex matches - properties contained in the section - True if the section was found, false otherwise - - - - Provides line-based read/write access to a file. - The file can be read into memory, changed, then written back to disk. - When the file is persisted back to disk, an optimistic concurrency - check is performed to make sure the file hasn't changed since it was - originally read. - - This class is not threadsafe. - - - - - a full copy of the original file - This is used for optimistic concurrency. - Note that this assumes a small file and does not scale large files. - - - - - path of the file - - - - - Read/write access to the lines that make up the file. - Any changes to this List are persisted back to disk when Persist() is called. - - NOTE: - The lines have the original line endings on them to preserve the - original text as much as possible. - - - - - Construct a new OptimisticLockedTextFile. - - path of the file - - - - Persist changes to disk after an optimistic concurrency check is completed. - - - - - Constructs a new instance of the HttpErrorResponseException class with serialized data. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Sets the with information about the exception. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is a null reference (Nothing in Visual Basic). - - - - An abstract pipeline handler that has implements IPipelineHandler, - and has the default implmentation. This is the base class for most of - the handler implementations. - - - - - The logger used to log messages. - - - - - The inner handler which is called after the current - handler completes it's processing. - - - - - The outer handler which encapsulates the current handler. - - - - - Contains the processing logic for a synchronous request invocation. - This method calls InnerHandler.InvokeSync to continue processing of the - request by the pipeline. - - The execution context which contains both the - requests and response context. - - - - Contains the processing logic for an asynchronous request invocation. - This method calls InnerHandler.InvokeSync to continue processing of the - request by the pipeline. - - The response type for the current request. - The execution context, it contains the - request and response context. - A task that represents the asynchronous operation. - - - - Logs the metrics for the current execution context. - - The execution context, it contains the - request and response context. - - - - A runtime pipeline contains a collection of handlers which represent - different stages of request and response processing. - - - - - The top-most handler in the pipeline. - - - - - Constructor for RuntimePipeline. - - The handler with which the pipeline is initalized. - - - - Constructor for RuntimePipeline. - - List of handlers with which the pipeline is initalized. - - - - Constructor for RuntimePipeline. - - List of handlers with which the pipeline is initalized. - The logger used to log messages. - - - - Constructor for RuntimePipeline. - - The handler with which the pipeline is initalized. - The logger used to log messages. - - - - Invokes the pipeline synchronously. - - Request context - Response context - - - - Invokes the pipeline asynchronously. - - Request context - Response context - - - - Adds a new handler to the top of the pipeline. - - The handler to be added to the pipeline. - - - - Adds a handler after the first instance of handler of type T. - - Type of the handler after which the given handler instance is added. - The handler to be added to the pipeline. - - - - Adds a handler before the first instance of handler of type T. - - Type of the handler before which the given handler instance is added. - The handler to be added to the pipeline. - - - - Removes the first occurance of a handler of type T. - - Type of the handler which will be removed. - - - - Replaces the first occurance of a handler of type T with the given handler. - - Type of the handler which will be replaced. - The handler to be added to the pipeline. - - - - Inserts the given handler after current handler in the pipeline. - - Handler to be inserted in the pipeline. - Handler after which the given handler is inserted. - - - - Gets the innermost handler by traversing the inner handler till - it reaches the last one. - - - - - Retrieves a list of handlers, in the order of their execution. - - Handlers in the current pipeline. - - - - Retrieves current handlers, in the order of their execution. - - Handlers in the current pipeline. - - - - This handler processes exceptions thrown from the HTTP handler and - unmarshalls error responses. - - - - - Default set of exception handlers. - - - - - Default set of exception handlers. - - - - - Constructor for ErrorHandler. - - an ILogger instance. - - - - Handles and processes any exception thrown from underlying handlers. - - The execution context which contains both the - requests and response context. - - - - Handles and processes any exception thrown from underlying handlers. - - The response type for the current request. - The execution context, it contains the - request and response context. - A task that represents the asynchronous operation. - - - - Disposes the response body. - - The response context. - - - - Processes an exception by invoking a matching exception handler - for the given exception. - - The execution context, it contains the - request and response context. - The exception to be processed. - - This method returns a boolean value which indicates if the original exception - should be rethrown. - This method can also throw a new exception that may be thrown by exception - processing by a matching exception handler. - - - - - The abstract base class for exception handlers. - - The exception type. - - - - The exception handler for HttpErrorResponseException exception. - - - - - The constructor for HttpErrorResponseExceptionHandler. - - in instance of ILogger. - - - - Handles an exception for the given execution context. - - The execution context, it contains the - request and response context. - The exception to handle. - - Returns a boolean value which indicates if the original exception - should be rethrown. - This method can also throw a new exception to replace the original exception. - - - - - Checks if a HTTP 404 status code is returned which needs to be suppressed and - processes it. - If a suppressed 404 is present, it unmarshalls the response and returns true to - indicate that a suppressed 404 was processed, else returns false. - - The execution context, it contains the - request and response context. - - - If a suppressed 404 is present, returns true, else returns false. - - - - - The exception handler for HttpErrorResponseException exception. - - - - - A pipeline handler which provides hooks to run - external code in the pre-invoke and post-invoke phases. - - - - - Action to execute on the pre invoke phase. - - - - - Action to execute on the post invoke phase. - - - - - Calls the PreInvoke and PostInvoke methods before and after calling the next handler - in the pipeline. - - The execution context which contains both the - requests and response context. - - - - Calls the PreInvoke and PostInvoke methods before and after calling the next handler - in the pipeline. - - The response type for the current request. - The execution context, it contains the - request and response context. - A task that represents the asynchronous operation. - - - - Executes the OnPreInvoke action as part of pre-invoke. - - The execution context, it contains the - request and response context. - - - - Executes the OnPreInvoke action as part of post-invoke. - - The execution context, it contains the - request and response context. - - - - This handler retrieved the AWS credentials to be used for the current call. - - - - - The constructor for CredentialsRetriever. - - An AWSCredentials instance. - - - - Retrieves the credentials to be used for the current call before - invoking the next handler. - - - - - - Calls pre invoke logic before calling the next handler - in the pipeline. - - The execution context which contains both the - requests and response context. - - - - Calls pre invoke logic before calling the next handler - in the pipeline. - - The response type for the current request. - The execution context, it contains the - request and response context. - A task that represents the asynchronous operation. - - - - This handler resolves the endpoint to be used for the current request. - - - - - Calls pre invoke logic before calling the next handler - in the pipeline. - - The execution context which contains both the - requests and response context. - - - - Calls pre invoke logic before calling the next handler - in the pipeline. - - The response type for the current request. - The execution context, it contains the - request and response context. - A task that represents the asynchronous operation. - - - - Resolves the endpoint to be used for the current request - before invoking the next handler. - - The execution context, it contains the - request and response context. - - - - Determines the endpoint for the request. - - The request context. - - - - - This handler provides an OnError action that can be used as hook for - external code to handle exceptions in the runtime pipeline. - - - - - Action to execute if an exception occurs during the - execution of any underlying handlers. - - - - - Executes the OnError action if an exception occurs during the - execution of any underlying handlers. - - - - - - - This handler marshalls the request before calling invoking the next handler. - - - - - Calls pre invoke logic before calling the next handler - in the pipeline. - - The execution context which contains both the - requests and response context. - - - - Calls pre invoke logic before calling the next handler - in the pipeline. - - The response type for the current request. - The execution context, it contains the - request and response context. - A task that represents the asynchronous operation. - - - - Marshalls the request before calling invoking the next handler. - - The execution context, it contains the - request and response context. - - - - This handler manages the metrics used to time the complete call and - logs the final metrics. - - - - - Captures the overall execution time and logs final metrics. - - The execution context which contains both the - requests and response context. - - - - Captures the overall execution time and logs final metrics. - - The response type for the current request. - - The execution context, it contains the request and response context. - - A task that represents the asynchronous operation. - - - - This handler processes HTTP redirects and reissues the call to the - redirected location. - - - - - Processes HTTP redirects and reissues the call to the - redirected location. - - The execution context which contains both the - requests and response context. - - - - Processes HTTP redirects and reissues the call to the - redirected location. - - The response type for the current request. - The execution context, it contains the - request and response context. - A task that represents the asynchronous operation. - - - - Checks if an HTTP 307 (temporary redirect) has occured and changes the - request endpoint to the redirected location. - - - The execution context, it contains the request and response context. - - - A boolean value that indicates if a redirect has occured. - - - - - This handler signs the request. - - - - - Calls pre invoke logic before calling the next handler - in the pipeline. - - The execution context which contains both the - requests and response context. - - - - Calls pre invoke logic before calling the next handler - in the pipeline. - - The response type for the current request. - The execution context, it contains the - request and response context. - A task that represents the asynchronous operation. - - - - Signs the request before invoking the next handler. - - - The execution context, it contains the request and response context. - - - - - Determines if the request should be signed. - - The request context. - A boolean value that indicated if the request should be signed. - - - - Signs the request. - - The request context. - - - - This handler unmarshalls the HTTP response. - - - - - The constructor for Unmarshaller. - - - Boolean value which indicated if the unmarshaller - handler supports response logging. - - - - - Unmarshalls the response returned by the HttpHandler. - - The execution context which contains both the - requests and response context. - - - - Unmarshalls the response returned by the HttpHandler. - - The response type for the current request. - The execution context, it contains the - request and response context. - A task that represents the asynchronous operation. - - - - Unmarshalls the HTTP response. - - - The execution context, it contains the request and response context. - - - - - The HTTP handler contains common logic for issuing an HTTP request that is - independent of the underlying HTTP infrastructure. - - - - - - The sender parameter used in any events raised by this handler. - - - - - The constructor for HttpHandler. - - The request factory used to create HTTP Requests. - The sender parameter used in any events raised by this handler. - - - - Issues an HTTP request for the current request context. - - The execution context which contains both the - requests and response context. - - - - Issues an HTTP request for the current request context. - - The response type for the current request. - The execution context, it contains the - request and response context. - A task that represents the asynchronous operation. - - - - Determines the content for request body and uses the HTTP request - to write the content to the HTTP request body. - - Content to be written. - The HTTP request. - The request context. - - - - Creates the HttpWebRequest and configures the end point, content, user agent and proxy settings. - - The async request. - The web request that actually makes the call. - - - - Disposes the HTTP handler. - - - - - The request factory for System.Net.HttpWebRequest. - - - - - Creates an HTTP request for the given URI. - - The request URI. - An HTTP request. - - - - Disposes the HttpWebRequestFactory. - - - - - HTTP request wrapper for System.Net.HttpWebRequest. - - - - - Constructor for HttpRequest. - - The request URI. - - - - The underlying HTTP web request. - - - - - The HTTP method or verb. - - - - - The request URI. - - - - - Returns the HTTP response. - - The HTTP response. - - - - Gets a handle to the request content. - - The request content. - - - - Writes a stream to the request body. - - The destination where the content stream is written. - The content stream to be written. - HTTP content headers. - The request context. - - - - Writes a byte array to the request body. - - The destination where the content stream is written. - The content stream to be written. - HTTP content headers. - - - - Aborts the HTTP request. - - - - - Gets a handle to the request content. - - - - - - Returns the HTTP response. - - A cancellation token that can be used to cancel the asynchronous operation. - - - - - Configures a request as per the request context. - - The request context. - - - - Sets the headers on the request. - - A dictionary of header names and values. - - - - Disposes the HttpRequest. - - - - - Sets up the progress listeners - - The content stream - The interval at which progress needs to be published - The objects which is trigerring the progress changes - The callback which will be invoked when the progress changed event is trigerred - an object, incase the progress is setup, else returns the original stream - - - - The default implementation of the retry policy. - - - The default implementation of the retry policy. - - - - - The maximum value of exponential backoff in milliseconds, which will be used to wait - before retrying a request. - - - - - List of HTTP Status codes codes which are returned as part of the error response. - These status codes will be retried. - - - - - List of AWS specific error codes which are returned as part of the error response. - These error codes will be retried. - - - - - List of WebExceptionStatus for a WebException which will be retried. - - - - - Constructor for DefaultRetryPolicy. - - The maximum number of retries before throwing - back a exception. This does not count the initial request. - - - - Constructor for DefaultRetryPolicy. - - The Client config object. This is used to - retrieve the maximum number of retries before throwing - back a exception(This does not count the initial request) and - the service URL for the request. - - - - Returns true if the request is in a state where it can be retried, else false. - - Request context containing the state of the request. - Returns true if the request is in a state where it can be retried, else false. - - - - Return true if the request should be retried. - - Request context containing the state of the request. - The exception thrown by the previous request. - Return true if the request should be retried. - - - - Virtual method that gets called when a retry request is initiated. If retry throttling is - enabled, the value returned is true if the required capacity is retured, false otherwise. - If retry throttling is disabled, true is returned. - - The execution context which contains both the - requests and response context. - - - - Virtual method that gets called on a success Response. If its a retry success response, the entire - retry acquired capacity is released(default is 5). If its just a success response a lesser value capacity - is released(default is 1). - - Request context containing the state of the request. - - - - Perform the processor-bound portion of the RetryForException logic. - This is shared by the sync, async, and APM versions of the RetryForException method. - - The exception thrown by the previous request. - Return true if the request should be retried. - - - - Checks if the retry limit is reached. - - Request context containing the state of the request. - Return false if the request can be retried, based on number of retries. - - - - Waits before retrying a request. The default policy implements a exponential backoff. - - Request context containing the state of the request. - - - - Return true if the request should be retried. - - Request context containing the state of the request. - The exception thrown by the previous request. - Return true if the request should be retried. - - - - Waits before retrying a request. - - The execution context which contains both the - requests and response context. - - - - The retry handler has the generic logic for retrying requests. - It uses a retry policy which specifies when - a retry should be performed. - - - - - The logger used to log messages. - - - - - The retry policy which specifies when - a retry should be performed. - - - - - Constructor which takes in a retry policy. - - Retry Policy - - - - Invokes the inner handler and performs a retry, if required as per the - retry policy. - - The execution context which contains both the - requests and response context. - - - - Invokes the inner handler and performs a retry, if required as per the - retry policy. - - The response type for the current request. - The execution context, it contains the - request and response context. - A task that represents the asynchronous operation. - - - - Prepares the request for retry. - - Request context containing the state of the request. - - - - Implements the Dispose pattern - - Whether this object is being disposed via a call to Dispose - or garbage collected. - - - - Disposes of all managed and unmanaged resources. - - - - - Provides information for Client Context header. - Client Context header needs information like App title, version code, version name, package name etc. - - - - - The title of your app. For example, "My App". - If this property is not null, the value would be used in Client Context header. - - - - - The version for your app. For example, V3.0. - If this property is not null, the value would be used in Client Context header. - - - - - The version code of your app. For example, 3.0. - If this property is not null, the value would be used in Client Context header. - - - - - The name of your app package. For example, com.your_company.your_app. - If this property is not null, the value would be used in Client Context header. - - - - - The operating system of the device. For example, iPhoneOS. - If this property is not null, the value would be used in Client Context header. - - - - - The version of the operating system of the device. For example, 8.1. - If this property is not null, the value would be used in Client Context header. - - - - - The locale of the device. For example, en_US. - If this property is not null, the value would be used in Client Context header. - - - - - The manufacturer of the device. For example, Samsung. - If this property is not null, the value would be used in Client Context header. - - - - - The model of the device. For example, Nexus. - If this property is not null, the value would be used in Client Context header. - - - - - This class is the base class of all the configurations settings to connect - to a service. - - - This class is the base class of all the configurations settings to connect - to a service. - - - - - Gets Service Version - - - - - Gets and sets of the signatureMethod property. - - - - - Gets and sets of the SignatureVersion property. - - - - - Gets and sets of the UserAgent property. - - - - - Gets and sets the RegionEndpoint property. The region constant to use that - determines the endpoint to use. If this is not set then the client will fallback - to the value of ServiceURL. - - - - - - The constant used to lookup in the region hash the endpoint. - - - - - Gets and sets of the ServiceURL property. - This is an optional property; change it - only if you want to try a different service - endpoint. - - - - - Gets and sets the UseHttp. - If this property is set to true, the client attempts - to use HTTP protocol, if the target endpoint supports it. - By default, this property is set to false. - - - - - Gets and sets the AuthenticationRegion property. - Used in AWS4 request signing, this is an optional property; - change it only if the region cannot be determined from the - service endpoint. - - - - - Gets and sets the AuthenticationServiceName property. - Used in AWS4 request signing, this is the short-form - name of the service being called. - - - - - Gets and sets of the MaxErrorRetry property. - - - - - Gets and sets the LogResponse property. - If this property is set to true, the service response is logged. - The size of response being logged is controlled by the AWSConfigs.LoggingConfig.LogResponsesSizeLimit property. - - - - - Gets and sets the ReadEntireResponse property. - NOTE: This property does not effect response processing and is deprecated. - To enable response logging, the ClientConfig.LogResponse and AWSConfigs.LoggingConfig - properties can be used. - - - - - Gets and Sets the BufferSize property. - The BufferSize controls the buffer used to read in from input streams and write - out to the request. - - - - - - Gets or sets the interval at which progress update events are raised - for upload operations. By default, the progress update events are - raised at every 100KB of data transferred. - - - If the value of this property is set less than ClientConfig.BufferSize, - progress updates events will be raised at the interval specified by ClientConfig.BufferSize. - - - - - - Flag on whether to resign requests on retry or not. - - - - - This flag controls if .NET HTTP infrastructure should follow redirection - responses (e.g. HTTP 307 - temporary redirect). - - - - - Flag on whether to log metrics for service calls. - - This can be set in the application's configs, as below: - - <?xml version="1.0" encoding="utf-8" ?> - <configuration> - <appSettings> - <add key="AWSLogMetrics" value"true"/> - </appSettings> - </configuration> - - - - - - Gets and sets the DisableLogging. If true logging for this client will be disabled. - - - - - Credentials to use with a proxy. - - - - - - Configures the endpoint calculation for a service to go to a dual stack (ipv6 enabled) endpoint - for the configured region. - - - Note: AWS services are enabling dualstack endpoints over time. It is your responsibility to check - that the service actually supports a dualstack endpoint in the configured region before enabling - this option for a service. - - - - - Enable or disable the Retry Throttling feature by setting the ThrottleRetries flag to True/False resepctively. - Retry Throttling is a feature that intelligently throttles retry attempts when a large precentage of requests - are failing and retries are unsuccessful as well. In such situations the allotted retry capacity for the service URL - will be drained until requests start to succeed again. Once the requisite capacity is available, retries would - be permitted again. When retries are throttled, the service enters a fail-fast behaviour as the traditional retry attempt - for the request would be circumvented. Hence, errors will resurface quickly. This will result in a greated number of exceptions - but prevents requests being tied up in unsuccessful retry attempts. - Note: Retry Throttling is enabled by default. Set the ThrottleRetries flag to false to switch off this feature. - - - - - Enable or disable the Nagle algorithm on the underlying http - client. - - This method is not intended to be called by consumers of the AWS SDK for .NET - - - - - - Performs validation on this config object. - Throws exception if any of the required values are missing/invalid. - - - - - Returns the request timeout value if its value is set, - else returns client timeout value. - - - - - Gets and sets of the ProxyHost property. - - - - - Gets and sets the ProxyPort property. - - - - - Gets and sets the ProxyBypassList property; a collection - of regular expressions denoting the set of endpoints for - which the configured proxy host will be bypassed. - - - For more information on bypass lists - see https://msdn.microsoft.com/en-us/library/system.net.webproxy.bypasslist%28v=vs.110%29.aspx. - - - - - Gets and sets the ProxyBypassOnLocal property. - If set true requests to local addresses bypass the configured - proxy. - - - - - Returns a WebProxy instance configured to match the proxy settings - in the client configuration. - - - - - Unpacks the host, port and any credentials info into the instance's - proxy-related fields. - - The proxy details - - - - Gets and sets the max idle time set on the ServicePoint for the WebRequest. - Default value is 50 seconds (50,000 ms) unless ServicePointManager.MaxServicePointIdleTime is set, - in which case ServicePointManager.MaxServicePointIdleTime will be used as the default. - - - - - Gets and sets the connection limit set on the ServicePoint for the WebRequest. - Default value is 50 connections unless ServicePointManager.DefaultConnectionLimit is set in - which case ServicePointManager.DefaultConnectionLimit will be used as the default. - - - - - Gets or sets a Boolean value that determines whether the Nagle algorithm is used on connections managed by the ServicePoint object used - for requests to AWS. This is defaulted to false for lower latency with responses that return small amount of data. This is the opposite - default than ServicePoint.UseNagleAlgorithm which is optimized for large responses like web pages or images. - - - - - - Base class for constant class that holds the value that will be sent to AWS for the static constants. - - - - - Gets the value that needs to be used when send the value to AWS - - - - - Attempt to find correct-cased constant value using whatever cased value the user - has provided. This is primarily useful for mapping any-cased values from a CLI - tool to the specific casing required by the service, avoiding the need for the - user to (a) remember the specific case and (b) actually type it correctly. - - The properly cased service constant matching the value - - - - The valid hashing algorithm supported by the sdk for request signing. - - - - - Which end of a request was responsible for a service error response. - - - - - The sender was responsible for the error, i.e. the client - request failed validation or was improperly formatted. - - - - - The error occured within the service. - - - - - An unrecognized error type was returned. - - - - - All Amazon service interfaces like IAmazonS3 extend from this interface. This allows all the - Amazon service interfaces be identified by this base interface and helps with generic constraints. - - - - - A readonly view of the configuration for the service client. - - - - - This interface is the read only access to the ClientConfig object used when setting up service clients. Once service clients - are initiated the config object should not be changed to avoid issues with using a service client in a multi threaded environment. - - - - - Gets the RegionEndpoint property. The region constant to use that - determines the endpoint to use. If this is not set - then the client will fallback to the value of ServiceURL. - - - - - The constant used to lookup in the region hash the endpoint. - - - - - Gets and sets of the ServiceURL property. - This is an optional property if you need to set a specific service URL - instead setting the region with the RegionEndpoint property. - - - - - Gets the UseHttp property. - If this property is set to true, the client attempts - to use HTTP protocol. - By default, this property is set to false. - - - - - Gets Service Version - - - - - Gets the signatureMethod property. - - - - - Gets the SignatureVersion property. - - - - - Gets the AuthenticationRegion property. - Used in AWS4 request signing, this is an optional property; - change it only if the region cannot be determined from the - service endpoint. - - - - - Gets the AuthenticationServiceName property. - Used in AWS4 request signing, this is the short-form - name of the service being called. - - - - - Gets the UserAgent property. - - - - - Gets the DisableLogging. If true logging for this client will be disabled. - - - - - Flag on whether to log metrics for service calls. - - This can be set in the application's configs, as below: - - <?xml version="1.0" encoding="utf-8" ?> - <configuration> - <appSettings> - <add key="AWSLogMetrics" value"true"/> - </appSettings> - </configuration> - - - - - - Gets the LogResponse property. - If this property is set to true, the service response - is read in its entirety and logged. - - - - - Gets the ReadEntireResponse. - If this property is set to true, the service response - is read in its entirety before being processed. - - - - - This flag controls if .NET HTTP infrastructure should follow redirection - responses (e.g. HTTP 307 - temporary redirect). - - - - - Gets the BufferSize property. - The BufferSize controls the buffer used to read in from input streams and write - out to the request. - - - - - Gets the MaxErrorRetry property. - - - - - Gets the interval at which progress update events are raised - for upload operations. By default, the progress update events are - raised at every 100KB of data transferred. - - - - - Flag on whether to resign requests on retry or not. - - - - - Credentials to use with a proxy. - - - - - Gets the default request timeout value. - - - - If the value is set, the value is assigned to the Timeout property of the HTTPWebRequest/HttpClient object used - to send requests. - - - Please specify a timeout value only if the operation will not complete within the default intervals - specified for an HttpWebRequest/HttpClient. - - - - - - Configures the endpoint calculation for a service to go to a dual stack (ipv6 enabled) endpoint - for the configured region. - - - Note: AWS services are enabling dualstack endpoints over time. It is your responsibility to check - that the service actually supports a dualstack endpoint in the configured region before enabling - this option for a service. - - - - - Configures a flag enabling to either opt in or opt out of the retry throttling service. - Note: set value to true to enable retry throttling feature. The Default value for this flag is false. - - - - - Using either the RegionEndpoint or the ServiceURL determine what the URL to the service is. - - The URL to the service. - - - - Performs validation on this config object. - Throws exception if any of the required values are missing/invalid. - - The timeout specified is null. - - - - Gets the ProxyHost property. - - - - - Gets the ProxyPort property. - - - - - Gets the max idle time set on the ServicePoint for the WebRequest. - Default value is 50 seconds (50,000 ms) unless ServicePointManager.MaxServicePointIdleTime is set, - in which case ServicePointManager.MaxServicePointIdleTime will be used as the default. - - - - - Gets the default read-write timeout value. - - - - - - - Gets the connection limit set on the ServicePoint for the WebRequest. - Default value is 50 connections unless ServicePointManager.DefaultConnectionLimit is set in - which case ServicePointManager.DefaultConnectionLimit will be used as the default. - - - - - Gets whether the Nagle algorithm is used on connections managed by the ServicePoint object used - for requests to AWS. This is defaulted to false for lower latency with responses that return small amount of data. This is the opposite - default than ServicePoint.UseNagleAlgorithm which is optimized for large responses like web pages or images. - - - - - Returns a WebProxy instance configured to match the proxy settings - in the client configuration. - - - - - Interface for a single logged message. - - - - - Log message format. - - - - - Log message arguments. - - - - - Culture-specific formatting provider. - - - - - Metrics collected by the SDK on a per-request basis. - - - Each request made to an AWS service by the SDK can have metrics - collected and logged. This interface represents the collected - metrics for a request. The metrics include properties (i.e. request id - and other metadata), timings for each stage of the request, and counters. - - - - - Collection of properties being tracked - - - - - Timings for metrics being tracked - - - - - Counters being tracked - - - - - Whether metrics are enabled for the request - - - - - JSON representation of the current metrics - - JSON string - - - - Represents how long a phase of an SDK request took. - - - - - Whether the timing has been stopped - - - - - Elapsed ticks from start to stop. - If timing hasn't been stopped yet, returns 0. - - - - - Elapsed time from start to stop. - If timing hasn't been stopped yet, returns TimeSpan.Zero - - - - - User supplied type to perform metrics formatting. - - - - - Produce custom formatting for SDK metrics. - - - If defined, this method will be called for every request made by the SDK. - - An instance of IRequestMetrics produced by the SDK - formatted string representation of the metrics - - - - Predefined request metrics that are collected by the SDK. - - - - - Information about the request. - - - - - Gets and sets the RequestId property. - ID that uniquely identifies a request. Amazon keeps track of request IDs. If you have a question about a request, include the request ID in your correspondence. - - - - - This exception is thrown if there are problems signing the request. - - - - - Constructs a new instance of the SignatureException class with serialized data. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - The constructor takes the number of - currently transferred bytes and the - total number of bytes to be transferred - - The number of bytes transferred since last event - The number of bytes transferred - The total number of bytes to be transferred - - - - Gets the percentage of transfer completed - - - - - Gets the number of bytes transferred since last event - - - - - Gets the number of bytes transferred - - - - - Gets the total number of bytes to be transferred - - - - - Returns a string representation of this object - - - - - - Attempt to read a role session with the given name. - If the session is invalid or expired it will not be returned. - - The name of the role session to get. - The credentials for the session, if found. - True if the session was found, false otherwise. - - - - Class to easily convert from Dictionary<string, string> to ProfileOptions and back. - - - - - Separate the profileDictionary into its parts. - profileDictionary = profileOptions + reservedProperties + userProperties - - Dictionary with everything in it - Keys to ignore - The resulting CredentialProfileOptions - The properties that are left - - - - Separate the profileDictionary into its parts. - profileDictionary = profileOptions + reservedProperties + userProperties - - Dictionary with everything in it - Keys for the reservedKeys dictionary - The resulting CredentialProfileOptions - The resulting reserved properties - The properties that are left - - - - Validate the userProperties and then combine profileOptions, reservedProperties, and userProperties into one Dictionary. - - - - - - - - - - Make sure the userProperties dictionary doesn't contain any keys that are reserved. - Check is case-insensitive for added safety. - - - - - - - Make sure the userProperties dictionary doesn't contain any keys that - overlap with the names of mapped names for CredentialProfileOptions property names. - Check is case-insensitive for added safety. - - - - - - This class is used internally and should not be accessed by SDK users. - - Provide access to internal properties of CredentialProfile to - PowerShell tools and the Visual Studio Toolkit. - - - - - Represents the different types of authentication available for SAML endpoints. - - - - - Representation of a SAML Endpoint. - - - - - The name given to this SAMLEndpoint. - - - - - The URI of the SAML endnpoint. - - - - - The authentication type associated with the SAML endpoint. - - - - - Internal constructor. Used by SAMLEndpointManager when reading endpoints from the encrypted store. - - - - - - - - Construct a SAMLEndpoint using the default SAMLAuthenticationType - Kerberos. - - The name of the endpoint. - The URI of the endpoint. - - - - Construct a SAMLEndpoint. - - The name of the endpoint. - The URI of the endpoint. - The authentication type of the endpoint. - - - - Manages endpoints to be used in conjunction with SAML role profiles. The role profiles - reference the endpoint to obtain the actual endpoint and any customization settings - needed to perform authentication. - - - - - Construct a SAMLEndpointManager. - - - - - True if the SAMLEndpointManager is available on the current platform, false otherwise. - - - - - Register an endpoint, or update an existing one. - - The endpoint to register. - - - - Get an endpoint, if it exists and is valid. - - The name of the endpoint to get. - The endpoint, or null if it's invalid or doesn't exist. - True if the endpoint exists and is valid, false otherwise. - - - - Get an endpoint from the store. - Throws an exception if there's an error reading the endpoint, or if it doesn't exist. - - The name of the endpoint to get. - The endpoint with the given name. - - - - Delete an endpoint from the store, if it exists. - - The name of the endpoint to delete. - - - - List the names of valid endpoints in the store. - - - - - - List valid endopints that can be read from the store. - - - - - - Factory to construct different types of AWSCredentials based on a profile. - - - - - Gets the AWSCredentials for this profile if CanCreateAWSCredentials is true - and AWSCredentials can be created. Throws an exception otherwise. - - See for a list of AWSCredentials returned by this method. - - The profile to get AWSCredentials for. - The profile source, for profiles that reference other profiles. - AWSCredentials for this profile. - - - - Gets the AWSCredentials for this profile if CanCreateAWSCredentials is true - and AWSCredentials can be created. Throws an exception otherwise. - - See for a list of AWSCredentials returned by this method. - - The options to get AWSCredentials for. - The profile source, for options that reference other profiles. - AWSCredentials for the options given. - - - - Gets the AWSCredentials for this profile if CanCreateAWSCredentials is true - and AWSCredentials can be created. Throws an exception otherwise. - - See for a list of AWSCredentials returned by this method. - - The profile to get AWSCredentials for. - The profile source, for profiles that reference other profiles. - If true, throw a descriptive exception for any credentials that would not operate as-is. - In other words, any credentials that require programmatic callbacks at runtime. - AWSCredentials for this profile. - - - - Gets the AWSCredentials for this profile if CanCreateAWSCredentials is true - and AWSCredentials can be created. Throws an exception otherwise. - - See for a list of AWSCredentials returned by this method. - - The options to get AWSCredentials for. - The profile source, for options that reference other profiles. - If true, throw a descriptive exception for any credentials that would not operate as-is. - In other words, any credentials that require programmatic callbacks at runtime. - AWSCredentials for the options given. - - - - Return the credentials for the profile if valid credentials can created. - - The profile to create credentials with. - The profile source, for profiles that reference other profiles. - The credentials for the profile. - True if credentials can be created from the profile, false otherwise. - - - - Return the credentials for the profile if valid credentials can created. - - The options to get AWSCredentials for. - The profile source, for profiles that reference other profiles. - The credentials for the profile. - True if credentials can be created from the profile, false otherwise. - - - - Determine if the profileType will generate AWSCredentials that require a callback to be set on them. - - - - - - - A named group of options that are persisted and used to obtain AWSCredentials. - - - - - The name of the CredentialProfile - - - - - The options to be used to create AWSCredentials. - - - - - The region to be used with this CredentialProfile - - - - - The unique key for this CredentialProfile. - This key is used by the Visual Studio Tooklit to associate external artifacts with this profile. - - - - - An optional dictionary of name-value pairs stored with the CredentialProfile - - - - - True if the properties of the Options object can be converted into AWSCredentials, false otherwise. - See for more details about which options are available. - - - - - The that this is associated with. - Null if this is not associated with a . - - - - - If CanCreateAWSCredentials is true, returns a short description of the type of - credentials that would be created. - If CanCreateAWSCredentials is false, return null. - - - - - The CredentialProfileType of this CredentialProfile, if one applies. - - - - - Determine this CredentialProfile will generate AWSCredentials that require a callback to be set on them. - - - - - Construct a new CredentialProfile. - - - - - - - Gets the AWSCredentials for this profile if CanCreateAWSCredentials is true - and AWSCredentials can be created. Throws an exception otherwise. - - See for a list of AWSCredentials returned by this method. - - The profile source, for profiles that reference other profiles. - AWSCredentials for this profile. - - - - Gets the AWSCredentials for this profile if CanCreateAWSCredentials is true - and AWSCredentials can be created. Throws an exception otherwise. - - See for a list of AWSCredentials returned by this method. - - The profile source, for profiles that reference other profiles. - If true, throw a descriptive exception for any credentials that would not operate as-is. - In other words, any credentials that require programmatic callbacks at runtime. - AWSCredentials for this profile. - - - - - The access key to be used in the AWSCredentials. - - - - - The endpoint name to be used for federated AWSCredentials. - - - - - The external id to use in assume role AWSCredentials. - - - - - The serial number of the MFA to use in assume role AWSCredentials. - - - - - - The secret key to use when creating AWSCredentials. - - - - - When this CredentialProfileOptions object references another CredentialProfile, - the name of the referenced CredentialProfile. - - - - - The session token to be used to create AWSCredentials. - - - - - The user identity to use when creating federated AWSCredentials. - If not set, the user identity that the code is running under will be used. - - - - - Return true the properties are all null or empty, false otherwise. - - - - - Class to abstract the combined use of NetSDKCredentialsFile and SharedCredentialsFile where possible. - - - - - - The location of the shared credentials file, or null to use the default location. - - - - - Construct a CredentialProfileChain. - - - - - Construct a CredentialProfileChain. - - The path to the aws credentials file to look at. - - - - - Try to get from a profile. - - - If ProfilesLocation is non-null and non-empty search the shared credentials - file at the disk path in the ProfilesLocation property. - - - If ProfilesLocation is null or empty and the platform supports the .NET SDK credentials file - search the SDK credentials file. If the profile is not found search the shared credentials file in the default location. - - - If ProfilesLocation is null or empty and the platform doesn't support the .NET SDK credentials file - search the shared credentials file in the default location. - - - The name of the profile to get credentials from. - The credentials, if the profile is found and credentials can be created. - True if the profile was found and credentials could be created, false otherwise. - - - - - Try to get a - - - If ProfilesLocation is non-null and non-empty search the shared credentials - file at the disk path in the ProfilesLocation property. - - - If ProfilesLocation is null or empty and the platform supports the .NET SDK credentials file - search the SDK credentials file. If the profile is not found search the shared credentials file in the default location. - - - If ProfilesLocation is null or empty and the platform doesn't support the .NET SDK credentials file - search the shared credentials file in the default location. - - - The name of the profile to get. - The profile, if found - True if the profile was found, false otherwise. - - - - - Get a list of available objects. - - - If ProfilesLocation is non-null and non-empty include profiles in the shared credentials - file at the disk path in the ProfilesLocation property. - - - If ProfilesLocation is null or empty and the platform supports the .NET SDK credentials file - include profiles from the SDK credentials file and from the shared credentials file in the default location. - - - If ProfilesLocation is null or empty and the platform doesn't support the .NET SDK credentials file - include profiles from the shared credentials file in the default location. - - - A list of objects. - - - - - Register a - - - If ProfilesLocation is non-null and non-empty register the profile in the shared credentials - file at the disk path in the ProfilesLocation property. - - - If ProfilesLocation is null or empty and the platform supports the .NET SDK credentials file - register the profile in the SDK credentials file. - - - If ProfilesLocation is null or empty and the platform doesn't support the .NET SDK credentials file - register the profile in the shared credentials file in the default location. - - - The profile to register. - - - - - Unregister a - - - If ProfilesLocation is non-null and non-empty unregister the profile from the shared credentials - file at the disk path in the ProfilesLocation property. - - - If ProfilesLocation is null or empty and the platform supports the .NET SDK credentials file - search the SDK credentials file. If the profile is found there unregister it. - If the profile was not found search the shared credentials file in the default location. - If the profile is found in the shared credentials file in the default location unregister it. - - - If ProfilesLocation is null or empty and the platform doesn't support the .NET SDK credentials file - search the shared credentials file in the default location. If the profile is found in the - shared credentials file in the default location unregister it. - - - The name of the profile to unregister. - - - - Interface to define the necessary operations for a CredentialProfile lookup mechanism. - - - - - Get the profile with the given name, if one exists. - - The name of the profile to get. - The profile, if it was found, null otherwise. - True if the profile was found, false otherwise. - - - - Interface to define the necessary operations for a CredentialProfile storage mechanism. - - - - - Rename the profile with oldProfileName to newProfileName. - - The profile to rename. - The new name for the profile. - - - - Rename the profile with oldProfileName to newProfileName. - - The profile to rename. - The new name for the profile. - If true and the destination profile exists it will be overwritten. - - - - Make a copy of the profile with fromProfileName called toProfileName. - - The name of the profile to copy from. - The name of the new profile. - - - - Make a copy of the profile with fromProfileName called toProfileName. - - The name of the profile to copy from. - The name of the new profile. - If true and the destination profile exists it will be overwritten. - - - - Add the given profile to the store, or update it if one with the same name already exists. - - - - - - Delete the profile with profileName if it exists. - - The name of the profile to delete. - - - - Get a list of valid profile names from this store. - Invalid profiles are ignored. - See for more information - about valid profiles. - - - - - - Get a list of valid profiles from this store. - Invalid profiles are ignored. - See for more information - about valid profiles. - - - - - - - Get the profile with the name given, if it exists in this store. - - The name of the profile to find. - The profile, if it was found, null otherwise - True if the profile was found, false otherwise. - - - - Add the profile to this store, if it's valid. - - The profile to add. - - - - If there is a profile in the store with the given name, delete it. - - The name of the profile to delete. - - - - Rename the profile with oldProfileName to newProfileName. - - The profile to rename. - The new name for the profile. - - - - Rename the profile with oldProfileName to newProfileName. - - The profile to rename. - The new name for the profile. - If true and the destination profile exists it will be overwritten. - - - - Make a copy of the profile with fromProfileName called toProfileName. - - The name of the profile to copy from. - The name of the new profile. - - - - Make a copy of the profile with fromProfileName called toProfileName. - - The name of the profile to copy from. - The name of the new profile. - If true and the destination profile exists it will be overwritten. - - - - Set the ProfileType field to maintain backward compatibility with ProfileManager. - The value is ignored when it's read back in. - - - - - - - Provides access to read and write to the shared credentials INI file. - The file is read, parsed, and validated at construction time. - Changes can be made using the RegisterProfile() and - UnregisterProfile() methods. - - This class is not threadsafe. - - - - - To maintain compatibility with the CLI, - SharedCredentialsFile doesn't support the SAML profileTypes. - - - - - Construct a new SharedCredentialsFile in the default location. - - - - - Construct a new SharedCredentialsFile. - - The path of the shared credentials file. - - - - Add the profile given. If the profile already exists, update it. - - The profile to be written. - - - - Update the profile on disk regardless of the profile type. - - - - - - Deletes the section with the given ProfileName from the SharedCredentialsFile, if one exists. - - The ProfileName of the section to delete. - - - - Rename the profile with oldProfileName to newProfileName. - - The profile to rename. - The new name for the profile. - - - - Rename the profile with oldProfileName to newProfileName. - - The profile to rename. - The new name for the profile. - If true and the destination profile exists it will be overwritten. - - - - Make a copy of the profile with fromProfileName called toProfileName. - - The name of the profile to copy from. - The name of the new profile. - - - - Make a copy of the profile with fromProfileName called toProfileName. - - The name of the profile to copy from. - The name of the new profile. - If true and the destination profile exists it will be overwritten. - - - - Try to get a profile that may be partially in the credentials file and partially in the config file. - If there are identically named properties in both files, the properties in the credentials file take precedence. - - - - - - - - Anonymous credentials. - Using these credentials, the client does not sign the request. - - - - - Returns an instance of ImmutableCredentials for this instance - - - - - - AWS Credentials that automatically refresh by calling AssumeRole on - the Amazon Security Token Service. - - - - - The credentials of the user that will be used to call AssumeRole. - - - - - The Amazon Resource Name (ARN) of the role to assume. - - - - - An identifier for the assumed role session. - - - - - Options to be used in the call to AssumeRole. - - - - - Constructs an AssumeRoleAWSCredentials object. - - The credentials of the user that will be used to call AssumeRole. - The Amazon Resource Name (ARN) of the role to assume. - An identifier for the assumed role session. - - - - Constructs an AssumeRoleAWSCredentials object. - - The credentials of the user that will be used to call AssumeRole. - The Amazon Resource Name (ARN) of the role to assume. - An identifier for the assumed role session. - Options to be used in the call to AssumeRole. - - - - A unique identifier that is used by third parties when assuming roles in their customers' accounts. - - - - - An IAM policy in JSON format. - - - - - The length of time in seconds before the credentials will expire. - - - - - The proxy settings to use when calling AssumeRole. - - - - - The identification number of the MFA device that is associated with the user who is making the assume-role call. - - - - - The value provided by the MFA device, if the trust policy of the role being assumed requires MFA. - - - - - A callback that's used to obtain the MFA token code when the AssumeRoleAWSCredentials are refreshed. - - - - - Immutable representation of AWS credentials obtained as a result of - authenticating with the AssumeRole method of the Security Token Service. - - - - - The expiry time of the credentials, obtained from the AssumeRoleResponse. - - - - - Constructs an instance with supplied keys, token, and expiration. - - The AccessKey for the credentials. - The SecretKey for the credentials. - The security token for the credentials. - The expiration time for the credentials. - - - - Get a copy of this AssumeRoleImmutableCredentials object. - - A copy of this object. - - - - Abstract class that represents a credentials object for AWS services. - - - - - Returns a copy of ImmutableCredentials - - - - - - Called by AmazonServiceClient to validate the credential state - on client construction. - - - - - Basic set of credentials consisting of an AccessKey and SecretKey - - - - - Constructs a BasicAWSCredentials object for the specified accessKey and secretKey. - - - - - - - Returns an instance of ImmutableCredentials for this instance - - - - - - When running in an ECS container and AWS_CONTAINER_CREDENTIALS_RELATIVE_URI is set, - use the given end point to retrieve the credentials. - - - - - These constants should not be consumed by client code. They are only relevant - in the context of ECS container and, especially, AWS_CONTAINER_CREDENTIALS_RELATIVE_URI - environment variable should not be overriden by the client code. - - - - If AWS_CONTAINER_CREDENTIALS_RELATIVE_URI environment variable is set, we want to attempt to retrieve credentials - using ECS endpoint instead of referring to instance profile credentials. - - - - Immutable representation of AWS credentials. - - - - - Gets the AccessKey property for the current credentials. - - - - - Gets the SecretKey property for the current credentials. - - - - - Gets the Token property for the current credentials. - - - - - Gets the UseToken property for the current credentials. - Specifies if Token property is non-emtpy. - - - - - Constructs an ImmutableCredentials object with supplied accessKey, secretKey. - - - - Optional. Can be set to null or empty for non-session credentials. - - - - Returns a copy of the current credentials. - - - - - - Credentials that are retrieved from the Instance Profile service on an EC2 instance - - - - - Role for which the credentials are retrieved - - - - - Constructs a InstanceProfileAWSCredentials object for specific role - - Role to use - - - - Constructs a InstanceProfileAWSCredentials object for the first found role - - - - - Retrieves a list of all roles available through current InstanceProfile service - - - - - - Abstract class for automatically refreshing AWS credentials - - - - - Refresh state container consisting of credentials - and the date of the their expiration - - - - - The time before actual expiration to expire the credentials. - Property cannot be set to a negative TimeSpan. - - - - - Returns an instance of ImmutableCredentials for this instance - - - - - - When overridden in a derived class, generates new credentials and new expiration date. - - Called on first credentials request and when expiration date is in the past. - - - - - - When overridden in a derived class, generates new credentials and new expiration date. - - Called on first credentials request and when expiration date is in the past. - - - - - - Clears currently-stored credentials, forcing the next GetCredentials call to generate new credentials. - - - - - Immutable representation of AWS credentials obtained as a result of - authenticating against a SAML-supporting federated identity provider. - - - - - The expiry time of the credentials, obtained from the AssumeRoleWithSAML response. - - - - - The value of the NameID element in the Subject element of the SAML assertion, as returned in the - AssumeRoleWithSAML response from the Security Token Service. - - - - - Constructs an instance with supplied keys and SAML assertion data. - - - - - - - - - - Constructs an instance with supplied keys and SAML assertion data. - - - - - - - - Returns a copy of the current credentials. - - - - - - Serializes the instance to a json-format string for external storage - - The serialized object in json - - - - Instantiates an instance from persisted json data - - The serialized data - Deserialized instance corresponding to the json data - - - - Session credentials consisting of AccessKey, SecretKey and Token - - - - - Constructs a SessionAWSCredentials object for the specified accessKey, secretKey. - - - - - - - - Returns an instance of ImmutableCredentials for this instance - - - - - - Obtains credentials from access key/secret key or AWSProfileName settings - in the application's app.config or web.config file. - - - - - Returns an instance of ImmutableCredentials for this instance - - - - - - State class passed on callback to demand user credentials when authentication - needs to be performed using a non-default identity. - - - - - If the current authentication callback is associated with - a credential profile, this can be used to give the user - some context on the request for his/her authentication. - - - - - Contains the user identity that the user should supply a password - for. The user can ignore if they choose and return credentials for - an alternate account. - - - - - Any custom state that was registered with the callback. - - - - - Set if the callback was due to a failed authentication attempt. - If false we are beginning to obtain or refresh credentials. - - - - - Exception thrown on validation of a StoredProfileFederatedCredentials instance if the role profile - is configured to use a non-default user identity and the QueryUserCredentialCallback on the - instance has not been set. - - - - - Initializes a new exception instance. - - - - - - Initializes a new exception instance. - - - - - - - Initializes a new exception instance. - - - - - - Constructs a new instance of the CredentialRequestCallbackRequiredException class with serialized data. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Credentials that are retrieved from ConfigurationManager.AppSettings - - - - - Constructs an instance of EnvironmentAWSCredentials and attempts - to load AccessKey and SecretKey from ConfigurationManager.AppSettings - - - - - Returns an instance of ImmutableCredentials for this instance - - - - - - Custom exception type thrown when a role profile with user identity is used - in conjunction with a credential request callback. This exception is thrown - if the callback returns null, indicating the user declined to supply credentials. - - - - - Initializes a new exception instance. - - - - - - Initializes a new exception instance. - - - - - - - Constructs a new instance of the FederatedAuthenticationCancelledException class with serialized data. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Custom exception type thrown when authentication for a user fails due to - invalid credentials. - - - - - Initializes a new exception instance. - - - - - - Initializes a new exception instance. - - - - - - - Constructs a new instance of the FederatedAuthenticationFailureException class with serialized data. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Temporary credentials that are created following successful authentication with - a federated endpoint supporting SAML. - - - In order to use the FederatedAWSCredentials class the AWSSDK.SecurityToken assembly - must be available to your application at runtime. - - - - - - Constructs an instance of FederatedAWSCredentials. After construction call GetCredentials - to authenticate the user/process and obtain temporary AWS credentials. - - The SAML endpoint used for authentication. - The role ARN used for authentication. - The options used for authentication. - See for details about available options. - - - - The SAML Endpoint used for authentication. - - - - - The role ARN used for authentication. - - - - - The options used for authentication. - See for details about available options. - - - - - Refresh credentials after expiry. If the role profile is configured with user identity - information and a callback has been registered to obtain the user credential, the callback - will be invoked ahead of authentication. For role profiles configured with user identity - but no callback registration, the SDK will fall back to attempting to use the default - user identity of the current process. - - - - - - Options that control the behavior of . - - - - - The identity to use when authenticating. - This is in the form domain\username, or just username. - If this option is not set, the current user's identity will be used. - - - - - uses this callback to get credentials if the UserIdentity is set. - - - - - When makes a callback for credentials, - this state will be included for use by the callback handler. - - - - - The proxy settings to use when calling the - Secure Token Service and the ADFS endpoint. - - - - - Set this property when a region-specific STS endpoint must be used (eg cn-north-1). - If left empty/null, the global sts.amazonaws.com endpoint will be used when credentials are obtained. - - - - - The profile name, if this FederatedAWSCredentialsOptions - is associated with a CredentialProfile. - - - - - Temporary credentials that are created following successful authentication with - a federated endpoint supporting SAML. - - - 1. Currently only the SDK store supports profiles that contain the necessary data to support - authentication and role-based credential generation. The ini-format files used by the AWS CLI - and some other SDKs are not supported at this time. -
- 2. In order to use the StoredProfileFederatedCredentials class the AWSSDK.SecurityToken assembly - must be available to your application at runtime. -
-
- - - Custom state to return to the registered callback to handle credential requests. - The data will be contained in the CredentialRequestCallbackArgs instance supplied - to the callback. - - - - - The minimum allowed timespan for generated credentials, per STS documentation. - - - - - The maximum allowed timespan for generated credentials, per STS documentation. - - - - - Name of the profile being used. - - - - - Location of the profiles, if used. - - - - - The data about the SAML endpoint and any required user credentials parsed from the - profile. - - - - - Callback signature for obtaining user credentials that may be needed for authentication. - - - Data about the credential demand including any custom state data that was supplied - when the callback was registered. - - - The network credential to use in user authentication. Return null to signal the user - declined to provide credentials and authentication should not proceed. - - - - - Constructs an instance of StoredProfileFederatedCredentials using the profile name specified - in the App.config. If no profile name is specified then the default credentials are used. - - - - - Constructs an instance of StoredProfileFederatedCredentials. Credentials will be searched - for using the profileName parameter. - - The profile name to search for credentials for - - - - - Constructs an instance of StoredProfileFederatedCredentials. After construction call one of the Authenticate - methods to authenticate the user/process and obtain temporary AWS credentials. - - - For users who are domain joined (the role profile does not contain user identity information) the temporary - credentials will be refreshed automatically as needed. Non domain-joined users (those with user identity - data in the profile) are required to re-authenticate when credential refresh is required. An exception is - thrown when attempt is made to refresh credentials in this scenario. The consuming code of this class - should catch the exception and prompt the user for credentials, then call Authenticate to re-initialize - with a new set of temporary AWS credentials. - - - - The name of the profile holding the necessary role data to enable authentication and credential generation. - - Reserved for future use. - - The ini-format credentials file is not currently supported for SAML role profiles. - - - - - - Constructs an instance of StoredProfileFederatedCredentials. After construction call one of the Authenticate - methods to authenticate the user/process and obtain temporary AWS credentials. - - - For users who are domain joined (the role profile does not contain user identity information) the temporary - credentials will be refreshed automatically as needed. Non domain-joined users (those with user identity - data in the profile) are required to re-authenticate when credential refresh is required. An exception is - thrown when attempt is made to refresh credentials in this scenario. The consuming code of this class - should catch the exception and prompt the user for credentials, then call Authenticate to re-initialize - with a new set of temporary AWS credentials. - - - - The name of the profile holding the necessary role data to enable authentication and credential generation. - - Reserved for future use. - - Null or proxy settings to be used during the HHTPS authentication calls when generating credentials. - /// - The ini-format credentials file is not currently supported for SAML role profiles. - - - - - Registers a callback handler for scenarios where credentials need to be supplied - during user authentication (primarily the non-domain-joined use case). Custom data, - which will be supplied in the CredentialRequestCallbackArgs instance passed to the - callback, can also be supplied. - - - The callback will only be invoked if the underlying SAML role profile indicates it - was set up for use with a specific identity. For profiles that do not contain any user - identity the SDK will default to using the identity of the current process during - authentication. Additionally, if the profile contain user identity information but no - callback has been registered, the SDK will also attempt to use the current process - identity during authentication. - - - The handler to be called - - Custom state data to be supplied in the arguments to the callback. - - - Only one callback handler can be registered. The call to the handler will be made on - whatever thread is executing at the time a demand to provide AWS credentials is made. - If the handler code requires that UI need to be displayed, the handler should - transition to the UI thread as appropriate. - - - - - Tests if an instance can be created from the persisted profile data. - - The name of the profile to test. - The location of the shared ini-format credential file. - True if the persisted data would yield a valid credentials instance. - - This profile type is currently only supported in the SDK credential store file. - The shared ini-format file is not currently supported; any value supplied - for the profilesLocation value is ignored. - - - - - Performs any additional validation we may require on the profile content. - - - - - Refresh credentials after expiry. If the role profile is configured with user identity - information and a callback has been registered to obtain the user credential the callback - will be invoked ahead of authentication. For role profiles configured with user identity - but no callback registration, the SDK will fall back to attempting to use the default - user identity of the current process. - - - - - - Uses aws credentials stored in environment variables to construct the credentials object. - AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY are used for the access key id and secret key. - If the variable AWS_SESSION_TOKEN exists then it will be used to create temporary session - credentials. - - - For backwards compatibility the class will also attempt to discover the secret key from - the AWS_SECRET_KEY variable, if a value cannot be obtained using the standard - AWS_SECRET_ACCESS_KEY variable. - - - - - Constructs an instance of EnvironmentVariablesAWSCredentials. If no credentials are found in - the environment variables then an InvalidOperationException is thrown. - - - - - Creates immutable credentials from environment variables. - - - - - - Returns an instance of ImmutableCredentials for this instance - - - - - - - Credentials that are retrieved using a stored profile. - - - Unless otherwise specified priority is given to loading credentials from the SDK credential store - file which is shared between the SDK, PowerShell CLI and Toolkit. Credentials in profiles in this - file are encrypted and can only be used by the user account on the current machine that stored the - profile. Credentials can also be loaded from the plain-text ini-format credential file which is - shared with other AWS SDKs. This file is expected to exist in a '.aws' folder in the user's home - directory but alternate locations can be specified using either the AWSProfilesLocation setting in - the application configuration file, or by using the AWS_SHARED_CREDENTIALS_FILE environment variable. - - - The profile name can be specified in the App.config using the AWSProfileName setting. - - - - - - Constructs an instance for credentials stored in a profile. This constructor searches for credentials - using the account name specified using the AWSProfileName setting, if set, in the application configuration - file. If the configuration file setting is not set the SDK will attempt to locate a profile with the name - 'default'. - - - - - Constructs an instance for credentials stored in a profile with the specified name. The SDK will - check the SDK credential store file first before looking for the shared ini-format credentials - file unless the application configuration file contains a setting for the 'AWSProfilesLocation' - indicating the search should be constrained to the shared credentials file at the specified - location. - - The name of the profile in which the credentials were stored. - - - - Constructs an instance for credentials stored in a profile with the specified name. - - The profile name to search for credentials for - - Optional; instructs the SDK to check for the profile in the shared credentials file at the - specified location. If not set, the SDK will inspect its own credential store file first before - attempting to locate a shared credential file using either the default location beneath the user's - home profile folder or the location specified in the AWS_SHARED_CREDENTIALS_FILE environment - variable. - - - If credential materials cannot be read or are invalid due to missing data an InvalidDataException - is thrown. If no credentials can be located with the specified profile name, an ArgumentException - is thrown. - - - - - Name of the profile being used. - - - - - Location of the profiles, if used. - - - - - Tests if a profile has been registered in either the SDK store or the specified credential - file. - - The name of the profile to test - - Optional; instructs the SDK to check for the profile in the shared credentials file at the - specified location. If not set, the SDK will inspect its own credential store file first before - attempting to locate a shared credential file using either the default location beneath the user's - home profile folder or the location specified in the AWS_SHARED_CREDENTIALS_FILE environment - variable. - - True if a profile with the specified name has been registered. - - - - Tests if an instance can be created from the persisted profile data. - If profilesLocation is null/empty, the SDK store is searched for the - profile data before probing for the profile in the shared the ini-format - credential file. - - The name of the profile to test - - If null/empty, the SDK store is searched for the named profile otherwise - the ini-format credential file at the specified location is inspected. - - True if the persisted data would yield a valid credentials instance. - - - - Returns an instance of ImmutableCredentials for this instance - - - - - - Helper routiners for AWS and Federated credential profiles. Probes the - profile type for the supplied profile name and returns the appropriate profile - instance. - - - - - Determines the type of the requested profile and returns the - appropriate profile instance. - - The name of the profile (AWS or federated) to be loaded. - Instantiated profile type. - - - - Determines the type of the requested profile and returns the - appropriate profile instance. - - The name of the profile (AWS or federated) to be loaded. - - The location of the shared credentials (.ini) file, for profiles that are not stored in the - SDK credential store. - - Instantiated profile type. - - - - Probes for and returns the fully qualified name of the shared ini-format credentials - file. - - - Contains the file or folder name of the credential file. If not specified, the - routine will first check the application configuration file for a setting indicating - the file location or filename. If the configuration file does not yield a credential - file location then an environment variable is examined. Finally the routine will - inspect the fallback default location beneath the user's home folder location. - - - The fully qualified name to the credential file that was located, or null - if no credential file could be found. - - - - - Interface for a handler in a pipeline. - - - - - The logger used to log messages. - - - - - The inner handler which is called after the current - handler completes it's processing. - - - - - The outer handler which encapsulates the current handler. - - - - - Contains the processing logic for a synchronous request invocation. - This method should call InnerHandler.InvokeSync to continue processing of the - request by the pipeline, unless it's a terminating handler. - - The execution context which contains both the - requests and response context. - - - - Contains the processing logic for an asynchronous request invocation. - This method should call InnerHandler.InvokeSync to continue processing of the - request by the pipeline, unless it's a terminating handler. - - The response type for the current request. - The execution context, it contains the - request and response context. - A task that represents the asynchronous operation. - - - - The interface for an exception handler. - - - - - Handles an exception for the given execution context. - - The execution context, it contains the - request and response context. - The exception to handle. - - Returns a boolean value which indicates if the original exception - should be rethrown. - This method can also throw a new exception to replace the original exception. - - - - - The interface for an exception handler with a generic parameter for the exception type. - - The exception type. - - - - Handles an exception for the given execution context. - - The execution context, it contains the - request and response context. - The exception to handle. - - Returns a boolean value which indicates if the original exception - should be rethrown. - This method can also throw a new exception to replace the original exception. - - - - - The interface for a HTTP request factory. - - The type used by the underlying HTTP API to represent the request body. - - - - Creates an HTTP request for the given URI. - - The request URI. - An HTTP request. - - - - The interface for an HTTP request that is agnostic of the underlying HTTP API. - - The type used by the underlying HTTP API to represent the HTTP request content. - - - - The HTTP method or verb. - - - - - The request URI. - - - - - Configures a request as per the request context. - - The request context. - - - - Sets the headers on the request. - - A dictionary of header names and values. - - - - Gets a handle to the request content. - - The request content. - - - - Returns the HTTP response. - - The HTTP response. - - - - Writes a stream to the request body. - - The destination where the content stream is written. - The content stream to be written. - HTTP content headers. - The request context. - - - - Writes a byte array to the request body. - - The destination where the content stream is written. - The content stream to be written. - HTTP content headers. - - - - Sets up the progress listeners - - The content stream - The interval at which progress needs to be published - The objects which is trigerring the progress changes - The callback which will be invoked when the progress changed event is trigerred - an object, incase the progress is setup, else returns the original stream - - - - Aborts the HTTP request. - - - - - Gets a handle to the request content. - - - - - - Returns the HTTP response. - - A cancellation token that can be used to cancel the asynchronous operation. - - - - - A retry policy specifies all aspects of retry behavior. This includes conditions when the request should be retried, - checks of retry limit, preparing the request before retry and introducing delay (backoff) before retries. - - - A retry policy specifies all aspects of retry behavior. This includes conditions when the request should be retried, - checks of retry limit, preparing the request before retry and introducing delay (backoff) before retries. - - - - - Maximum number of retries to be performed. - This does not count the initial request. - - - - - The logger used to log messages. - - - - - Checks if a retry should be performed with the given execution context and exception. - - The execution context which contains both the - requests and response context. - The exception throw after issuing the request. - Returns true if the request should be retried, else false. - - - - Returns true if the request is in a state where it can be retried, else false. - - The execution context which contains both the - requests and response context. - Returns true if the request is in a state where it can be retried, else false. - - - - Return true if the request should be retried for the given exception. - - The execution context which contains both the - requests and response context. - The exception thrown by the previous request. - Return true if the request should be retried. - - - - Checks if the retry limit is reached. - - The execution context which contains both the - requests and response context. - Return false if the request can be retried, based on number of retries. - - - - Waits before retrying a request. - - The execution context which contains both the - requests and response context. - - - - Virtual method that gets called on a successful request response. - - The execution context which contains both the - requests and response context. - - - - Virtual method that gets called before a retry request is initiated. The value - returned is True by default(retry throttling feature is disabled). - - The execution context which contains both the - requests and response context. - - - - Perform the processor-bound portion of the Retry logic. - This is shared by the sync, async, and APM versions of the Retry method. - - - - a value if it can be determined, or null if the IO-bound calculations need to be done - - - - Checks if a retry should be performed with the given execution context and exception. - - The execution context which contains both the - requests and response context. - The exception throw after issuing the request. - Returns true if the request should be retried, else false. - - - - Return true if the request should be retried for the given exception. - - The execution context which contains both the - requests and response context. - The exception thrown by the previous request. - Return true if the request should be retried. - - - - Waits before retrying a request. - - The execution context which contains both the - requests and response context. - - - - ICoreAmazonS3 is not meant to use directly. It defines S3 with basic .NET types - and allows other services to be able to use S3 as a runtime dependency. This interface - is implemented by the AmazonS3Client defined in the S3 assembly. - - - ICoreAmazonS3 is not meant to use directly. It defines S3 with basic .NET types - and allows other services to be able to use S3 as a runtime dependency. This interface - is implemented by the AmazonS3Client defined in the S3 assembly. - - - ICoreAmazonS3 is not meant to use directly. It defines S3 with basic .NET types - and allows other services to be able to use S3 as a runtime dependency. This interface - is implemented by the AmazonS3Client defined in the S3 assembly. - - - - - Generate a presigned URL. - - - - - - - - - - Get all the object keys for the particular bucket and key prefix. - - - - - - - - - Upload an object from a stream. - - - - - - - - - - - Delete an object. - - - - - - - - - - Delete an object. - - - - - - - - - - Open a stream to an object in S3. - - - - - - - - - - Upload an object from a file path. - - - - - - - - - - - Download an object in S3 to a file path. - - - - - - - - - - - Set the ACL on the object to public readable. - - - - - - - - Check to see if the bucket exists and if it doesn't create the bucket. - - - - - - Check to see if the bucket exists. - - - - - - - Get all the object keys for the particular bucket and key prefix. - - - - - - - - - Delete the object. - - - - - - - - Deletes the ojects. - - - - - - - - Upload an object from a stream. - - - - - - - - - Upload an object from a file path. - - - - - - - - - Download object to a file path. - - - - - - - - - Get stream for an object. - - - - - - - - - Set the ACL on the object to public readable. - - - - - - - - Check to see if the bucket exists and if it doesn't create the bucket. - - - - - - Check to see if the bucket exists. - - - - - - - ICoreAmazonSQS is not meant to use directly. It defines SQS with basic .NET types - and allows other services to be able to use SQS as a runtime dependency. This interface - is implemented by the AmazonSQSClient defined in the SQS assembly. - - - - - - This method is used internally to access the Amazon SQS service within other service assemblies. - Please use AmazonSQSClient to access Amazon SQS instead. - - Get the attributes for the queue identified by the queue URL. - - The queue URL to get attributes for. - The attributes for the queue. - - - - Get the attributes for the queue identified by the queue URL asynchronously. - - The queue URL to get attributes for. - A Task containing the result of a dictionary of attributes for the queue. - - - - - This method is used internally to access the Amazon SQS service within other service assemblies. - Please use AmazonSQSClient to access Amazon SQS instead. - - Set the attributes on the queue identified by the queue URL. - - The queue URL to set the attributues. - The attributes to set. - - - - Set the attributes on the queue identified by the queue URL asynchronously. - - The queue URL to set the attributues. - The attributes to set. - A Task - - - - ICoreAmazonSTS is not meant to use directly. It defines Security Token - service with basic .NET types and allows other services to be able to use the service as - a runtime dependency. This interface is implemented by the AmazonSecurityTokenServiceClient - defined in the AWSSDK.SecurityToken assembly. - - - - - - This method is used internally to access the Amazon Security Token - service within other service assemblies. - Please use AmazonSecurityTokenServiceClient to access the Amazon Security Token - service instead. - - Authenticates against a federated identity endpoint supporting SAML and returns - temporary AWS credentials for the supplied role. - - The endpoint for the federated identity provider - The authentication type to use (NTLM, Kerberos etc) - The ARN of the role the user is to assume following authentication - TTL duration for the generated credentials. - - Optional; alternate user credential for authentication. If null the identity of the - current process is used. - - Generated credential data, including SAML-related information such as subject. - - Proxy settings that are required for the HTTPS and STS calls made during the authentication/credential - generation process are supported and should have been configured on the STS ClientConfig instance - associated with the STS client instance exposing this interface. - - - - - - This method is used internally to access the Amazon Security Token - service within other service assemblies. - Please use AmazonSecurityTokenServiceClient to access the Amazon Security Token - service instead. - - Use Amazon Security Token Service to assume a role. - - Proxy settings that are required for the HTTPS and STS calls made during the authentication/credential - generation process are supported and should have been configured on the STS ClientConfig instance - associated with the STS client instance exposing this interface. - - - The Amazon Resource Name (ARN) of the role to assume. - An identifier for the assumed role session. - Options to be used in the call to AssumeRole. - - - - - Root AWS config section - - - - - Gets and sets the proxy settings for the SDK to use. - - - - - Settings for configuring a proxy for the SDK to use. - - - - - Gets and sets the host name or IP address of the proxy server. - - - - - Gets and sets the port number of the proxy. - - - - - Gets and sets the username to authenticate with the proxy server. - - - - - Gets and sets the password to authenticate with the proxy server. - - - - - Gets and set the proxy bypass list. A set of semi-colon - delimited regular expressions denoting the addresses that - should bypass the proxy. - - - - - Gets and sets the proxy option to bypass local addresses. - - - - - Logging section - - - - - Easy-to-use generic collection - - - - - - Configuration element that serializes properly when used with collections - - - - - ConfigurationElement class which returns false for IsReadOnly - - - - - Settings for configuring a proxy for the SDK to use. - - - Settings for configuring a proxy for the SDK to use. - - - - - The host name or IP address of the proxy server. - - - - - The port number of the proxy. - - - - - The username to authenticate with the proxy server. - - - - - The password to authenticate with the proxy server. - - - - - Collection of one or more regular expressions denoting addresses - for which the proxy will not be used. - - - For more information on bypass lists - see https://msdn.microsoft.com/en-us/library/system.net.webproxy.bypasslist%28v=vs.110%29.aspx. - - - - - If true requests to local addresses bypass the configured - proxy. - - - - - Settings for logging in the SDK. - - - Settings for logging in the SDK. - - - - - Logging destination. - - - - - When to log responses. - - - - - Gets or sets the size limit in bytes for logged responses. - If logging for response body is enabled, logged response - body is limited to this size. The default limit is 1KB. - - - - - Whether or not to log SDK metrics. - - - - - A custom formatter added through Configuration - - - - - This class can be used to discover the public address ranges for AWS. The - information is retrieved from the publicly accessible - https://ip-ranges.amazonaws.com/ip-ranges.json file. - - - The information in this file is generated from our internal system-of-record and - is authoritative. You can expect it to change several times per week and should - poll accordingly. - - - - - Region identifier string for ROUTE53 and CLOUDFRONT ranges - - - - - Collection of service keys found in the data file. - - - - - The publication date and time of the file that was downloaded and parsed. - - - - - Collection of all public IP ranges. - - - - - Filtered collection of public IP ranges for the given service key - - - - - Filtered collection of public IP ranges for the given region (us-east-1 etc) or GLOBAL. - - - - - Downloads the most recent copy of the endpoint address file and - parses it to a collection of address range objects. - - - - - Represents the IP address range for a single region and service key. - - - - - The public IPv4 or Ipv6 address range, in CIDR notation. - - - - - Indicates ipv4 or v6 format of the address - - - - - The AWS region or GLOBAL for edge locations. Note that the CLOUDFRONT and ROUTE53 - ranges are GLOBAL. - - - - - The subset of IP address ranges. Specify AMAZON to get all IP address ranges - (for example, the ranges in the EC2 subset are also in the AMAZON subset). Note - that some IP address ranges are only in the AMAZON subset. - - - Valid values for the service key include "AMAZON", "EC2", "ROUTE53", - "ROUTE53_HEALTHCHECKS", and "CLOUDFRONT." If you need to know all of - the ranges and don't care about the service, use the "AMAZON" entries. - The other entries are subsets of this one. Also, some of the services, - such as S3, are represented in "AMAZON" and do not have an entry that - is specific to the service. We plan to add additional values over time; - code accordingly! - - - - - This class defines utilities and constants that can be used by - all the client libraries of the SDK. - - - - - The user agent string header - - - - - The Set of accepted and valid Url characters per RFC3986. - Characters outside of this set will be encoded. - - - - - The Set of accepted and valid Url characters per RFC1738. - Characters outside of this set will be encoded. - - - - - The set of accepted and valid Url path characters per RFC3986. - - - - - The string representing Url Encoded Content in HTTP requests - - - - - The GMT Date Format string. Used when parsing date objects - - - - - The ISO8601Date Format string. Used when parsing date objects - - - - - The ISO8601Date Format string. Used when parsing date objects - - - - - The ISO8601 Basic date/time format string. Used when parsing date objects - - - - - The ISO8601 basic date format. Used during AWS4 signature computation. - - - - - The RFC822Date Format string. Used when parsing date objects - - - - - Returns an extension of a path. - This has the same behavior as System.IO.Path.GetExtension, but does not - check the path for invalid characters. - - - - - - Convert Dictionary of paremeters to Url encoded query string - - - - Returns the canonicalized resource path for the service endpoint - - Endpoint URL for the request - Resource path for the request - - If resourcePath begins or ends with slash, the resulting canonicalized - path will follow suit. - - Canonicalized resource path for the endpoint - - - - Returns a new string created by joining each of the strings in the - specified list together, with a comma between them. - - The list of strings to join into a single, comma delimited - string list. - A new string created by joining each of the strings in the - specified list together, with a comma between strings. - - - - Attempt to infer the region for a service request based on the endpoint - - Endpoint to the service to be called - - Region parsed from the endpoint; DefaultRegion (or DefaultGovRegion) - if it cannot be determined/is not explicit - - - - - Attempt to infer the service name for a request (in short form, eg 'iam') from the - service endpoint. - - Endpoint to the service to be called - - Short-form name of the service parsed from the endpoint; empty string if it cannot - be determined - - - - - Utility method for converting Unix epoch seconds to DateTime structure. - - The number of seconds since January 1, 1970. - Converted DateTime structure - - - - Helper function to format a byte array into string - - The data blob to process - If true, returns hex digits in lower case form - String version of the data - - - - Calls a specific EventHandler in a background thread - - - - - - - - Parses a query string of a URL and returns the parameters as a string-to-string dictionary. - - - - - - - Utility method for converting a string to a MemoryStream. - - - - - - - Utility method for copy the contents of the source stream to the destination stream. - - - - - - - Utility method for copy the contents of the source stream to the destination stream. - - - - - - - - Formats the current date as a GMT timestamp - - A GMT formatted string representation - of the current date and time - - - - - Formats the current date as ISO 8601 timestamp - - An ISO 8601 formatted string representation - of the current date and time - - - - - Gets the ISO8601 formatted timestamp that is minutesFromNow - in the future. - - The number of minutes from the current instant - for which the timestamp is needed. - The ISO8601 formatted future timestamp. - - - - Formats the current date as ISO 8601 timestamp - - An ISO 8601 formatted string representation - of the current date and time - - - - - Gets the RFC822 formatted timestamp that is minutesFromNow - in the future. - - The number of minutes from the current instant - for which the timestamp is needed. - The ISO8601 formatted future timestamp. - - - - URL encodes a string per RFC3986. If the path property is specified, - the accepted path characters {/+:} are not encoded. - - The string to encode - Whether the string is a URL path or not - The encoded string - - - - URL encodes a string per the specified RFC. If the path property is specified, - the accepted path characters {/+:} are not encoded. - - RFC number determing safe characters - The string to encode - Whether the string is a URL path or not - The encoded string - - Currently recognised RFC versions are 1738 (Dec '94) and 3986 (Jan '05). - If the specified RFC is not recognised, 3986 is used by default. - - - - - Convert bytes to a hex string - - Bytes to convert. - Hexadecimal string representing the byte array. - - - - Convert a hex string to bytes - - Hexadecimal string - Byte array corresponding to the hex string. - - - - Returns DateTime.UtcNow + ClockOffset when - is true. - This value should be used when constructing requests, as it - will represent accurate time w.r.t. AWS servers. - - - - - Returns true if the string has any bidirectional control characters. - - - - - - - This method is used preserve the stacktrace used from clients that support async calls. This - make sure that exceptions thrown during EndXXX methods has the orignal stacktrace that happen - in the background thread. - - - - - - Object to track circular references in nested types. - At each level of nesting, make a call to Track to retrieve Tracker, - a tracking object implementing the IDisposable interface. - Dispose of this tracker when leaving the context of the tracked object. - - - - - Tracker. Must be disposed. - - - - - Implements the Dispose pattern - - Whether this object is being disposed via a call to Dispose - or garbage collected. - - - - Disposes of all managed and unmanaged resources. - - - - - Adds the current target to a reference list and returns a tracker. - The tracker removes the target from the reference list when the - tracker is disposed. - - - - - - - Root AWS config - - - - - Manager to access a settings store file. Objects are primarily accessed by DisplayName rather than unique key. - Settings store files are located under the current user's AppData\Local\AWSToolkit folder. - Select keys in these files are encrypted on a per user, per machine basis using the Windows Data Protection API; - the encrypted values cannot be used by any other user or on any other machine. - - This class is not threadsafe. - - - - - True if the encrypted store is availble, false otherwise. - - - - - Construct an NamedSettingsManager. - - The base filename to read/write. - - - - Register an object. Let the uniqueKey be assigned automatically. - - The display name for the object. - The property names and values for the object. - The unique key that was assigned to the object. - - - - Try to get an object form the store. - - The display name for the object. - The property names and values for the object. - True if the object was found, false otherwise. - - - - Try to get an object form the store. - - The display name for the object. - The uniqueKey of the object in the store - The property names and values for the object. - True if the object was found, false otherwise. - - - - Unregister an object from the store. - - The display name for the object. - - - - Rename an object in the store. - - - - if true and destination object already exists overwrite it - - - - Copy an object in the store. - The new object will be a copy of the original, except it will be assigned a new unique key. - - - - if true and destination object already exists overwrite it - - - - Get a list of the display names for the objects in the store. - - A list of display names. - - - - Manager to access a settings store file. - Settings store files are located under the current user's AppData\Local\AWSToolkit folder. - Select keys in these files are encrypted on a per user, per machine basis using the Windows Data Protection API; - the encrypted values cannot be used by any other user or on any other machine. - - This class is not threadsafe. - - - - - True if the encrypted store is availble, false otherwise. - - - - - Construct a SettingsManager. - - The base filename to read/write. - - - - The base filename to read/write. - - - - - Register an object. Let the uniqueKey be assigned automatically. - - The property names and values for the object. - The unique key that was assigned to the object. - - - - Register an object. - - The uniqueKey for the object, or null if one should be assigned automatically. - The property names and values for the object. - The unique key that was assigned to the object. - - - - Try to get an object form the store. - - The uniqueKey of the object in the store - The property names and values for the object. - True if the object was found, false otherwise. - - - - Try to get an object form the store based on the value of a specific property. - If multiple objects with the same property value exist, return the first one. - - The name of the property to search on. - The value of the property to search on. - The unique key of the object. - The properties of the object. - - - - - Get a list of the unique keys of all the objects in the store. - - - - - - Get the value of a specific property for each object in the store. - - - - - - - Unregister an object from the store. - - The unique key for the object. - - - - Provides access to EC2 instance metadata when running on an EC2 instance. - - - - Amazon EC2 instances can access instance-specific metadata, as well as data supplied when launching the instances, using a specific URI. - - - You can use this data to build more generic AMIs that can be modified by configuration files supplied at launch time. - For example, if you run web servers for various small businesses, they can all use the same AMI and retrieve their content from the - Amazon S3 bucket you specify at launch. To add a new customer at any time, simply create a bucket for the customer, add their content, - and launch your AMI. - - - More information about EC2 Metadata - - - - - - The AMI ID used to launch the instance. - - - - - The index of this instance in the reservation. - - - - - The manifest path of the AMI with which the instance was launched. - - - - - The AMI IDs of any instances that were rebundled to create this AMI. - Will only exist if the AMI manifest file contained an ancestor-amis key. - - - - - The private hostname of the instance. - In cases where multiple network interfaces are present, - this refers to the eth0 device (the device for which the device number is 0). - - - - - Notifies the instance that it should reboot in preparation for bundling. - Valid values: none | shutdown | bundle-pending. - - - - - The ID of this instance. - - - - - The type of instance. - - - - - The ID of the kernel launched with this instance, if applicable. - - - - - The local hostname of the instance. In cases where multiple network interfaces are present, - this refers to the eth0 device (the device for which device-number is 0). - - - - - The instance's MAC address. In cases where multiple network interfaces are present, - this refers to the eth0 device (the device for which device-number is 0). - - - - - The private IP address of the instance. In cases where multiple network interfaces are present, - this refers to the eth0 device (the device for which device-number is 0). - - - - - The Availability Zone in which the instance launched. - - - - - Product codes associated with the instance, if any. - - - - - Public key. Only available if supplied at instance launch time. - - - - - The ID of the RAM disk specified at launch time, if applicable. - - - - - The region in which the instance is running, extracted from the identity - document data. - - - - - ID of the reservation. - - - - - The names of the security groups applied to the instance. - - - - - Returns information about the last time the instance profile was updated, - including the instance's LastUpdated date, InstanceProfileArn, and InstanceProfileId. - - - - - Returns the temporary security credentials (AccessKeyId, SecretAccessKey, SessionToken, and Expiration) - associated with the IAM roles on the instance. - - - - - The virtual devices associated with the ami, root, ebs, and swap. - - - - - The network interfaces on the instance. - - - - - The metadata sent to the instance. - - - - - Value showing whether the customer has enabled detailed - one-minute monitoring in CloudWatch. - - - - - JSON containing instance attributes, such as instance-id, private IP - address, etc - - - - - Data that can be used by other parties to verify its origin and authenticity. - - - - - Used to verify the document's authenticity and content against the signature. - - - - - Return the list of items in the metadata at path. - - Path at which to query the metadata; may be relative or absolute. - List of items returned by the metadata service - - - - Return the metadata at the path - - Path at which to query the metadata; may be relative or absolute. - Data returned by the metadata service - - - - Return the metadata at the path - - Path at which to query the metadata; may be relative or absolute. - Number of attempts to make - Data returned by the metadata service - - - - Return the list of items in the metadata at path. - - Path at which to query the metadata; may be relative or absolute. - Number of attempts to make - List of items returned by the metadata service - - - - Returns information about the last time the instance profile was updated, - including the instance's LastUpdated date, InstanceProfileArn, and InstanceProfileId. - - - - - The status of the instance profile - - - - - Further information about the status of the instance profile - - - - - The date and time the instance profile was updated - - - - - The Amazon Resource Name (ARN) of the instance profile - - - - - The Id of the instance profile - - - - - The temporary security credentials (AccessKeyId, SecretAccessKey, SessionToken, and Expiration) associated with the IAM role. - - - - - The status of the security credential - - - - - Further information about the status of the instance profile - - - - - The date and time the security credential was last updated - - - - - The type of the security credential - - - - - The uniqe id of the security credential - - - - - The secret key used to sign requests - - - - - The security token - - - - - The date and time when these credentials expire - - - - - All of the metadata associated with a network interface on the instance. - - - - - Construct an instance of NetworkInterface - - - - - - The interface's Media Access Control (mac) address. - - - - - The ID of the owner of the network interface. - - - In multiple-interface environments, an interface can be attached by a third party, such as Elastic Load Balancing. - Traffic on an interface is always billed to the interface owner. - - - - - The interface's profile - - - - - The interface's local hostname. - - - - - The private IP addresses associated with the interface. - - - - - The interface's public hostname. - - - - - The elastic IP addresses associated with the interface. - - - There may be multiple IP addresses on an instance. - - - - - Security groups to which the network interface belongs. - - - - - IDs of the security groups to which the network interface belongs. Returned only for Amazon EC2 instances launched into a VPC. - - - - - The ID of the Amazon EC2-VPC subnet in which the interface resides. - - - Returned only for Amazon EC2 instances launched into a VPC. - - - - - The CIDR block of the Amazon EC2-VPC subnet in which the interface resides. - - - Returned only for Amazon EC2 instances launched into a VPC. - - - - - The CIDR block of the Amazon EC2-VPC subnet in which the interface resides. - - - Returned only for Amazon EC2 instances launched into a VPC. - - - - - Get the private IPv4 address(es) that are associated with the public-ip address and assigned to that interface. - - The public IP address - Private IPv4 address(es) associated with the public IP address - - - - This class allows profiles supporting AWS credentials and SAML-based authentication to be registered with - the SDK so that they can later be reference by a profile name. The credential profiles will be available - for use in the AWS Toolkit for Visual Studio and the AWS Tools for Windows PowerShell. - - The credentials are stored under the current users AppData folder encrypted using Windows Data Protection API. - - - To reference a profile from an application's App.config or Web.config use the AWSProfileName setting. - - <?xml version="1.0" encoding="utf-8" ?> - <configuration> - <appSettings> - <add key="AWSProfileName" value="development"/> - </appSettings> - </configuration> - - - - - - - Registers an AWS credentials profile that can later be referenced by the profileName. - This profile will only be visible for the current user. - - Name given to the AWS credentials. - The AWS access key id - The AWS secret key - - - - - Registers a role-based profile to be used with SAML authentication. The profile contains - details of the role to be assumed when AWS credentials are requested based on the role and - a reference to a SAML endpoint profile containing details of the endpoint to be called to - authenticate the user. - - - If user identity information is not supplied then the identity of the logged-in user will - be used when authenticaton is performed against the endpoint referenced in the SAML endpoint - profile. If identity is provided, no password information is stored in the role profile and - the user must supply the password for the identity prior to authentication with the endpoint. - - - Name to be assigned to the profile - - The name assigned to the endpoint settings, previously saved with RegisterSAMLEndpoint. - - - The arn of the role that the user wants to assume when using this profile. This - must be one of the set returned by the saml endpoint when the user authenticates. - - - Optional. By default the identity of the logged-in user will be used when authentication - is performed - the user will not be prompted to supply a password. By supplying a custom - identity for this parameter, the user will be prompted to supply the password for the - identity prior to authentication. - - - - - - Registers a role-based profile to be used with SAML authentication. The profile contains - details of the role to be assumed when AWS credentials are requested based on the role and - a reference to a SAML endpoint profile containing details of the endpoint to be called to - authenticate the user. - - - If user identity information is not supplied then the identity of the logged-in user will - be used when authenticaton is performed against the endpoint referenced in the SAML endpoint - profile. If identity is provided, no password information is stored in the role profile and - the user must supply the password for the identity prior to authentication with the endpoint. - - - Name to be assigned to the profile - - The name assigned to the endpoint settings, previously saved with RegisterSAMLEndpoint. - - - The arn of the role that the user wants to assume when using this profile. This - must be one of the set returned by the saml endpoint when the user authenticates. - - - Optional. By default the identity of the logged-in user will be used when authentication - is performed - the user will not be prompted to supply a password. By supplying a custom - identity for this parameter, the user will be prompted to supply the password for the - identity prior to authentication. - - - Set for profiles intended to be used in regions where a region-specific STS endpoint - must be used (eg cn-north-1). If left empty/null, the global sts.amazonaws.com endpoint - will be used when credentials are obtained for this profile. - - - - - Registers an endpoint to be used in conjunction with SAML role profiles. The role profiles - reference the endpoint settings to obtain the actual endpoint and any customization settings - needed to perform authentication. - - Name to be assigned to the endpoint settings. - The full uri of the authentication endpoint. - - The authentication type to use when performing calls against the endpoint. Valid values are 'NTLM', - 'Digest', 'Kerberos' and 'Negotiate'. The default if not configured (null/empty string) is 'Kerberos'. - - The unique id assigned to the new settings. - - - - Deletes the settings for an AWS credentials or SAML role profile from the SDK account store. - - The name of the profile to remove. - - - - Lists all profile names registered with the SDK account store. - - The profile names. - - - - Loads and returns all available credential profiles registered in the store. - - Collection of profiles. - - - - Checks if a given profile is known in the SDK credential store. - - The name of the profile to test for existence - True if the profile exists. - - - - Copies the contents of the source profile to the destination. If the destination - profile does not exist a new profile is created. Note that if the destination - profile exists, all keys it contains are removed and replaced with keys from the - source profile. - - The name of the profile to copy from. - The name of the profile to create or update. - The unique id assigned to the destination settings. - - - - Copies the contents of the source profile to the destination. If the destination - profile does not exist a new profile is created. Note that if the destination - profile exists, all keys it contains are removed and replaced with keys from the - source profile. - - The source profile to copy keys and values from. - The name of the profile to create or update. - The unique id assigned to the destination settings. - - - - Tries to get the AWS credentials from a profile in the SDK account store. - - The profile to get the credentials for. - Outputs the credentials for the profile. - Returns true if the profile exists otherwise false is returned. - - - - Gets the AWS credentials from a profile in the SDK account store. - - The profile to get the credentials for. - The AWS credentials for the profile. - Thrown if the profile does not exist - - - - Returns the profile with the specified name, if it has been registered in the SDK store. - - The name of the registered profile - The loaded profile data - - - - Returns the persisted data in the SDK store as a profile of the specified type T. - - The name of the profile holding the settings. - The loaded profile. An exception is thrown if the profile could not be loaded. - Thrown if the profile does not exist - - Currently supported profile types: AWSCredentialsProfile and SAMLRoleProfile. - - - - - Tries to load the specified profile data corresponding to profile type T from a named - profile in the SDK account store. - - The name of the profile holding the settings. - The loaded profile data. - Returns true if the profile exists otherwise false is returned. - - Currently supported profile types: AWSCredentialsProfile and SAMLRoleProfile. - - - - - Attempts to load the settings defining a SAML endpoint. - - The name assigned to the settings for the endpoint. - The instantiated endpoint. - True if the settings were successfully loaded. - - - - Loads the settings defining a SAML endpoint. - - The name assigned to the settings for the endpoint. - The loaded settings. An exception is thrown if they could not be loaded. - Thrown if the endpoint settings do not exist. - - - - Common base contract for all types of credential and role profiles. - - - - - The user-defined name for the settings. - - - - - The unique id of the profile in the backing store. - - - - - Saves the profile data to backing store, returning the unique id - assigned to the data. - - - - - The persisted data for a set of AWS credentials. At a minimum this - is access key and secret key data. - - - - - Tests if an AWSCredentialsProfile instance could be instantiated from - the persisted settings data. - - The name given to the persisted settings (previously verified as existing). - True if the settings are compatible with an AWSCredentialsProfile type. - - - - Tests if an AWSCredentialsProfile instance could be instantiated from - the persisted settings data. - - The persisted settings. - True if the settings are compatible with an AWSCredentialsProfile type. - - - - Instantiates an AWSCredentialsProfile instance from the specified profile name. - - The name of the profile holding the settings. - New credentials profile instance. An exception is thrown if the profile data is invalid. - - - - Instantiates an AWSCredentialsProfile instance from the supplied settings collection. - - The settings representing the stored profile. - New credentials profile instance. An exception is thrown if the profile data is invalid. - - - - Validates the contents of the specified profile. - - The name of the AWS credentials profile to validate. - Thrown if the profile settings fail to validate. - - - - Verifies that the persisted settings contains the minimal viable data to - instantiate an AWSCredentialsProfile instance. - - The persisted settings. - Thrown if the profile settings fail to validate. - - - - Persists the profile data to the store file. - - The unique ID assigned to the settings. - - - - Creates or updates the profile data in the store file. - - The unique ID assigned to the settings. - - - - The persisted data for a SAML endpoint. One or more role profiles - will reference this to obtain the common endpoint and other data needed - to perform authentication with a set of user credentials. - - - - - The default authentication type to use when attempting to perform an - authentication call against the configured endpoint. - - - - - The authentication endpoint which must be a HTTPS scheme. - - - - - The authentication type to use when calling the endpoint. - - - - - Tests if a SAMLEndpointSettings instance could be instantiated from - the persisted settings data. - - The name given to the persisted settings. - True if the settings are compatible. - - - - Tests if a SAMLEndpointSettings instance could be instantiated from - the persisted settings data. - - The persisted settings. - True if the settings are compatible. - - - - Instantiates an instance from settings stored with the specified name. - - The name of the endpoint settings in the store. - Profile instance or an exception if the profile data does not exist/contains invalid data. - - - - Instantiates an instance from the supplied settings. - - The persisted settings. - Profile instance or an exception if the profile data is invalid. - - - - Validates the contents of the specified endpoint settings. - - The name of the SAML endpoint settings to validate. - Thrown if the settings fail to validate. - - - - Verifies that the persisted settings contains the minimal viable data to - instantiate a SAMLEndpointSettings instance. - - The persisted settings. - Thrown if the settings fail to validate. - - - - Persists the settings to the storage file. - - The unique id assigned to the profile - - - - Creates or updates the settings data for a SAML endpoint in the backing store file. An error is - thrown if the scheme for the endpoint is not https. - - The name of the settings to create or update - The authentication endpoint - Optional authentication type to use when performing calls against the endpoint - The unique id assigned to the profile - - - - Constructs an endpoint settings instance. - - The user-defined name to assign to the settings. - - The absolute uri, including any query and relyingParty data, of the endpoint. - - - The authentication type to use when performing requests against the endpoint. - - - - - - The persisted data for a saml role profile for a user. This profile - references an endpoint profile containing the actual endpoint to be used, and - adds details of the role to be assumed when the profile is selected. - - - Optionally the profile can store a username and domain to be used during - authentication (default behavior, if this is not specified, is to use the user's - default network credentials). - - - - - - The ARN of the role that is to be assumed. - - - - - If non-default network credentials are to used contains - the user identity (in domain\user format, domain optional) that - should be used to supply credentials when the profile is used in - authentication. The user must be prompted to supply the - corresponding password prior to authentication. - - - - - If a specific user identity was specified in the profile, - returns true to indicate a password needs to be obtained from - the user before obtaining network credentials to be used on - authentication. The default is to use the credentials - associated with the currently logged-in user or process to - perform authentication, which does not require the user to be - prompted. - - - - - - For regions with a region-specific endpoint for STS (eg cn-north-1) this - field can be set to ensure calls to obtain temporary credentials - after successful authentication are forwarded to the correct regional - endpoint. - - - This field does not need to be set when running in a region for - which the sts.amazonaws.com endpoint is valid. - - - - - - Retrieves the active credential session, if any, associated with the - role profile. - - - The current credentials valid for the role specified in the profile. Returns - null if no active session is available, or the active session has expired. - - - When a user successfully authenticates and receives temporary AWS - credentials for a role, the profile is updated with details of the - session. When the profile is loaded by other processes or tools, if - session data is present and still valid it can be retrieved using this - method avoiding the need to re-authenticate and get additional temporary - credentials. - - - - - Persists the current credentials to a 'session' key in the RoleSessions.json file. - This enables external applications and tools using the same profile to obtain credentials - without needing to separately re-authenticate the user prior to expiry of the current - credentials. After persisting the session data it can be retrieved using GetCurrentSession(). - - - Although the credentials are temporary we still encrypt the stored data when at rest in - the sdk credential store. - - - The current credentials valid for the role specified in the profile. - - - - - Stores or clears the persisted session data. - - - - - - The endpoint settings from which the actual endpoint to use in authentication - is obtained. - - - - - Tests if a SAMLRoleProfile instance could be instantiated from - the persisted settings data. - - The name given to the persisted settings. - True if the settings are compatible with a SAMLRoleProfile type. - - - - Tests if a SAMLRoleProfile instance could be instantiated from - the persisted settings data. - - The persisted settings. - True if the settings are compatible with a SAMLRoleProfile type. - - - - Instantiates an instance from settings stored with the specified name. - - The name of the endpoint profile. - Profile instance or an exception if the profile data does not exist/contains invalid data. - - - - Instantiates an instance from the supplied settings. In addition to the profile settings - the SDK will inspect for a RoleSessions.json file containing active session data and if - an entry for the profile is present, will add the session data to the returned profile - object. - - The persisted settings. - Profile instance or an exception if the profile data is invalid. - - - - Validates the contents of the specified profile. - - The name of the SAML role profile to validate. - Thrown if the profile settings fail to validate. - - - - Validates that the presented settings would result in a valid role profile - instance. - - The persisted settings. - Thrown if the profile settings fail to validate. - - - - Stores the data in the role profile to the backing store file. - - - - - - Registers a role-based profile to be used with SAML authentication. The profile contains - details of the role to be assumed when AWS credentials are requested based on the role and - a reference to a SAML endpoint profile containing details of the endpoint to be called to - authenticate the user. - - - If user identity information is not supplied then the identity of the logged-in user will - be used when authenticaton is performed against the endpoint referenced in the SAML endpoint - profile. If identity is provided, no password information is stored in the role profile and - the user must supply the password for the identity prior to authentication with the endpoint. - - - Name to be assigned to the profile - - The name of the settings in the SAML endpoints file containing details of the - endpoint to authenticate with. - - - The arn of the role that the user wants to assume when using this profile. This - must be one of the set returned by the saml endpoint when the user authenticates. - - - Optional, can be used to prompt the user for a password for the account when authentication - is performed from a system that is not domain-joined. - - - Optional, details of the currently active credentials for the role that we want to - persist into the profile for other tools or processes to pick up, avoiding the need - to continually re-authenticate the user as they switch between tools. The active session, - if any, is stored separately from the profile using the file RoleSessions.json. - - - Set for profiles intended to be used in regions where a region-specific STS endpoint - must be used (eg cn-north-1). If left empty/null, the global sts.amazonaws.com endpoint - will be used when credentials are obtained for this profile. - - The unique id assigned to the profile. - - - - Tests for and loads any active session credentials for the specified profile. The session data - exists in a separate file from the profile, RoleSessions.json. - - - - - - - Stores the supplied session data into the RoleSessions.json backing file. - - - - - - - Constructs a profile data instance that will use the specified network identity - during authentication with configured endpoint. - - The user-defined name of the profile that sourced this data. - The settings for the authentication endpoint. - The role that should be assumed on successful authentication. - The credentials to supply in authentication, in domain\user format. - - Deserialized credential data from the profile, if still valid. Null if the profile does not - contain any active credentials, or the credentials it did hold are now invalid. - - - Set for profiles intended to be used in regions where a region-specific STS endpoint - must be used (eg cn-north-1). If left empty/null, the global sts.amazonaws.com endpoint - will be used when credentials are obtained for this profile. - - - - - This class contains the endpoints available to the AWS clients. The static constants representing the - regions can be used while constructing the AWS client instead of looking up the exact endpoint URL. - - - - - Gets the endpoint for a service in a region. - - The services system name. - If true returns the endpoint for dualstack - Thrown when the request service does not have a valid endpoint in the region. - - - - - Enumerate through all the regions. - - - - - Gets the region based on its system name like "us-west-1" - - The system name of the service like "us-west-1" - - - - - This is a testing method and should not be called by production applications. - - - - - Gets the system name of a region. - - - - - Gets the display name of a region. - - - - - This region name is non-standard. Search the whole endpoints.json file to - determine the partition this region is in. - - - - - This class contains region information used to lazily compute the service endpoints. The static constants representing the - regions can be used while constructing the AWS client instead of looking up the exact endpoint URL. - - - - - The US East (Virginia) endpoint. - - - - - The US East (Ohio) endpoint. - - - - - The US West (N. California) endpoint. - - - - - The US West (Oregon) endpoint. - - - - - The EU West (Ireland) endpoint. - - - - - The EU West (London) endpoint. - - - - - The EU Central (Frankfurt) endpoint. - - - - - The Asia Pacific (Tokyo) endpoint. - - - - - The Asia Pacific (Seoul) endpoint. - - - - - The Asia Pacific (Mumbai) endpoint. - - - - - The Asia Pacific (Singapore) endpoint. - - - - - The Asia Pacific (Sydney) endpoint. - - - - - The South America (Sao Paulo) endpoint. - - - - - The US GovCloud West (Oregon) endpoint. - - - - - The China (Beijing) endpoint. - - - - - The Canada (Central) endpoint. - - - - - Enumerate through all the regions. - - - - - Gets the region based on its system name like "us-west-1" - - The system name of the service like "us-west-1" - - - - - Gets the system name of a region. - - - - - Gets the display name of a region. - - - - - Gets the endpoint for a service in a region. - - The services system name. - Thrown when the request service does not have a valid endpoint in the region. - - - - - Gets the endpoint for a service in a region, optionally selecting a dualstack compatible endpoint. - - The services system name. - - If true a dualstack endpoint is returned. It is the user's responsibility to verify that the given service - supports a dualstack endpoint for the region. - - Thrown when the request service does not have a valid endpoint in the region. - - - - - This class defines an endpoints hostname and which protocols it supports. - - - - - Gets the hostname for the service. - - - - - The authentication region to be used in request signing. - - - - - Overrides the default signing protocol for an - endpoint. Typically used to force Signature V4 - for services that can support multiple signing - protocols. - - - - - Calculates a 32bit Cyclic Redundancy Checksum (CRC) using the - same polynomial used by Zip. This type is used internally by DotNetZip; it is generally not used directly - by applications wishing to create, read, or manipulate zip archive files. - - - - - indicates the total number of bytes read on the CRC stream. - This is used when writing the ZipDirEntry when compressing files. - - - - - Indicates the current CRC for all blocks slurped in. - - - - - Returns the CRC32 for the specified stream. - - The stream over which to calculate the CRC32 - the CRC32 calculation - - - - Returns the CRC32 for the specified stream, and writes the input into the output stream. - - The stream over which to calculate the CRC32 - The stream into which to deflate the input - the CRC32 calculation - - - - Get the CRC32 for the given (word,byte) combo. - This is a computation defined by PKzip. - - The word to start with. - The byte to combine it with. - The CRC-ized result. - - - - Update the value for the running CRC32 using the given block of bytes. - This is useful when using the CRC32() class in a Stream. - - block of bytes to slurp - starting point in the block - how many bytes within the block to slurp - - - - A Stream that calculates a CRC32 (a checksum) on all bytes read, - or on all bytes written. - - - - - This class can be used to verify the CRC of a ZipEntry when reading from a stream, - or to calculate a CRC when writing to a stream. The stream should be used to either - read, or write, but not both. If you intermix reads and writes, the results are - not defined. - - This class is intended primarily for use internally by the DotNetZip library. - - - - - Gets the total number of bytes run through the CRC32 calculator. - - - - This is either the total number of bytes read, or the total number - of bytes written, depending on the direction of this stream. - - - - - The constructor. - - The underlying stream - - - - The constructor. - - The underlying stream - The length of the stream to slurp - - - - Provides the current CRC for all blocks slurped in. - - - - - Read from the stream - - the buffer to read - the offset at which to start - the number of bytes to read - the number of bytes actually read - - - - Write to the stream. - - the buffer from which to write - the offset at which to start writing - the number of bytes to write - - - - Indicates whether the stream supports reading. - - - - - Indicates whether the stream supports seeking. - - - - - Indicates whether the stream supports writing. - - - - - Flush the stream. - - - - - Not implemented. - - - - - Not implemented. - - - - - Not implemented. - - N/A - N/A - N/A - - - - Not implemented. - - N/A - - - a general purpose ASN.1 decoder - note: this class differs from the - others in that it returns null after it has read the last object in - the stream. If an ASN.1 Null is encountered a Der/BER Null object is - returned. - - - Create an ASN1InputStream where no DER object will be longer than limit. - - @param input stream containing ASN.1 encoded data. - @param limit maximum size of a DER encoded object. - - - Create an ASN1InputStream based on the input byte array. The length of DER objects in - the stream is automatically limited to the length of the input array. - - @param input array containing ASN.1 encoded data. - - - build an object given its tag and the number of bytes to construct it from. - - - Create a base ASN.1 object from a byte array. - The byte array to parse. - The base ASN.1 object represented by the byte array. - If there is a problem parsing the data. - - - Read a base ASN.1 object from a stream. - The stream to parse. - The base ASN.1 object represented by the byte array. - If there is a problem parsing the data. - - - return the object at the sequence position indicated by index. - - @param index the sequence number (starting at zero) of the object - @return the object at the sequence position indicated by index. - - - create an empty sequence - - - create a sequence containing one object - - - create a sequence containing a vector of objects. - - - - A - - - - - - A - - - A - - - - - - A - - - - - return a = a + b - b preserved. - - - unsigned comparison on two arrays - note the arrays may - start with leading zeros. - - - returns x = x - y - we assume x is >= y - -
-
diff --git a/site/trunk/Bin/AWSSDK.S3.dll b/site/trunk/Bin/AWSSDK.S3.dll deleted file mode 100644 index 4c25427..0000000 Binary files a/site/trunk/Bin/AWSSDK.S3.dll and /dev/null differ diff --git a/site/trunk/Bin/AWSSDK.S3.xml b/site/trunk/Bin/AWSSDK.S3.xml deleted file mode 100644 index bce6a81..0000000 --- a/site/trunk/Bin/AWSSDK.S3.xml +++ /dev/null @@ -1,19792 +0,0 @@ - - - - AWSSDK.S3 - - - - - Implementation for accessing S3 - - - - - - - - Marshalls the parameters for a presigned url for a preferred signing protocol. - - - - - - True if AWS4 signing will be used; if the expiry period in the request exceeds the - maximum allowed for AWS4 (one week), an ArgumentException is thrown. - - - - - - Create a signed URL allowing access to a resource that would - usually require authentication. - - - - When using query string authentication you create a query, - specify an expiration time for the query, sign it with your - signature, place the data in an HTTP request, and distribute - the request to a user or embed the request in a web page. - - - A PreSigned URL can be generated for GET, PUT, DELETE and HEAD - operations on your bucketName, keys, and versions. - - - The GetPreSignedUrlRequest that defines the - parameters of the operation. - A string that is the signed http request. - - - - - - Constructs AmazonS3Client with the credentials loaded from the application's - default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. - - Example App.config with credentials set. - - <?xml version="1.0" encoding="utf-8" ?> - <configuration> - <appSettings> - <add key="AWSProfileName" value="AWS Default"/> - </appSettings> - </configuration> - - - - - - - Constructs AmazonS3Client with the credentials loaded from the application's - default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. - - Example App.config with credentials set. - - <?xml version="1.0" encoding="utf-8" ?> - <configuration> - <appSettings> - <add key="AWSProfileName" value="AWS Default"/> - </appSettings> - </configuration> - - - - The region to connect. - - - - Constructs AmazonS3Client with the credentials loaded from the application's - default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. - - Example App.config with credentials set. - - <?xml version="1.0" encoding="utf-8" ?> - <configuration> - <appSettings> - <add key="AWSProfileName" value="AWS Default"/> - </appSettings> - </configuration> - - - - The AmazonS3Client Configuration Object - - - - Constructs AmazonS3Client with AWS Credentials - - AWS Credentials - - - - Constructs AmazonS3Client with AWS Credentials - - AWS Credentials - The region to connect. - - - - Constructs AmazonS3Client with AWS Credentials and an - AmazonS3Client Configuration object. - - AWS Credentials - The AmazonS3Client Configuration Object - - - - Constructs AmazonS3Client with AWS Access Key ID and AWS Secret Key - - AWS Access Key ID - AWS Secret Access Key - - - - Constructs AmazonS3Client with AWS Access Key ID and AWS Secret Key - - AWS Access Key ID - AWS Secret Access Key - The region to connect. - - - - Constructs AmazonS3Client with AWS Access Key ID, AWS Secret Key and an - AmazonS3Client Configuration object. - - AWS Access Key ID - AWS Secret Access Key - The AmazonS3Client Configuration Object - - - - Constructs AmazonS3Client with AWS Access Key ID and AWS Secret Key - - AWS Access Key ID - AWS Secret Access Key - AWS Session Token - - - - Constructs AmazonS3Client with AWS Access Key ID and AWS Secret Key - - AWS Access Key ID - AWS Secret Access Key - AWS Session Token - The region to connect. - - - - Constructs AmazonS3Client with AWS Access Key ID, AWS Secret Key and an - AmazonS3Client Configuration object. - - AWS Access Key ID - AWS Secret Access Key - AWS Session Token - The AmazonS3Client Configuration Object - - - - Creates the signer for the service. - - - - - Customize the pipeline - - - - - - Disposes the service client. - - - - - Aborts a multipart upload. - - - - To verify that all parts have been removed, so you don't get charged for the part - storage, you should call the List Parts operation and ensure the parts list is empty. - - - A property of AbortMultipartUploadRequest used to execute the AbortMultipartUpload service method. - A property of AbortMultipartUploadRequest used to execute the AbortMultipartUpload service method. - A property of AbortMultipartUploadRequest used to execute the AbortMultipartUpload service method. - - The response from the AbortMultipartUpload service method, as returned by S3. - - - - Aborts a multipart upload. - - - - To verify that all parts have been removed, so you don't get charged for the part - storage, you should call the List Parts operation and ensure the parts list is empty. - - - Container for the necessary parameters to execute the AbortMultipartUpload service method. - - The response from the AbortMultipartUpload service method, as returned by S3. - - - - Aborts a multipart upload. - - - - To verify that all parts have been removed, so you don't get charged for the part - storage, you should call the List Parts operation and ensure the parts list is empty. - - - A property of AbortMultipartUploadRequest used to execute the AbortMultipartUpload service method. - A property of AbortMultipartUploadRequest used to execute the AbortMultipartUpload service method. - A property of AbortMultipartUploadRequest used to execute the AbortMultipartUpload service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the AbortMultipartUpload service method, as returned by S3. - - - - Initiates the asynchronous execution of the AbortMultipartUpload operation. - - - Container for the necessary parameters to execute the AbortMultipartUpload operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Completes a multipart upload by assembling previously uploaded parts. - - Container for the necessary parameters to execute the CompleteMultipartUpload service method. - - The response from the CompleteMultipartUpload service method, as returned by S3. - - - - Initiates the asynchronous execution of the CompleteMultipartUpload operation. - - - Container for the necessary parameters to execute the CompleteMultipartUpload operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Creates a copy of an object that is already stored in Amazon S3. - - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - - The response from the CopyObject service method, as returned by S3. - - - - Creates a copy of an object that is already stored in Amazon S3. - - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - - The response from the CopyObject service method, as returned by S3. - - - - Creates a copy of an object that is already stored in Amazon S3. - - Container for the necessary parameters to execute the CopyObject service method. - - The response from the CopyObject service method, as returned by S3. - - - - Creates a copy of an object that is already stored in Amazon S3. - - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the CopyObject service method, as returned by S3. - - - - Creates a copy of an object that is already stored in Amazon S3. - - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the CopyObject service method, as returned by S3. - - - - Initiates the asynchronous execution of the CopyObject operation. - - - Container for the necessary parameters to execute the CopyObject operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Uploads a part by copying data from an existing object as data source. - - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - Upload ID identifying the multipart upload whose part is being copied. - - The response from the CopyPart service method, as returned by S3. - - - - Uploads a part by copying data from an existing object as data source. - - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - Upload ID identifying the multipart upload whose part is being copied. - - The response from the CopyPart service method, as returned by S3. - - - - Uploads a part by copying data from an existing object as data source. - - Container for the necessary parameters to execute the CopyPart service method. - - The response from the CopyPart service method, as returned by S3. - - - - Uploads a part by copying data from an existing object as data source. - - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - Upload ID identifying the multipart upload whose part is being copied. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the CopyPart service method, as returned by S3. - - - - Uploads a part by copying data from an existing object as data source. - - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - Upload ID identifying the multipart upload whose part is being copied. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the CopyPart service method, as returned by S3. - - - - Initiates the asynchronous execution of the CopyPart operation. - - - Container for the necessary parameters to execute the CopyPart operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Deletes the bucket. All objects (including all object versions and Delete Markers) - in the bucket must be deleted before the bucket itself can be deleted. - - A property of DeleteBucketRequest used to execute the DeleteBucket service method. - - The response from the DeleteBucket service method, as returned by S3. - - - - Deletes the bucket. All objects (including all object versions and Delete Markers) - in the bucket must be deleted before the bucket itself can be deleted. - - Container for the necessary parameters to execute the DeleteBucket service method. - - The response from the DeleteBucket service method, as returned by S3. - - - - Deletes the bucket. All objects (including all object versions and Delete Markers) - in the bucket must be deleted before the bucket itself can be deleted. - - A property of DeleteBucketRequest used to execute the DeleteBucket service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the DeleteBucket service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteBucket operation. - - - Container for the necessary parameters to execute the DeleteBucket operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Deletes an analytics configuration for the bucket (specified by the analytics configuration - ID). - - Container for the necessary parameters to execute the DeleteBucketAnalyticsConfiguration service method. - - The response from the DeleteBucketAnalyticsConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteBucketAnalyticsConfiguration operation. - - - Container for the necessary parameters to execute the DeleteBucketAnalyticsConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Deletes an inventory configuration (identified by the inventory ID) from the bucket. - - Container for the necessary parameters to execute the DeleteBucketInventoryConfiguration service method. - - The response from the DeleteBucketInventoryConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteBucketInventoryConfiguration operation. - - - Container for the necessary parameters to execute the DeleteBucketInventoryConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Deletes a metrics configuration (specified by the metrics configuration ID) from the - bucket. - - Container for the necessary parameters to execute the DeleteBucketMetricsConfiguration service method. - - The response from the DeleteBucketMetricsConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteBucketMetricsConfiguration operation. - - - Container for the necessary parameters to execute the DeleteBucketMetricsConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Deletes the policy from the bucket. - - A property of DeleteBucketPolicyRequest used to execute the DeleteBucketPolicy service method. - - The response from the DeleteBucketPolicy service method, as returned by S3. - - - - Deletes the policy from the bucket. - - Container for the necessary parameters to execute the DeleteBucketPolicy service method. - - The response from the DeleteBucketPolicy service method, as returned by S3. - - - - Deletes the policy from the bucket. - - A property of DeleteBucketPolicyRequest used to execute the DeleteBucketPolicy service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the DeleteBucketPolicy service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteBucketPolicy operation. - - - Container for the necessary parameters to execute the DeleteBucketPolicy operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Deletes the replication configuration from the bucket. - - Container for the necessary parameters to execute the DeleteBucketReplication service method. - - The response from the DeleteBucketReplication service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteBucketReplication operation. - - - Container for the necessary parameters to execute the DeleteBucketReplication operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Deletes the tags from the bucket. - - A property of DeleteBucketTaggingRequest used to execute the DeleteBucketTagging service method. - - The response from the DeleteBucketTagging service method, as returned by S3. - - - - Deletes the tags from the bucket. - - Container for the necessary parameters to execute the DeleteBucketTagging service method. - - The response from the DeleteBucketTagging service method, as returned by S3. - - - - Deletes the tags from the bucket. - - A property of DeleteBucketTaggingRequest used to execute the DeleteBucketTagging service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the DeleteBucketTagging service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteBucketTagging operation. - - - Container for the necessary parameters to execute the DeleteBucketTagging operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - This operation removes the website configuration from the bucket. - - A property of DeleteBucketWebsiteRequest used to execute the DeleteBucketWebsite service method. - - The response from the DeleteBucketWebsite service method, as returned by S3. - - - - This operation removes the website configuration from the bucket. - - Container for the necessary parameters to execute the DeleteBucketWebsite service method. - - The response from the DeleteBucketWebsite service method, as returned by S3. - - - - This operation removes the website configuration from the bucket. - - A property of DeleteBucketWebsiteRequest used to execute the DeleteBucketWebsite service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the DeleteBucketWebsite service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteBucketWebsite operation. - - - Container for the necessary parameters to execute the DeleteBucketWebsite operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Deletes the cors configuration information set for the bucket. - - A property of DeleteCORSConfigurationRequest used to execute the DeleteCORSConfiguration service method. - - The response from the DeleteCORSConfiguration service method, as returned by S3. - - - - Deletes the cors configuration information set for the bucket. - - Container for the necessary parameters to execute the DeleteCORSConfiguration service method. - - The response from the DeleteCORSConfiguration service method, as returned by S3. - - - - Deletes the cors configuration information set for the bucket. - - A property of DeleteCORSConfigurationRequest used to execute the DeleteCORSConfiguration service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the DeleteCORSConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteCORSConfiguration operation. - - - Container for the necessary parameters to execute the DeleteCORSConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Deletes the lifecycle configuration from the bucket. - - A property of DeleteLifecycleConfigurationRequest used to execute the DeleteLifecycleConfiguration service method. - - The response from the DeleteLifecycleConfiguration service method, as returned by S3. - - - - Deletes the lifecycle configuration from the bucket. - - Container for the necessary parameters to execute the DeleteLifecycleConfiguration service method. - - The response from the DeleteLifecycleConfiguration service method, as returned by S3. - - - - Deletes the lifecycle configuration from the bucket. - - A property of DeleteLifecycleConfigurationRequest used to execute the DeleteLifecycleConfiguration service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the DeleteLifecycleConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteLifecycleConfiguration operation. - - - Container for the necessary parameters to execute the DeleteLifecycleConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Removes the null version (if there is one) of an object and inserts a delete marker, - which becomes the latest version of the object. If there isn't a null version, Amazon - S3 does not remove any objects. - - A property of DeleteObjectRequest used to execute the DeleteObject service method. - A property of DeleteObjectRequest used to execute the DeleteObject service method. - - The response from the DeleteObject service method, as returned by S3. - - - - Removes the null version (if there is one) of an object and inserts a delete marker, - which becomes the latest version of the object. If there isn't a null version, Amazon - S3 does not remove any objects. - - A property of DeleteObjectRequest used to execute the DeleteObject service method. - A property of DeleteObjectRequest used to execute the DeleteObject service method. - VersionId used to reference a specific version of the object. - - The response from the DeleteObject service method, as returned by S3. - - - - Removes the null version (if there is one) of an object and inserts a delete marker, - which becomes the latest version of the object. If there isn't a null version, Amazon - S3 does not remove any objects. - - Container for the necessary parameters to execute the DeleteObject service method. - - The response from the DeleteObject service method, as returned by S3. - - - - Removes the null version (if there is one) of an object and inserts a delete marker, - which becomes the latest version of the object. If there isn't a null version, Amazon - S3 does not remove any objects. - - A property of DeleteObjectRequest used to execute the DeleteObject service method. - A property of DeleteObjectRequest used to execute the DeleteObject service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the DeleteObject service method, as returned by S3. - - - - Removes the null version (if there is one) of an object and inserts a delete marker, - which becomes the latest version of the object. If there isn't a null version, Amazon - S3 does not remove any objects. - - A property of DeleteObjectRequest used to execute the DeleteObject service method. - A property of DeleteObjectRequest used to execute the DeleteObject service method. - VersionId used to reference a specific version of the object. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the DeleteObject service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteObject operation. - - - Container for the necessary parameters to execute the DeleteObject operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - This operation enables you to delete multiple objects from a bucket using a single - HTTP request. You may specify up to 1000 keys. - - Container for the necessary parameters to execute the DeleteObjects service method. - - The response from the DeleteObjects service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteObjects operation. - - - Container for the necessary parameters to execute the DeleteObjects operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Removes the tag-set from an existing object. - - Container for the necessary parameters to execute the DeleteObjectTagging service method. - - The response from the DeleteObjectTagging service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteObjectTagging operation. - - - Container for the necessary parameters to execute the DeleteObjectTagging operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Gets the access control policy for the bucket. - - A property of GetACLRequest used to execute the GetACL service method. - - The response from the GetACL service method, as returned by S3. - - - - Gets the access control policy for the bucket. - - Container for the necessary parameters to execute the GetACL service method. - - The response from the GetACL service method, as returned by S3. - - - - Gets the access control policy for the bucket. - - A property of GetACLRequest used to execute the GetACL service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetACL service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetACL operation. - - - Container for the necessary parameters to execute the GetACL operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the accelerate configuration of a bucket. - - Name of the bucket for which the accelerate configuration is retrieved. - - The response from the GetBucketAccelerateConfiguration service method, as returned by S3. - - - - Returns the accelerate configuration of a bucket. - - Container for the necessary parameters to execute the GetBucketAccelerateConfiguration service method. - - The response from the GetBucketAccelerateConfiguration service method, as returned by S3. - - - - Returns the accelerate configuration of a bucket. - - Name of the bucket for which the accelerate configuration is retrieved. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetBucketAccelerateConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketAccelerateConfiguration operation. - - - Container for the necessary parameters to execute the GetBucketAccelerateConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Gets an analytics configuration for the bucket (specified by the analytics configuration - ID). - - Container for the necessary parameters to execute the GetBucketAnalyticsConfiguration service method. - - The response from the GetBucketAnalyticsConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketAnalyticsConfiguration operation. - - - Container for the necessary parameters to execute the GetBucketAnalyticsConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns an inventory configuration (identified by the inventory ID) from the bucket. - - Container for the necessary parameters to execute the GetBucketInventoryConfiguration service method. - - The response from the GetBucketInventoryConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketInventoryConfiguration operation. - - - Container for the necessary parameters to execute the GetBucketInventoryConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the region the bucket resides in. - - A property of GetBucketLocationRequest used to execute the GetBucketLocation service method. - - The response from the GetBucketLocation service method, as returned by S3. - - - - Returns the region the bucket resides in. - - Container for the necessary parameters to execute the GetBucketLocation service method. - - The response from the GetBucketLocation service method, as returned by S3. - - - - Returns the region the bucket resides in. - - A property of GetBucketLocationRequest used to execute the GetBucketLocation service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetBucketLocation service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketLocation operation. - - - Container for the necessary parameters to execute the GetBucketLocation operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the logging status of a bucket and the permissions users have to view and - modify that status. To use GET, you must be the bucket owner. - - A property of GetBucketLoggingRequest used to execute the GetBucketLogging service method. - - The response from the GetBucketLogging service method, as returned by S3. - - - - Returns the logging status of a bucket and the permissions users have to view and - modify that status. To use GET, you must be the bucket owner. - - Container for the necessary parameters to execute the GetBucketLogging service method. - - The response from the GetBucketLogging service method, as returned by S3. - - - - Returns the logging status of a bucket and the permissions users have to view and - modify that status. To use GET, you must be the bucket owner. - - A property of GetBucketLoggingRequest used to execute the GetBucketLogging service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetBucketLogging service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketLogging operation. - - - Container for the necessary parameters to execute the GetBucketLogging operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Gets a metrics configuration (specified by the metrics configuration ID) from the - bucket. - - Container for the necessary parameters to execute the GetBucketMetricsConfiguration service method. - - The response from the GetBucketMetricsConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketMetricsConfiguration operation. - - - Container for the necessary parameters to execute the GetBucketMetricsConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the notification configuration of a bucket. - - Name of the bucket to get the notification configuration for. - - The response from the GetBucketNotification service method, as returned by S3. - - - - Returns the notification configuration of a bucket. - - Container for the necessary parameters to execute the GetBucketNotification service method. - - The response from the GetBucketNotification service method, as returned by S3. - - - - Returns the notification configuration of a bucket. - - Name of the bucket to get the notification configuration for. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetBucketNotification service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketNotification operation. - - - Container for the necessary parameters to execute the GetBucketNotification operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the policy of a specified bucket. - - A property of GetBucketPolicyRequest used to execute the GetBucketPolicy service method. - - The response from the GetBucketPolicy service method, as returned by S3. - - - - Returns the policy of a specified bucket. - - Container for the necessary parameters to execute the GetBucketPolicy service method. - - The response from the GetBucketPolicy service method, as returned by S3. - - - - Returns the policy of a specified bucket. - - A property of GetBucketPolicyRequest used to execute the GetBucketPolicy service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetBucketPolicy service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketPolicy operation. - - - Container for the necessary parameters to execute the GetBucketPolicy operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Retrieves the replication configuration for the given Amazon S3 bucket. - - Container for the necessary parameters to execute the GetBucketReplication service method. - - The response from the GetBucketReplication service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketReplication operation. - - - Container for the necessary parameters to execute the GetBucketReplication operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the request payment configuration of a bucket. - - A property of GetBucketRequestPaymentRequest used to execute the GetBucketRequestPayment service method. - - The response from the GetBucketRequestPayment service method, as returned by S3. - - - - Returns the request payment configuration of a bucket. - - Container for the necessary parameters to execute the GetBucketRequestPayment service method. - - The response from the GetBucketRequestPayment service method, as returned by S3. - - - - Returns the request payment configuration of a bucket. - - A property of GetBucketRequestPaymentRequest used to execute the GetBucketRequestPayment service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetBucketRequestPayment service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketRequestPayment operation. - - - Container for the necessary parameters to execute the GetBucketRequestPayment operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the tag set associated with the bucket. - - Container for the necessary parameters to execute the GetBucketTagging service method. - - The response from the GetBucketTagging service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketTagging operation. - - - Container for the necessary parameters to execute the GetBucketTagging operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the versioning state of a bucket. - - A property of GetBucketVersioningRequest used to execute the GetBucketVersioning service method. - - The response from the GetBucketVersioning service method, as returned by S3. - - - - Returns the versioning state of a bucket. - - Container for the necessary parameters to execute the GetBucketVersioning service method. - - The response from the GetBucketVersioning service method, as returned by S3. - - - - Returns the versioning state of a bucket. - - A property of GetBucketVersioningRequest used to execute the GetBucketVersioning service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetBucketVersioning service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketVersioning operation. - - - Container for the necessary parameters to execute the GetBucketVersioning operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the website configuration for a bucket. - - A property of GetBucketWebsiteRequest used to execute the GetBucketWebsite service method. - - The response from the GetBucketWebsite service method, as returned by S3. - - - - Returns the website configuration for a bucket. - - Container for the necessary parameters to execute the GetBucketWebsite service method. - - The response from the GetBucketWebsite service method, as returned by S3. - - - - Returns the website configuration for a bucket. - - A property of GetBucketWebsiteRequest used to execute the GetBucketWebsite service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetBucketWebsite service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketWebsite operation. - - - Container for the necessary parameters to execute the GetBucketWebsite operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the cors configuration for the bucket. - - A property of GetCORSConfigurationRequest used to execute the GetCORSConfiguration service method. - - The response from the GetCORSConfiguration service method, as returned by S3. - - - - Returns the cors configuration for the bucket. - - Container for the necessary parameters to execute the GetCORSConfiguration service method. - - The response from the GetCORSConfiguration service method, as returned by S3. - - - - Returns the cors configuration for the bucket. - - A property of GetCORSConfigurationRequest used to execute the GetCORSConfiguration service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetCORSConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetCORSConfiguration operation. - - - Container for the necessary parameters to execute the GetCORSConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the lifecycle configuration information set on the bucket. - - A property of GetLifecycleConfigurationRequest used to execute the GetLifecycleConfiguration service method. - - The response from the GetLifecycleConfiguration service method, as returned by S3. - - - - Returns the lifecycle configuration information set on the bucket. - - Container for the necessary parameters to execute the GetLifecycleConfiguration service method. - - The response from the GetLifecycleConfiguration service method, as returned by S3. - - - - Returns the lifecycle configuration information set on the bucket. - - A property of GetLifecycleConfigurationRequest used to execute the GetLifecycleConfiguration service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetLifecycleConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetLifecycleConfiguration operation. - - - Container for the necessary parameters to execute the GetLifecycleConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Retrieves objects from Amazon S3. - - A property of GetObjectRequest used to execute the GetObject service method. - A property of GetObjectRequest used to execute the GetObject service method. - - The response from the GetObject service method, as returned by S3. - - - - Retrieves objects from Amazon S3. - - A property of GetObjectRequest used to execute the GetObject service method. - A property of GetObjectRequest used to execute the GetObject service method. - VersionId used to reference a specific version of the object. - - The response from the GetObject service method, as returned by S3. - - - - Retrieves objects from Amazon S3. - - Container for the necessary parameters to execute the GetObject service method. - - The response from the GetObject service method, as returned by S3. - - - - Retrieves objects from Amazon S3. - - A property of GetObjectRequest used to execute the GetObject service method. - A property of GetObjectRequest used to execute the GetObject service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetObject service method, as returned by S3. - - - - Retrieves objects from Amazon S3. - - A property of GetObjectRequest used to execute the GetObject service method. - A property of GetObjectRequest used to execute the GetObject service method. - VersionId used to reference a specific version of the object. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetObject service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetObject operation. - - - Container for the necessary parameters to execute the GetObject operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - The HEAD operation retrieves metadata from an object without returning the object - itself. This operation is useful if you're only interested in an object's metadata. - To use HEAD, you must have READ access to the object. - - A property of GetObjectMetadataRequest used to execute the GetObjectMetadata service method. - A property of GetObjectMetadataRequest used to execute the GetObjectMetadata service method. - - The response from the GetObjectMetadata service method, as returned by S3. - - - - The HEAD operation retrieves metadata from an object without returning the object - itself. This operation is useful if you're only interested in an object's metadata. - To use HEAD, you must have READ access to the object. - - A property of GetObjectMetadataRequest used to execute the GetObjectMetadata service method. - A property of GetObjectMetadataRequest used to execute the GetObjectMetadata service method. - VersionId used to reference a specific version of the object. - - The response from the GetObjectMetadata service method, as returned by S3. - - - - The HEAD operation retrieves metadata from an object without returning the object - itself. This operation is useful if you're only interested in an object's metadata. - To use HEAD, you must have READ access to the object. - - Container for the necessary parameters to execute the GetObjectMetadata service method. - - The response from the GetObjectMetadata service method, as returned by S3. - - - - The HEAD operation retrieves metadata from an object without returning the object - itself. This operation is useful if you're only interested in an object's metadata. - To use HEAD, you must have READ access to the object. - - A property of GetObjectMetadataRequest used to execute the GetObjectMetadata service method. - A property of GetObjectMetadataRequest used to execute the GetObjectMetadata service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetObjectMetadata service method, as returned by S3. - - - - The HEAD operation retrieves metadata from an object without returning the object - itself. This operation is useful if you're only interested in an object's metadata. - To use HEAD, you must have READ access to the object. - - A property of GetObjectMetadataRequest used to execute the GetObjectMetadata service method. - A property of GetObjectMetadataRequest used to execute the GetObjectMetadata service method. - VersionId used to reference a specific version of the object. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetObjectMetadata service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetObjectMetadata operation. - - - Container for the necessary parameters to execute the GetObjectMetadata operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the tag-set of an object. - - Container for the necessary parameters to execute the GetObjectTagging service method. - - The response from the GetObjectTagging service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetObjectTagging operation. - - - Container for the necessary parameters to execute the GetObjectTagging operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Return torrent files from a bucket. - - A property of GetObjectTorrentRequest used to execute the GetObjectTorrent service method. - A property of GetObjectTorrentRequest used to execute the GetObjectTorrent service method. - - The response from the GetObjectTorrent service method, as returned by S3. - - - - Return torrent files from a bucket. - - Container for the necessary parameters to execute the GetObjectTorrent service method. - - The response from the GetObjectTorrent service method, as returned by S3. - - - - Return torrent files from a bucket. - - A property of GetObjectTorrentRequest used to execute the GetObjectTorrent service method. - A property of GetObjectTorrentRequest used to execute the GetObjectTorrent service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetObjectTorrent service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetObjectTorrent operation. - - - Container for the necessary parameters to execute the GetObjectTorrent operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - This operation is useful to determine if a bucket exists and you have permission to - access it. - - Container for the necessary parameters to execute the HeadBucket service method. - - The response from the HeadBucket service method, as returned by S3. - - - - Initiates the asynchronous execution of the HeadBucket operation. - - - Container for the necessary parameters to execute the HeadBucket operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Initiates a multipart upload and returns an upload ID. - - - - Note: After you initiate multipart upload and upload one or more parts, you - must either complete or abort multipart upload in order to stop getting charged for - storage of the uploaded parts. Only after you either complete or abort multipart upload, - Amazon S3 frees up the parts storage and stops charging you for the parts storage. - - - A property of InitiateMultipartUploadRequest used to execute the InitiateMultipartUpload service method. - A property of InitiateMultipartUploadRequest used to execute the InitiateMultipartUpload service method. - - The response from the InitiateMultipartUpload service method, as returned by S3. - - - - Initiates a multipart upload and returns an upload ID. - - - - Note: After you initiate multipart upload and upload one or more parts, you - must either complete or abort multipart upload in order to stop getting charged for - storage of the uploaded parts. Only after you either complete or abort multipart upload, - Amazon S3 frees up the parts storage and stops charging you for the parts storage. - - - Container for the necessary parameters to execute the InitiateMultipartUpload service method. - - The response from the InitiateMultipartUpload service method, as returned by S3. - - - - Initiates a multipart upload and returns an upload ID. - - - - Note: After you initiate multipart upload and upload one or more parts, you - must either complete or abort multipart upload in order to stop getting charged for - storage of the uploaded parts. Only after you either complete or abort multipart upload, - Amazon S3 frees up the parts storage and stops charging you for the parts storage. - - - A property of InitiateMultipartUploadRequest used to execute the InitiateMultipartUpload service method. - A property of InitiateMultipartUploadRequest used to execute the InitiateMultipartUpload service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the InitiateMultipartUpload service method, as returned by S3. - - - - Initiates the asynchronous execution of the InitiateMultipartUpload operation. - - - Container for the necessary parameters to execute the InitiateMultipartUpload operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Lists the analytics configurations for the bucket. - - Container for the necessary parameters to execute the ListBucketAnalyticsConfigurations service method. - - The response from the ListBucketAnalyticsConfigurations service method, as returned by S3. - - - - Initiates the asynchronous execution of the ListBucketAnalyticsConfigurations operation. - - - Container for the necessary parameters to execute the ListBucketAnalyticsConfigurations operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns a list of inventory configurations for the bucket. - - Container for the necessary parameters to execute the ListBucketInventoryConfigurations service method. - - The response from the ListBucketInventoryConfigurations service method, as returned by S3. - - - - Initiates the asynchronous execution of the ListBucketInventoryConfigurations operation. - - - Container for the necessary parameters to execute the ListBucketInventoryConfigurations operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Lists the metrics configurations for the bucket. - - Container for the necessary parameters to execute the ListBucketMetricsConfigurations service method. - - The response from the ListBucketMetricsConfigurations service method, as returned by S3. - - - - Initiates the asynchronous execution of the ListBucketMetricsConfigurations operation. - - - Container for the necessary parameters to execute the ListBucketMetricsConfigurations operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns a list of all buckets owned by the authenticated sender of the request. - - - The response from the ListBuckets service method, as returned by S3. - - - - Returns a list of all buckets owned by the authenticated sender of the request. - - Container for the necessary parameters to execute the ListBuckets service method. - - The response from the ListBuckets service method, as returned by S3. - - - - Returns a list of all buckets owned by the authenticated sender of the request. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the ListBuckets service method, as returned by S3. - - - - Initiates the asynchronous execution of the ListBuckets operation. - - - Container for the necessary parameters to execute the ListBuckets operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - This operation lists in-progress multipart uploads. - - A property of ListMultipartUploadsRequest used to execute the ListMultipartUploads service method. - - The response from the ListMultipartUploads service method, as returned by S3. - - - - This operation lists in-progress multipart uploads. - - A property of ListMultipartUploadsRequest used to execute the ListMultipartUploads service method. - Lists in-progress uploads only for those keys that begin with the specified prefix. - - The response from the ListMultipartUploads service method, as returned by S3. - - - - This operation lists in-progress multipart uploads. - - Container for the necessary parameters to execute the ListMultipartUploads service method. - - The response from the ListMultipartUploads service method, as returned by S3. - - - - This operation lists in-progress multipart uploads. - - A property of ListMultipartUploadsRequest used to execute the ListMultipartUploads service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the ListMultipartUploads service method, as returned by S3. - - - - This operation lists in-progress multipart uploads. - - A property of ListMultipartUploadsRequest used to execute the ListMultipartUploads service method. - Lists in-progress uploads only for those keys that begin with the specified prefix. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the ListMultipartUploads service method, as returned by S3. - - - - Initiates the asynchronous execution of the ListMultipartUploads operation. - - - Container for the necessary parameters to execute the ListMultipartUploads operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns some or all (up to 1000) of the objects in a bucket. You can use the request - parameters as selection criteria to return a subset of the objects in a bucket. - - A property of ListObjectsRequest used to execute the ListObjects service method. - - The response from the ListObjects service method, as returned by S3. - - - - Returns some or all (up to 1000) of the objects in a bucket. You can use the request - parameters as selection criteria to return a subset of the objects in a bucket. - - A property of ListObjectsRequest used to execute the ListObjects service method. - Limits the response to keys that begin with the specified prefix. - - The response from the ListObjects service method, as returned by S3. - - - - Returns some or all (up to 1000) of the objects in a bucket. You can use the request - parameters as selection criteria to return a subset of the objects in a bucket. - - Container for the necessary parameters to execute the ListObjects service method. - - The response from the ListObjects service method, as returned by S3. - - - - Returns some or all (up to 1000) of the objects in a bucket. You can use the request - parameters as selection criteria to return a subset of the objects in a bucket. - - A property of ListObjectsRequest used to execute the ListObjects service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the ListObjects service method, as returned by S3. - - - - Returns some or all (up to 1000) of the objects in a bucket. You can use the request - parameters as selection criteria to return a subset of the objects in a bucket. - - A property of ListObjectsRequest used to execute the ListObjects service method. - Limits the response to keys that begin with the specified prefix. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the ListObjects service method, as returned by S3. - - - - Initiates the asynchronous execution of the ListObjects operation. - - - Container for the necessary parameters to execute the ListObjects operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns some or all (up to 1000) of the objects in a bucket. You can use the request - parameters as selection criteria to return a subset of the objects in a bucket. Note: - ListObjectsV2 is the revised List Objects API and we recommend you use this revised - API for new application development. - - Container for the necessary parameters to execute the ListObjectsV2 service method. - - The response from the ListObjectsV2 service method, as returned by S3. - - - - Initiates the asynchronous execution of the ListObjectsV2 operation. - - - Container for the necessary parameters to execute the ListObjectsV2 operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Lists the parts that have been uploaded for a specific multipart upload. - - A property of ListPartsRequest used to execute the ListParts service method. - A property of ListPartsRequest used to execute the ListParts service method. - Upload ID identifying the multipart upload whose parts are being listed. - - The response from the ListParts service method, as returned by S3. - - - - Lists the parts that have been uploaded for a specific multipart upload. - - Container for the necessary parameters to execute the ListParts service method. - - The response from the ListParts service method, as returned by S3. - - - - Lists the parts that have been uploaded for a specific multipart upload. - - A property of ListPartsRequest used to execute the ListParts service method. - A property of ListPartsRequest used to execute the ListParts service method. - Upload ID identifying the multipart upload whose parts are being listed. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the ListParts service method, as returned by S3. - - - - Initiates the asynchronous execution of the ListParts operation. - - - Container for the necessary parameters to execute the ListParts operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns metadata about all of the versions of objects in a bucket. - - A property of ListVersionsRequest used to execute the ListVersions service method. - - The response from the ListVersions service method, as returned by S3. - - - - Returns metadata about all of the versions of objects in a bucket. - - A property of ListVersionsRequest used to execute the ListVersions service method. - Limits the response to keys that begin with the specified prefix. - - The response from the ListVersions service method, as returned by S3. - - - - Returns metadata about all of the versions of objects in a bucket. - - Container for the necessary parameters to execute the ListVersions service method. - - The response from the ListVersions service method, as returned by S3. - - - - Returns metadata about all of the versions of objects in a bucket. - - A property of ListVersionsRequest used to execute the ListVersions service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the ListVersions service method, as returned by S3. - - - - Returns metadata about all of the versions of objects in a bucket. - - A property of ListVersionsRequest used to execute the ListVersions service method. - Limits the response to keys that begin with the specified prefix. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the ListVersions service method, as returned by S3. - - - - Initiates the asynchronous execution of the ListVersions operation. - - - Container for the necessary parameters to execute the ListVersions operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Sets the permissions on a bucket using access control lists (ACL). - - Container for the necessary parameters to execute the PutACL service method. - - The response from the PutACL service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutACL operation. - - - Container for the necessary parameters to execute the PutACL operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Creates a new bucket. - - A property of PutBucketRequest used to execute the PutBucket service method. - - The response from the PutBucket service method, as returned by S3. - - - - Creates a new bucket. - - Container for the necessary parameters to execute the PutBucket service method. - - The response from the PutBucket service method, as returned by S3. - - - - Creates a new bucket. - - A property of PutBucketRequest used to execute the PutBucket service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the PutBucket service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucket operation. - - - Container for the necessary parameters to execute the PutBucket operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Sets the accelerate configuration of an existing bucket. - - Container for the necessary parameters to execute the PutBucketAccelerateConfiguration service method. - - The response from the PutBucketAccelerateConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketAccelerateConfiguration operation. - - - Container for the necessary parameters to execute the PutBucketAccelerateConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Sets an analytics configuration for the bucket (specified by the analytics configuration - ID). - - Container for the necessary parameters to execute the PutBucketAnalyticsConfiguration service method. - - The response from the PutBucketAnalyticsConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketAnalyticsConfiguration operation. - - - Container for the necessary parameters to execute the PutBucketAnalyticsConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Adds an inventory configuration (identified by the inventory ID) from the bucket. - - Container for the necessary parameters to execute the PutBucketInventoryConfiguration service method. - - The response from the PutBucketInventoryConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketInventoryConfiguration operation. - - - Container for the necessary parameters to execute the PutBucketInventoryConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Set the logging parameters for a bucket and to specify permissions for who can view - and modify the logging parameters. To set the logging status of a bucket, you must - be the bucket owner. - - Container for the necessary parameters to execute the PutBucketLogging service method. - - The response from the PutBucketLogging service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketLogging operation. - - - Container for the necessary parameters to execute the PutBucketLogging operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Sets a metrics configuration (specified by the metrics configuration ID) for the bucket. - - Container for the necessary parameters to execute the PutBucketMetricsConfiguration service method. - - The response from the PutBucketMetricsConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketMetricsConfiguration operation. - - - Container for the necessary parameters to execute the PutBucketMetricsConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Enables notifications of specified events for a bucket. - - Container for the necessary parameters to execute the PutBucketNotification service method. - - The response from the PutBucketNotification service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketNotification operation. - - - Container for the necessary parameters to execute the PutBucketNotification operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Replaces a policy on a bucket. If the bucket already has a policy, the one in this - request completely replaces it. - - A property of PutBucketPolicyRequest used to execute the PutBucketPolicy service method. - The bucket policy as a JSON document. - - The response from the PutBucketPolicy service method, as returned by S3. - - - - Replaces a policy on a bucket. If the bucket already has a policy, the one in this - request completely replaces it. - - A property of PutBucketPolicyRequest used to execute the PutBucketPolicy service method. - The bucket policy as a JSON document. - A property of PutBucketPolicyRequest used to execute the PutBucketPolicy service method. - - The response from the PutBucketPolicy service method, as returned by S3. - - - - Replaces a policy on a bucket. If the bucket already has a policy, the one in this - request completely replaces it. - - Container for the necessary parameters to execute the PutBucketPolicy service method. - - The response from the PutBucketPolicy service method, as returned by S3. - - - - Replaces a policy on a bucket. If the bucket already has a policy, the one in this - request completely replaces it. - - A property of PutBucketPolicyRequest used to execute the PutBucketPolicy service method. - The bucket policy as a JSON document. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the PutBucketPolicy service method, as returned by S3. - - - - Replaces a policy on a bucket. If the bucket already has a policy, the one in this - request completely replaces it. - - A property of PutBucketPolicyRequest used to execute the PutBucketPolicy service method. - The bucket policy as a JSON document. - A property of PutBucketPolicyRequest used to execute the PutBucketPolicy service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the PutBucketPolicy service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketPolicy operation. - - - Container for the necessary parameters to execute the PutBucketPolicy operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Creates a new replication configuration (or replaces an existing one, if present). - - Container for the necessary parameters to execute the PutBucketReplication service method. - - The response from the PutBucketReplication service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketReplication operation. - - - Container for the necessary parameters to execute the PutBucketReplication operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Sets the request payment configuration for a bucket. By default, the bucket owner - pays for downloads from the bucket. This configuration parameter enables the bucket - owner (only) to specify that the person requesting the download will be charged for - the download. Documentation on requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html - - A property of PutBucketRequestPaymentRequest used to execute the PutBucketRequestPayment service method. - A property of PutBucketRequestPaymentRequest used to execute the PutBucketRequestPayment service method. - - The response from the PutBucketRequestPayment service method, as returned by S3. - - - - Sets the request payment configuration for a bucket. By default, the bucket owner - pays for downloads from the bucket. This configuration parameter enables the bucket - owner (only) to specify that the person requesting the download will be charged for - the download. Documentation on requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html - - Container for the necessary parameters to execute the PutBucketRequestPayment service method. - - The response from the PutBucketRequestPayment service method, as returned by S3. - - - - Sets the request payment configuration for a bucket. By default, the bucket owner - pays for downloads from the bucket. This configuration parameter enables the bucket - owner (only) to specify that the person requesting the download will be charged for - the download. Documentation on requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html - - A property of PutBucketRequestPaymentRequest used to execute the PutBucketRequestPayment service method. - A property of PutBucketRequestPaymentRequest used to execute the PutBucketRequestPayment service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the PutBucketRequestPayment service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketRequestPayment operation. - - - Container for the necessary parameters to execute the PutBucketRequestPayment operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Sets the tags for a bucket. - - A property of PutBucketTaggingRequest used to execute the PutBucketTagging service method. - A property of PutBucketTaggingRequest used to execute the PutBucketTagging service method. - - The response from the PutBucketTagging service method, as returned by S3. - - - - Sets the tags for a bucket. - - Container for the necessary parameters to execute the PutBucketTagging service method. - - The response from the PutBucketTagging service method, as returned by S3. - - - - Sets the tags for a bucket. - - A property of PutBucketTaggingRequest used to execute the PutBucketTagging service method. - A property of PutBucketTaggingRequest used to execute the PutBucketTagging service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the PutBucketTagging service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketTagging operation. - - - Container for the necessary parameters to execute the PutBucketTagging operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Sets the versioning state of an existing bucket. To set the versioning state, you - must be the bucket owner. - - Container for the necessary parameters to execute the PutBucketVersioning service method. - - The response from the PutBucketVersioning service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketVersioning operation. - - - Container for the necessary parameters to execute the PutBucketVersioning operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Set the website configuration for a bucket. - - A property of PutBucketWebsiteRequest used to execute the PutBucketWebsite service method. - A property of PutBucketWebsiteRequest used to execute the PutBucketWebsite service method. - - The response from the PutBucketWebsite service method, as returned by S3. - - - - Set the website configuration for a bucket. - - Container for the necessary parameters to execute the PutBucketWebsite service method. - - The response from the PutBucketWebsite service method, as returned by S3. - - - - Set the website configuration for a bucket. - - A property of PutBucketWebsiteRequest used to execute the PutBucketWebsite service method. - A property of PutBucketWebsiteRequest used to execute the PutBucketWebsite service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the PutBucketWebsite service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketWebsite operation. - - - Container for the necessary parameters to execute the PutBucketWebsite operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Sets the cors configuration for a bucket. - - A property of PutCORSConfigurationRequest used to execute the PutCORSConfiguration service method. - A property of PutCORSConfigurationRequest used to execute the PutCORSConfiguration service method. - - The response from the PutCORSConfiguration service method, as returned by S3. - - - - Sets the cors configuration for a bucket. - - Container for the necessary parameters to execute the PutCORSConfiguration service method. - - The response from the PutCORSConfiguration service method, as returned by S3. - - - - Sets the cors configuration for a bucket. - - A property of PutCORSConfigurationRequest used to execute the PutCORSConfiguration service method. - A property of PutCORSConfigurationRequest used to execute the PutCORSConfiguration service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the PutCORSConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutCORSConfiguration operation. - - - Container for the necessary parameters to execute the PutCORSConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Sets lifecycle configuration for your bucket. If a lifecycle configuration exists, - it replaces it. - - A property of PutLifecycleConfigurationRequest used to execute the PutLifecycleConfiguration service method. - A property of PutLifecycleConfigurationRequest used to execute the PutLifecycleConfiguration service method. - - The response from the PutLifecycleConfiguration service method, as returned by S3. - - - - Sets lifecycle configuration for your bucket. If a lifecycle configuration exists, - it replaces it. - - Container for the necessary parameters to execute the PutLifecycleConfiguration service method. - - The response from the PutLifecycleConfiguration service method, as returned by S3. - - - - Sets lifecycle configuration for your bucket. If a lifecycle configuration exists, - it replaces it. - - A property of PutLifecycleConfigurationRequest used to execute the PutLifecycleConfiguration service method. - A property of PutLifecycleConfigurationRequest used to execute the PutLifecycleConfiguration service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the PutLifecycleConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutLifecycleConfiguration operation. - - - Container for the necessary parameters to execute the PutLifecycleConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Adds an object to a bucket. - - Container for the necessary parameters to execute the PutObject service method. - - The response from the PutObject service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutObject operation. - - - Container for the necessary parameters to execute the PutObject operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Sets the supplied tag-set to an object that already exists in a bucket - - Container for the necessary parameters to execute the PutObjectTagging service method. - - The response from the PutObjectTagging service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutObjectTagging operation. - - - Container for the necessary parameters to execute the PutObjectTagging operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Restores an archived copy of an object back into Amazon S3 - - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - - The response from the RestoreObject service method, as returned by S3. - - - - Restores an archived copy of an object back into Amazon S3 - - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - - The response from the RestoreObject service method, as returned by S3. - - - - Restores an archived copy of an object back into Amazon S3 - - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - - The response from the RestoreObject service method, as returned by S3. - - - - Restores an archived copy of an object back into Amazon S3 - - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - - The response from the RestoreObject service method, as returned by S3. - - - - Restores an archived copy of an object back into Amazon S3 - - Container for the necessary parameters to execute the RestoreObject service method. - - The response from the RestoreObject service method, as returned by S3. - - - - Restores an archived copy of an object back into Amazon S3 - - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the RestoreObject service method, as returned by S3. - - - - Restores an archived copy of an object back into Amazon S3 - - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the RestoreObject service method, as returned by S3. - - - - Restores an archived copy of an object back into Amazon S3 - - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the RestoreObject service method, as returned by S3. - - - - Restores an archived copy of an object back into Amazon S3 - - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the RestoreObject service method, as returned by S3. - - - - Initiates the asynchronous execution of the RestoreObject operation. - - - Container for the necessary parameters to execute the RestoreObject operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Uploads a part in a multipart upload. - - - - Note: After you initiate multipart upload and upload one or more parts, you - must either complete or abort multipart upload in order to stop getting charged for - storage of the uploaded parts. Only after you either complete or abort multipart upload, - Amazon S3 frees up the parts storage and stops charging you for the parts storage. - - - Container for the necessary parameters to execute the UploadPart service method. - - The response from the UploadPart service method, as returned by S3. - - - - Initiates the asynchronous execution of the UploadPart operation. - - - Container for the necessary parameters to execute the UploadPart operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Configuration for accessing AmazonS3 service - - - Configuration for accessing Amazon S3 service - - - - - When true, requests will always use path style addressing. - - - - - Enables S3 accelerate by sending requests to the accelerate endpoint instead of the regular region endpoint. - To use this feature, the bucket name should be DNS compliant names and should not contain periods (.). - The following APIs are not supported and are sent to the regular region endpoint, even if this option is enabled: -
    -
  1. PutBucket
  2. -
  3. ListBuckets
  4. -
  5. DeleteBucket
  6. -
-
- - This option cannot be used at the same time as UseDualstackEndpoint. - -
- - - Validate that the config object is properly configured. - - - - - This method contains custom initializations for the config object. - - - - - Default constructor - - - - - The constant used to lookup in the region hash the endpoint. - - - - - Gets the ServiceVersion property. - - - - - Gets the value of UserAgent property. - - - - - Base exception for S3 errors. - - - - - Construct an instance of AmazonS3Exception - - - - - - Construct an instance of AmazonS3Exception - - - - - - - Construct an instance of AmazonS3Exception - - - - - - Construct an instance of AmazonS3Exception - - - - - - - - - - Construct an instance of AmazonS3Exception - - - - - - - - - - - Construct an instance of AmazonS3Exception - - - - - - - - - - - - Construct an instance of AmazonS3Exception - - - - - - - - - - - - - A special token that helps AWS troubleshoot problems. - - - - - A special token that helps AWS troubleshoot S3 accelerate problems. - - - - - The entire response body for this exception, if available. - - - - - The region that the AmazonS3Exception relates to. - - - - - Gets the exception message. - - - - - Constructs a new instance of the AmazonS3Exception class with serialized data. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Sets the with information about the exception. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is a null reference (Nothing in Visual Basic). - - - - The file format used when exporting data to Amazon S3. - - - - - CSV file format. - - - - - Construct instance of AnalyticsS3ExportFileFormat. - - - - - - Finds the constant for the unique value. - - - - - - - Converts the string to an AnalyticsS3ExportFileFormat. - - - - - - - Represents the accelerate status for a bucket. - - - - - Bucket acceleration is enabled. - - - - - Bucket acceleration is suspended. - - - - - Construct instance of BucketAccelerateStatus. It is not intended for this constructor to be called. Instead users should call the FindValue. - - - - - - Finds the constant for the unique value. - - - - - - - Converts the string to an BucketAccelerateStatus - - - - - - - A list of all possible CannedACLs that can be used - for S3 Buckets or S3 Objects. For more information about CannedACLs, refer to - . - - - - - Owner gets FULL_CONTROL. - No one else has access rights (default). - - - - - Owner gets FULL_CONTROL. - No one else has access rights (default). - - - - - Owner gets FULL_CONTROL and the anonymous principal is granted READ access. - If this policy is used on an object, it can be read from a browser with no authentication. - - - - - Owner gets FULL_CONTROL, the anonymous principal is granted READ and WRITE access. - This can be a useful policy to apply to a bucket, but is generally not recommended. - - - - - Owner gets FULL_CONTROL, and any principal authenticated as a registered Amazon - S3 user is granted READ access. - - - - - Owner gets FULL_CONTROL. Amazon EC2 gets READ access to GET an - Amazon Machine Image (AMI) bundle from Amazon S3. - - - - - Object Owner gets FULL_CONTROL, Bucket Owner gets READ - This ACL applies only to objects and is equivalent to private when used with PUT Bucket. - You use this ACL to let someone other than the bucket owner write content (get full control) - in the bucket but still grant the bucket owner read access to the objects. - - - - - Object Owner gets FULL_CONTROL, Bucket Owner gets FULL_CONTROL. - This ACL applies only to objects and is equivalent to private when used with PUT Bucket. - You use this ACL to let someone other than the bucket owner write content (get full control) - in the bucket but still grant the bucket owner full rights over the objects. - - - - - The LogDelivery group gets WRITE and READ_ACP permissions on the bucket. - - - - - Construct instance of S3CannedACL. It is not intended for this constructor to be called. Instead users should call the FindValue. - - - - - - Finds the constant for the unique value. - - - - - - - Converts the string to an S3CannedACL - - - - - - - A list of all possible S3 Bucket region possibilities. For - more information, refer to - . - - - - - Specifies that the S3 Bucket should use US locality. - This is the default value. - - - - - Specifies that the S3 Bucket should use US-EAST-2 locality. - - - - - Specifies that the S3 Bucket should use EU locality which defaults to EU-WEST-1 - - - - - Specifies that the S3 Bucket should use the EU-WEST-1 locality. - - - - - Specifies that the S3 Bucket should use the EU-WEST-2 locality. - - - - - Specifies that the S3 Bucket should use the EU-CENTRAL-1 locality. - - - - - Specifies that the S3 Bucket should use US-WEST-1 locality. - - - - - Specifies that the S3 Bucket should use US-WEST-2 locality. - - - - - Specifies that the S3 Bucket should use US-GOV-WEST-1 locality. - - - - - Specifies that the S3 Bucket should use the AP-SOUTHEAST-1 locality. - - - - - Specifies that the S3 Bucket should use the AP-SOUTHEAST-2 locality. - - - - - Specifies that the S3 Bucket should use the AP-NORTHEAST-1 locality. - - - - - Specifies that the S3 Bucket should use the AP-NORTHEAST-2 locality. - - - - - Specifies that the S3 Bucket should use the AP-SOUTH-1 locality. - - - - - Specifies that the S3 Bucket should use the SA-EAST-1 locality. - - - - - Specifies that the S3 Bucket should use CN-NORTH-1 locality. - - - - - Specifies that the S3 Bucket should use CA-CENTRAL-1 locality. - - - - - Specifies that the S3 Bucket should use US-WEST-1 locality. - - - - - Specifies that the S3 Bucket should use CN-NORTH-1 locality. - - - - - Specifies that the S3 Bucket should use US-GOV-WEST-1 locality. - - - - - Construct instance of S3Region. It is not intended for this constructor to be called. Instead users should call the FindValue. - - - - - - Finds the constant for the unique value. - - - - - - - Converts the string to the S3Region class - - - - - - - A list of all ACL permissions. For more information, refer to - . - - - - - When applied to a bucket, grants permission to list the bucket. - When applied to an object, this grants permission to read the - object data and/or metadata. - - - - - When applied to a bucket, grants permission to create, overwrite, - and delete any object in the bucket. This permission is not - supported for objects. - - - - - Grants permission to read the ACL for the applicable bucket or object. - The owner of a bucket or object always has this permission implicitly. - - - - - Gives permission to overwrite the ACP for the applicable bucket or object. - The owner of a bucket or object always has this permission implicitly. - Granting this permission is equivalent to granting FULL_CONTROL because - the grant recipient can make any changes to the ACP. - - - - - Provides READ, WRITE, READ_ACP, and WRITE_ACP permissions. - It does not convey additional rights and is provided only for convenience. - - - - - Gives permission to restore an object that is currently stored in Amazon Glacier - for archival storage. - - - - - Construct S3Permission. - - - - - - Construct instance of S3Permission. It is not intended for this constructor to be called. Instead users should call the FindValue. - - - - - - - Gets and sets the HeaderName property. - - - - - Finds the constant for the unique value. - - - - - - - Converts the string to an S3Permission - - - - - - - An enumeration of all Metadata directives that - can be used for the CopyObject operation. - - - - - Specifies that the metadata is copied from the source object. - - - - - Specifies that the metadata is replaced with metadata provided in the request. - All original metadata is replaced by the metadata you specify. - - - - - An enumeration of all protocols that the pre-signed - URL can be created against. - - - - - https protocol will be used in the pre-signed URL. - - - - - http protocol will be used in the pre-signed URL. - - - - - An enumeration of supported HTTP verbs - - - - - The GET HTTP verb. - - - - - The HEAD HTTP verb. - - - - - The PUT HTTP verb. - - - - - The DELETE HTTP verb. - - - - - Specifies the Storage Class of of an S3 object. Possible values - are: - ReducedRedundancy: provides a 99.99% durability guarantee - Standard: provides a 99.999999999% durability guarantee - - - - - - The STANDARD storage class, which is the default - storage class for S3 objects. Provides a 99.999999999% - durability guarantee. - - - - - The REDUCED_REDUNDANCY storage class for S3 objects. This - provides a reduced (99.99%) durability guarantee at a lower - cost as compared to the STANDARD storage class. Use this - storage class for non-mission critical data or for data - that doesn’t require the higher level of durability that S3 - provides with the STANDARD storage class. - - - - - The GLACIER storage is for object that are stored in Amazon Glacier. - This storage class is for objects that are for archival purpose and - get operations are rare. - - - - - The STANDARD_IA storage is for infrequently accessed objects. - This storage class is for objects that are long-lived and less frequently accessed, - like backups and older data. - - - - - Construct an instance of S3StorageClass. - - - - - - Finds the constant for the unique value. - - - - - - - Convert string to S3StorageClass. - - - - - - - The constants for the known event names used by S3 notification. S3 might add new - events before the SDK is updated. In which case the names listed in the S3 documentation - will work as well as these constants. - - - - - An event that says an object has been lost in the reduced redundancy storage. - - - - - A list of all server-side encryption methods for customer provided encryption keys. - - - - - No server side encryption to be used. - - - - - Use AES 256 server side encryption. - - - - - Constructs an instance of ServerSideEncryptionCustomerMethod. - - - - - - Finds the constant for the unique value. - - - - - - - Converts string to ServerSideEncryptionCustomerMethod. - - - - - - - A list of all server-side encryption methods. - - - - - No server side encryption to be used. - - - - - Use AES 256 server side encryption. - - - - - Use AWS Key Management Service for server side encryption. - - - - - Construct instance of ServerSideEncryptionMethod. - - - - - - Finds the constant for the unique value. - - - - - - - Convert string to ServerSideEncryptionCustomerMethod. - - - - - - - A list of all grantee types. - - - - - The predefined group. - - - - - The email address of an AWS account - - - - - The canonical user ID of an AWS account - - - - - Construct an instance of GranteeType. - - - - - - Finds the constant for the unique value. - - - - - - - Convert a string to GranteeType. - - - - - - - A list of all lifecycle statuses. - - - - - The rule is enabled. - - - - - The rule is disabled. - - - - - Constructs an instance LifecycleRuleStatus. - - - - - - Finds the constant for the unique value. - - - - - - - Convert string to LifecycleRuleStatus. - - - - - - - A list of all version statuses. - - - - - The rule is off. - - - - - The rule is suspended. - - - - - The rule is enabled. - - - - - Construct an instance of VersionStatus. - - - - - - Finds the constant for the unique value. - - - - - - - Convert string to VersionStatus. - - - - - - - A list of all encoding types. - - - - - Url encoding. - - - - - Constructs intance of EncodingType - - - - - - Finds the constant for the unique value. - - - - - - - Converts string to EncodingType - - - - - - - A list of all event types that can configured with the bucket notification configuration. - - - - - The event encapsulates all the object create events - - - - - Event for put operations - - - - - Event for post operations - - - - - Event for copy operations - - - - - Event for completing a multi part upload - - - - - This event encapsulates all the object removed events - - - - - Event for object removed, delete operation. - - - - - Event for object removed, delete marker created operation. - - - - - Event for objects stored in reduced redundancy and S3 detects the object is lost - - - - - Constructs instance of EventType. - - - - - - Finds the constant for the unique value. - - - - - - - Convert string to EventType. - - - - - - - A list of all Inventory Formats. - - - - - CSV inventory format - - - - - Construct instance of InventoryFormat. - - - - - - Finds the constant for the unique value. - - The string representation of the InventoryFormat. - The InventoryFormat object for that string. - - - - Convert string to InventoryFormat. - - - - - - - A list of inventory included object versions. - - - - - All Inventory Included Object Versions - - - - - Current Inventory Included Object Versions - - - - - Construct instance of InventoryIncludedObjectVersions. - - - - - - Finds the constant for the unique value. - - The string representation of the InventoryIncludedObjectVersions. - The InventoryIncludedObjectVersions object for that string. - - - - Convert string to InventoryIncludedObjectVersions. - - - - - - - A list of inventory frequencies. - - - - - Daily Inventory Frequency - - - - - Weekly Inventory Frequency - - - - - Construct instance of InventoryFrequency. - - - - - - Finds the constant for the unique value. - - The string representation of the InventoryFrequency. - The InventoryFrequency object for that string. - - - - Convert string to InventoryFrequency. - - - - - - - A list of inventory optional fields. - - - - - InventoryOptionalField for Size - - - - - InventoryOptionalField for LastModifiedDate - - - - - InventoryOptionalField for StorageClass - - - - - InventoryOptionalField for ETag - - - - - InventoryOptionalField for IsMultipartUploaded - - - - - InventoryOptionalField for ReplicationStatus - - - - - Construct instance of InventoryOptionalField. - - - - - - Finds the constant for the unique value. - - The string representation of the InventoryOptionalField. - The InventoryIncludedObjectVersions object for that string. - - - - Convert string to InventoryOptionalField. - - - - - - - The status of the replication job associated with this source object. - - - - - The object is pending replication. - - - - - The object has been replicated. - - - - - The object was created as a result of replication. - - - - - The object replication has failed due to a customer-attributable reason, and the replication will not be attempted again. - - - - - Construct instance of ReplicationStatus. - - - - - - Finds the constant for the unique value. - - The string representation of the ReplicationStatus. - The ReplicationStatus object for that string. - - - - Convert string to ReplicationStatus. - - - - - - - Whether a replication rule is applied or ignored. - - - - - The rule will be applied. - - - - - The rule will be ignored. - - - - - Construct instance of ReplicationRuleStatus - - - - - - Finds the constant for the unique value. - - The string representation of the ReplicationRuleStatus. - The ReplicationRuleStatus object for that string. - - - - Convert string to ReplicationRuleStatus. - - - - - - - Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided in the request. - - - - - The object tag-set is copied from the source object. - - - - - The object tag-set is replaced with tag-set provided in the request. - - - - - Construct instance of TaggingDirective - - - - - Finds the constant for the unique value. - - The string representation of the TaggingDirective. - The TaggingDirective object for that string. - - - - Convert string to TaggingDirective. - - - - - All enumerations type for retrieval tier for Glacier restore. - - - - - Standard Tier for Glacier restore. - - - - - Bulk Tier for Glacier restore. - - - - - Expedited Tier for Glacier restore. - - - - - Construct instance of RestoreObjectRequestGlacierJobTier - - - - - - Finds the constant for the unique value. - - The string representation of the RestoreObjectRequestGlacierJobTier. - The RestoreObjectRequestGlacierJobTier object for that string. - - - - Convert string to RestoreObjectRequestGlacierJobTier. - - - - - - - The version of the output schema to use when exporting data. - - - - - The schema output version V_1. - - - - - Construct instance of StorageClassAnalysisSchemaVersion - - - - - - Finds the constant for the unique value. - - The string representation of the StorageClassAnalysisSchemaVersion. - The StorageClassAnalysisSchemaVersion object for that string. - - - - Convert string to StorageClassAnalysisSchemaVersion. - - - - - - - Acknowledges that requester pays for the operation. - - - - - Requester pays for the operation. - - - - - Finds the RequestPayer instance for the string value. - - - - - Converts string to RequestPayer instance - - - - - The response from S3 that it confirms that requester pays. - - - - - S3 acknowledges that the requester pays. - - - - - Finds the RequestCharged instance for the string value - - - - - converts the string to RequestCharged instance - - - - - Custom pipeline handler to clean up streams in case of an exception. - - - - - Catch exceptions and clean up any open streams. - - - - - - Catch exceptions and clean up any open streams. - - - - - - - Custom pipeline handler to enable sig V4 for Get requests. - - - - - Calls pre invoke logic before calling the next handler - in the pipeline. - - The execution context which contains both the - requests and response context. - - - - Calls pre invoke logic before calling the next handler - in the pipeline. - - The response type for the current request. - The execution context, it contains the - request and response context. - A task that represents the asynchronous operation. - - - - Custom pipeline handler to enable sig V4 for Get requests. - - - - - - Calls pre invoke logic before calling the next handler - in the pipeline. - - The execution context which contains both the - requests and response context. - - - - Calls pre invoke logic before calling the next handler - in the pipeline. - - The response type for the current request. - The execution context, it contains the - request and response context. - A task that represents the asynchronous operation. - - - - Calls pre invoke logic before calling the next handler - in the pipeline. - - The execution context which contains both the - requests and response context. - - - - Calls pre invoke logic before calling the next handler - in the pipeline. - - The response type for the current request. - The execution context, it contains the - request and response context. - A task that represents the asynchronous operation. - - - - Calls the post invoke logic after calling the next handler - in the pipeline. - - The execution context which contains both the - requests and response context. - - - - Calls the and post invoke logic after calling the next handler - in the pipeline. - - The response type for the current request. - The execution context, it contains the - request and response context. - A task that represents the asynchronous operation. - - - - Constructor for AmazonS3RetryPolicy. - - The IClientConfig object - - - - Perform the processor-bound portion of the RetryForException logic. - This is shared by the sync, async, and APM versions of the RetryForException method. - - - - a value if it can be determined, or null if the IO-bound calculations need to be done - - - - Return true if the request should be retried. Implements additional checks - specific to S3 on top of the checks in DefaultRetryPolicy. - - Request context containing the state of the request. - The exception thrown by the previous request. - Return true if the request should be retried. - - - - Return true if the request should be retried. Implements additional checks - specific to S3 on top of the checks in DefaultRetryPolicy. - - Request context containing the state of the request. - The exception thrown by the previous request. - Return true if the request should be retried. - - - - Marker interface to identify AmazonS3EncryptionClient. - - - - - S3 signer constructor - - - - - The parameters to request an abort of a multipart upload. - - - After a multipart upload is aborted, no additional parts can be uploaded using that upload ID. - The storage consumed by any previously uploaded parts will be freed. However, if any part uploads - are currently in progress, those part uploads might or might not succeed. As a result, it might be - necessary to abort a given multipart upload multiple times in order to completely free all storage - consumed by all parts. - - - - - The name of the bucketName containing the S3 object that was being uploaded in parts. - - - - - The key of the S3 object that was being uploaded. - - - - - The upload id for the in-progress multipart upload that should be aborted. - - - - - Confirms that the requester knows that she or he will be charged for the list objects request. - Bucket owners need not specify this parameter in their requests. - - - - - Checks to see if RequetsPayer is set. - - true, if RequestPayer property is set. - - - - Returns information about the AbortMultipartUpload response metadata. - The AbortMultipartUpload operation has a void result type. - - - - - If present, indicates that the requester was successfully charged for the request. - - - - - Checks to see if RequestCharged is set. - - true, if RequestCharged property is set. - - - - Bucket accelerate configuration. - - - - - The accelerate status of the bucket. - - - - - Class for AnalyticsAndOperator - A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. - The operator must have at least two predicates, and an object must match all of the predicates - in order for the filter to apply. - - Note: The current implementation restricts the usage to atmost one AnalyticsPrefixPredicate - and any number of AnalyticsTagPredicates. - - - - Class for AnalyticsConfiguration - - - - - The identifier used to represent an analytics configuration. - - - - - The filter used to describe a set of objects for analyses. - A filter must have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). - If no filter is provided, all objects will be considered in any analysis. - - - - - If present, it indicates that data related to access patterns will be collected - and made available to analyze the tradeoffs between different storage classes. - - - - - Class for AnalyticsExportDestination - - - - - A destination signifying output to an S3 bucket. - - - - - Filter class for Metrics. - - - - - Filter Predicate setup for specific filter types. - - - - - Filter Predicate abstract class for specific filter types to be derived from. - - - - - Abstract class that can be used over logical filter predicates,i.e. AND/OR. - - - - - Internal implementation of Metrics Predicate visitor interface. - - - - - Interface for implementing visitor pattern in Analytics Predicate Filter. - - - - - Interface for implementing visitor pattern in Inventory Predicate Filter. - - - - - Interface for implementing visitor pattern in Metrics Predicate Filter. - - - - - Internal implementation of Inventory Predicate visitor interface. - - - - - Internal implementation of Metrics Predicate visitor interface. - - - - - Defines the interface that is used to visit all the different - implementations of - - - - - Visit a - - - - - - Visit a - - - - - - Visit a - - - - - - Implementation of to marshall . - - - - - AbortIncompleteMultipartUpload Unmarshaller - - - - - Abort Multipart Upload Request Marshaller - - - - - Response Unmarshaller for AbortMultipartUpload operation - - - - - AnalyticsConfiguration Unmarshaller - - - - - AnalyticsExportDestinationUnmarshaller - - - - - AnalyticsFilter Unmarshaller - - - - - AnalyticsS3BucketDestination Unmarshaller - - - - - Bucket Unmarshaller - - - - - CommonPrefixesItem Unmarshaller - - - - - Complete Multipart Upload Request Marshaller - - - - - Response Unmarshaller for CompleteMultipartUpload operation - - - - - ContentsItem Unmarshaller - - - - - Copy Object Request Marshaller - - - - - Response Unmarshaller for CopyObject operation - - - - - Upload Part Copy Request Marshaller - - - - - Response Unmarshaller for CopyPart operation - - - - - CORSRule Unmarshaller - - - - - Delete InventoryConfiguration Request Marshaller - - - - - Response Unmarshaller for DeleteAnalyticsConfiguration operation - - - - - Response Unmarshaller for DeleteCORSConfiguration operation - - - - - Delete InventoryConfiguration Request Marshaller - - - - - Response Unmarshaller for DeleteInventoryConfiguration operation - - - - - Delete Bucket MetricsConfiguration Request Marshaller - - - - - Response Unmarshaller for DeleteBucketMetricsConfiguration operation - - - - - Delete Bucket Policy Request Marshaller - - - - - Response Unmarshaller for DeleteBucketPolicy operation - - - - - Delete Bucket Request Marshaller - - - - - Response Unmarshaller for DeleteBucket operation - - - - - Delete Bucket Tagging Request Marshaller - - - - - Response Unmarshaller for DeleteBucketTagging operation - - - - - Delete Bucket Website Request Marshaller - - - - - Response Unmarshaller for DeleteBucketWebsite operation - - - - - Delete Bucket Cors Request Marshaller - - - - - DeletedObject Unmarshaller - - - - - Delete Bucket Lifecycle Request Marshaller - - - - - Response Unmarshaller for DeleteBucketLifecycle operation - - - - - Delete Object Request Marshaller - - - - - Response Unmarshaller for DeleteObject operation - - - - - Delete Objects Request Marshaller - - - - - Response Unmarshaller for DeleteObjects operation - - - - - DeleteObjectTaggingRequest Marshaller - - - - - Marshall DeleteObjectTaggingRequest object into an http request. - - - - - Marshall DeleteObjectTaggingRequest object into an http request. - - - - - Response Unmarshaller for DeleteObjectTagging operation - - - - - ErrorsItem Unmarshaller - - - - - Expiration Unmarshaller - - - - - FilterRule Unmarshaller - - - - - Filter Unmarshaller - - - - - Get Object Acl Request Marshaller - - - - - Response Unmarshaller for GetACL operation - - - - - Get Object Accelerate Configuration Request Marshaller - - - - - Response Unmarshaller for GetACL operation - - - - - Get BucketAnalyticsConfiguration Request Marshaller - - - - - Response Unmarshaller for GetAnalyticsConfiguration operation - - - - - Get InventoryConfiguration Request Marshaller - - - - - Response Unmarshaller for GetInventoryConfiguration operation - - - - - Get Bucket Location Request Marshaller - - - - - Response Unmarshaller for GetBucketLocation operation - - - - - Get Bucket Logging Request Marshaller - - - - - Response Unmarshaller for GetBucketLogging operation - - - - - Get Bucket MetricsConfigurationRequest Marshaller - - - - - Response Unmarshaller for GetBucketMetricsConfiguration operation - - - - - Get Bucket Notification Request Marshaller - - - - - Response Unmarshaller for GetBucketNotification operation - - - - - Get BucketName Policy Request Marshaller - - - - - Response Unmarshaller for GetBucketPolicy operation - - - - - Get Bucket Request Payment Request Marshaller - - - - - Response Unmarshaller for GetBucketRequestPayment operation - - - - - Get Bucket Tagging Request Marshaller - - - - - Response Unmarshaller for GetBucketTagging operation - - - - - Get Bucket Versioning Request Marshaller - - - - - Response Unmarshaller for GetBucketVersioning operation - - - - - Get Bucket Website Request Marshaller - - - - - Response Unmarshaller for GetBucketWebsite operation - - - - - Get Bucket Cors Request Marshaller - - - - - Response Unmarshaller for GetCORSConfiguration operation - - - - - Get Bucket Lifecycle Request Marshaller - - - - - Response Unmarshaller for GetLifecycleConfiguration operation - - - - - GetObjectMetadata Marshaller - - - - - Response Unmarshaller for GetObjectMetadata operation - - - - - Get Object Request Marshaller - - - - - Response Unmarshaller for GetObject operation - - - - - GetObjectTaggingRequest Marshaller - - - - - Marshall GetObjectTaggingRequest into an http request. - - - - - Marshall GetObjectTaggingRequest into an http request. - - - - - Response Unmarshaller for GetObjectTagging operation - - - - - Get Object Torrent Request Marshaller - - - - - Response Unmarshaller for GetObjectTorrent operation - - - - - Grantee Unmarshaller - - - - - Grant Unmarshaller - - - - - Head Bucket Request Marshaller - - - - - Response Unmarshaller for HeadBucket operation - - - - - Create Multipart Upload Request Marshaller - - - - - Response Unmarshaller for InitiateMultipartUpload operation - - - - - Initiator Unmarshaller - - - - - InventoryConfiguration Unmarshaller - - - - - InventoryDestination Unmarshaller - - - - - InventoryFilter Unmarshaller - - - - - InventoryS3BucketDestination Unmarshaller - - - - - InventorySchedule Unmarshaller - - - - - LifecycleFilterPredicate Unmarshaller - - - - - LifecycleRuleNoncurrentVersionExpiration Unmarshaller - - - - - LifecycleRuleNoncurrentVersionTransition Unmarshaller - - - - - List AnalyticsConfiguration Request Marshaller - - - - - Response Unmarshaller for ListAnalyticsConfiguration operation - - - - - List InventoryConfiguration Request Marshaller - - - - - Response Unmarshaller for ListInventoryConfiguration operation - - - - - List Bucket MetricsConfigurationRequest Marshaller - - - - - Response Unmarshaller for ListBucketMetricsConfiguration operation - - - - - List Buckets Request Marshaller - - - - - Response Unmarshaller for ListBuckets operation - - - - - List Multipart Uploads Request Marshaller - - - - - Response Unmarshaller for ListMultipartUploads operation - - - - - List Objects Request Marshaller - - - - - Response Unmarshaller for ListObjects operation - - - - - List Objects Request Marshaller - - - - - Response Unmarshaller for ListObjects operation - - - - - List Parts Request Marshaller - - - - - Response Unmarshaller for ListParts operation - - - - - List Object Versions Request Marshaller - - - - - Response Unmarshaller for ListVersions operation - - - - - LoggingEnabled Unmarshaller - - - - - MetricsConfiguration Unmarshaller - - - - - MetricsFilte Unmarshaller - - - - - UploadsItem Unmarshaller - - - - - Owner Unmarshaller - - - - - PartsItem Unmarshaller - - - - - Put Object Acl Request Marshaller - - - - - Response Unmarshaller for PutObjectAcl operation - - - - - Put Object Acl Request Marshaller - - - - - Response Unmarshaller for PutBucketAccelerate operation - - - - - Request Marshaller for PutAnalyticsConfiguration operation - - - - - Response Unmarshaller for PutBucketAnalytics operation - - - - - Request Marshaller for PutInventoryConfiguration operation - - - - - Response Unmarshaller for PutBucketWebsite operation - - - - - Enable Bucket Logging Request Marshaller - - - - - Response Unmarshaller for PutBucketLogging operation - - - - - Put Bucket MetricsConfigurationRequest Marshaller - - - - - Response Unmarshaller for PutBucketMetricsConfiguration operation - - - - - Put Bucket Notification Request Marshaller - - - - - Response Unmarshaller for PutBucketNotification operation - - - - - Put Bucket Policy Request Marshaller - - - - - Response Unmarshaller for PutBucketPolicy operation - - - - - Put Buckeyt Replication Request Marshaller - - - - - Response Unmarshaller for PutBucketReplication operation. - - - - - Put Bucket Request Marshaller - - - - - Put Bucket Request Payment Request Marshaller - - - - - Response Unmarshaller for PutBucketRequestPayment operation - - - - - Response Unmarshaller for PutBucket operation - - - - - Put Bucket Tagging Request Marshaller - - - - - Response Unmarshaller for PutBucketTagging operation - - - - - Put Bucket Versioning Request Marshaller - - - - - Response Unmarshaller for PutBucketVersioning operation - - - - - Put Bucket Website Request Marshaller - - - - - Response Unmarshaller for PutBucketWebsite operation - - - - - Put Bucket Cors Request Marshaller - - - - - Response Unmarshaller for PutCORSConfiguration operation - - - - - Put Bucket Lifecycle Request Marshaller - - - - - Response Unmarshaller for PutLifecycleConfiguration operation - - - - - Put Object Request Marshaller - - - - - Response Unmarshaller for PutObject operation - - - - - Delete Object Tagging Request Marshaller - - - - - Marshall PutObjectTaggingRequest into an http request. - - - - - Marshall PutObjectTaggingRequest into an http request. - - - - - Response Unmarshaller for DeleteObjectTagging operation - - - - - Restore Object Request Marshaller - - - - - Response Unmarshaller for RestoreObject operation - - - - - Condition Unmarshaller - - - - - Redirect Unmarshaller - - - - - RoutingRule Unmarshaller - - - - - RulesItem Unmarshaller - - - - - Response Unmarshaller for all Errors - - - - - Build an S3ErrorResponse from XML - - The XML parsing context. - Usually an Amazon.Runtime.Internal.UnmarshallerContext. - An S3ErrorResponse object. - - - - Grant Unmarshaller - - - - - Class for unmarshalling S3 service responses - - - - - Specialized S3 unmarshaller context. - - - - - Wrap an XmlTextReader with state for event-based parsing of an XML stream. - - Stream with the XML from a service response. - If set to true, maintains a copy of the complete response body as the stream is being read. - Response data coming back from the request - - - - Reads to the next node in the XML document, and updates the context accordingly. - If node is RequestId, reads the contents and stores in RequestId property. - - - True if a node was read, false if there are no more elements to read./ - - - - - StorageClassAnalysisDataExportDataExportUnmarshaller - - - - - StorageClassAnalysisUnmarshaller - - - - - TaggedResource Unmarshaller - - - - - Tag Unmarshaller - - - - - TopicConfiguration Unmarshaller - - - - - Transition Unmarshaller - - - - - Upload Part Request Marshaller - - - - - Response Unmarshaller for UploadPart operation - - - - - VersionsItem Unmarshaller - - - - - Class for AnalyticsPrefixPredicate - The prefix used when evaluating a metrics filter. - - - - - Class for AnalyticsS3BucketDestination - - - - - The file format used when exporting data to Amazon S3. - - - - - The account ID that owns the destination bucket. If no account ID is provided, the owner will not be validated prior to exporting data. - - - - - The Amazon resource name (ARN) of the bucket to which data is exported. - - - - - The prefix to use when exporting data. The exported data begins with this prefix. - - - - - Class for MetricsTagPredicate - The tag used when evaluating a metrics filter. - - - - - This class represents the byte range for a range GET from S3. - - - - - Constructs a ByteRange and sets the start and end. - - - - - - - The starting byte number of the range - - - - - The ending byte number of the range - - - - - The formatted string representing the byte range to be set for the range header. - - - - - Container for the parameters to the CompleteMultipartUpload operation. - Completes a multipart upload by assembling previously uploaded parts. - - - - - The name of the bucketName containing the S3 object that was being uploaded in parts. - - - - - The key of the S3 object that was being uploaded. - - - - - A collection of part numbers and corresponding etags. - - - - - Adds a collection of part numbers and corresponding etags. - - PartETags that will added to this request. - - - - Adds a collection of part numbers and corresponding etags. - - PartETags that will added to this request. - - - - Adds a collection of part numbers and corresponding etags by transforming the UploadPartResponses into PartETags. - - The list of response objects return from UploadParts. - - - - Adds a collection of part numbers and corresponding etags by transforming the UploadPartResponses into PartETags. - - The list of response objects return from UploadParts. - - - - Adds a collection of part numbers and corresponding etags by transforming the CopyPartResponse into PartETags. - - The list of response objects return from CopyParts. - - - - Adds a collection of part numbers and corresponding etags by transforming the CopyPartResponse into PartETags. - - The list of response objects return from CopyParts. - - - - The upload id for the in-progress multipart upload that should be completed. - - - - - Confirms that the requester knows that she or he will be charged for the list objects request. - Bucket owners need not specify this parameter in their requests. - - - - - Checks to see if RequetsPayer is set. - - true, if RequestPayer property is set. - - - - Returns information about the CompleteMultipartUpload response and response metadata. - - - - - Gets and sets the URI that identifies the newly created object. - - - - - Gets and sets the name of the bucketName that contains the newly created object. - - - - - Gets and sets the object key of the newly created object. - - - - - Gets and sets Entity tag that identifies the newly created object's data. Objects with different - object data will have different entity tags. The entity tag is an opaque string. - - - - - Gets and sets the Expiration property. - Specifies the expiration date for the object and the - rule governing the expiration. - Is null if expiration is not applicable. - - - - - Gets and sets the ServerSideEncryptionMethod property. - Specifies the encryption used on the server to - store the content. - Default is None. - - - - - Gets and sets the VersionId property. - This is the version-id of the S3 object - - - - - The id of the AWS Key Management Service key that Amazon S3 uses to encrypt and decrypt the object. - - - - - Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - true if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - - - If present, indicates that the requester was successfully charged for the request. - - - - - Checks to see if RequestCharged is set. - - true, if RequestCharged property is set. - - - - Container for the parameters to the CopyObject operation. - Creates a copy of an object that is already stored in Amazon S3. - - - Container for the parameters to the CopyObject operation. - Creates a copy of an object that is already stored in Amazon S3. - - - - - The name of the bucket containing the object to copy. - - - - - Checks if SourceBucket property is set. - - true if SourceBucket property is set. - - - - The key of the object to copy. - - - - - Checks if SourceKey property is set. - - true if SourceKey property is set. - - - - Specifies a particular version of the source object to copy. By default the latest version is copied. - - - - - Checks if SourceVersionId property is set. - - true if SourceVersionId property is set. - - - - The name of the bucket to contain the copy of the source object. - - - - - Checks if DestinationBucket property is set. - - true if DestinationBucket property is set. - - - - The key to be given to the copy of the source object. - - - - - Checks if DestinationKey property is set. - - true if DestinationKey property is set. - - - - A canned access control list (CACL) to apply to the object. - Please refer to for - information on S3 Canned ACLs. - - - - - ETag to be matched as a pre-condition for copying the source object - otherwise returns a PreconditionFailed. - - - Copies the object if its entity tag (ETag) matches - the specified tag; otherwise return a 412 (precondition failed). - Constraints: This property can be used with IfUnmodifiedSince, - but cannot be used with other conditional copy properties. - - - - - Checks if ETagToMatch property is set. - - - Copies the object if its entity tag (ETag) is different - than the specified Etag; otherwise returns a 412 (failed condition). - Constraints: This header can be used with IfModifiedSince, but cannot - be used with other conditional copy properties. - - true if ETagToMatch property is set. - - - - ETag that must not be matched as a pre-condition for copying the source object, - otherwise returns a PreconditionFailed. - - - - - Checks if ETagToNotMatch property is set. - - true if ETagToNotMatch property is set. - - - - Copies the object if it has been modified since the specified time, otherwise returns a PreconditionFailed. - - - Copies the object if it has been modified since the - specified time; otherwise returns a 412 (failed condition). - Constraints: This property can be used with ETagToNotMatch, - but cannot be used with other conditional copy properties. - - - - - Checks if ModifiedSinceDate property is set. - - true if ModifiedSinceDate property is set. - - - - Copies the object if it has not been modified since the specified time, otherwise returns a PreconditionFailed. - - - Copies the object if it hasn't been modified since the - specified time; otherwise returns a 412 (precondition failed). - Constraints: This property can be used with ETagToMatch, - but cannot be used with other conditional copy properties. - - - - - Checks if UnmodifiedSinceDate property is set. - - true if UnmodifiedSinceDate property is set. - - - - Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request. - - - - - - The Server-side encryption algorithm used when storing this object in S3. - - - - - - The id of the AWS Key Management Service key that Amazon S3 should use to encrypt and decrypt the object. - If a key id is not specified, the default key will be used for encryption and decryption. - - - - - Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - true if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - - - The type of storage to use for the object. Defaults to 'STANDARD'. - - - - - - If the bucketName is configured as a website, redirects requests for this object to another object in the same bucketName or to an external URL. - Amazon S3 stores the value of this header in the object metadata. - - - - - - The collection of headers for the request. - - - - - The collection of meta data for the request. - - - - - This is a convenience property for Headers.ContentType. - - - - - The Server-side encryption algorithm to be used with the customer provided key. - - - - - - The base64-encoded encryption key for Amazon S3 to use to encrypt the object - - Using the encryption key you provide as part of your request Amazon S3 manages both the encryption, as it writes - to disks, and decryption, when you access your objects. Therefore, you don't need to maintain any data encryption code. The only - thing you do is manage the encryption keys you provide. - /// - When you retrieve an object, you must provide the same encryption key as part of your request. Amazon S3 first verifies - the encryption key you provided matches, and then decrypts the object before returning the object data to you. - - - Important: Amazon S3 does not store the encryption key you provide. - - - - - - Checks if ServerSideEncryptionCustomerProvidedKey property is set. - - true if ServerSideEncryptionCustomerProvidedKey property is set. - - - - The MD5 of the customer encryption key specified in the ServerSideEncryptionCustomerProvidedKey property. The MD5 is - base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set. - - - - - Checks if ServerSideEncryptionCustomerProvidedKeyMD5 property is set. - - true if ServerSideEncryptionCustomerProvidedKey property is set. - - - - The Server-side encryption algorithm to be used with the customer provided key. - - - - - - The customer provided encryption key for the source object of the copy. - - Important: Amazon S3 does not store the encryption key you provide. - - - - - - Checks if CopySourceServerSideEncryptionCustomerProvidedKey property is set. - - true if CopySourceServerSideEncryptionCustomerProvidedKey property is set. - - - - The MD5 of the customer encryption key specified in the CopySourceServerSideEncryptionCustomerProvidedKey property. The MD5 is - base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set. - - - - - Checks if CopySourceServerSideEncryptionCustomerProvidedKeyMD5 property is set. - - true if CopySourceServerSideEncryptionCustomerProvidedKey property is set. - - - - Confirms that the requester knows that she or he will be charged for the list objects request. - Bucket owners need not specify this parameter in their requests. - - - - - Checks to see if RequetsPayer is set. - - true, if RequestPayer property is set. - - - - The tag-set for the object destination object this value must be used in conjunction with the TaggingDirective. The tag-set must be encoded as URL Query parameters. - - - - - Checks if Tagging property is set - - true if Tagging is set. - - - - Overrides the default request timeout value. - - - - If the value is set, the value is assigned to the Timeout property of the HTTPWebRequest/HttpClient object used - to send requests. - - - Please specify a timeout value only if the operation will not complete within the default intervals - specified for an HttpWebRequest/HttpClient. - - - The timeout specified is null. - The timeout specified is less than or equal to zero and is not Infinite. - - - - - - Overrides the default ReadWriteTimeout value. - - - - If the value is set, the value is assigned to the ReadWriteTimeout property of the HTTPWebRequest/WebRequestHandler object used - to send requests. - - The timeout specified is null. - The timeout specified is less than or equal to zero and is not Infinite. - - - - - - - Returns information about the CopyObject response and response metadata. - - - - - Gets and sets the ETag property. - - - - - Gets and sets the LastModified property. - - - - - Gets and sets the Expiration property. - Specifies the expiration date for the object and the - rule governing the expiration. - Is null if expiration is not applicable. - - - - - Gets and sets the SourceVersionId property. - This is the Version Id of the Source Object - - - - - The Server-side encryption algorithm used when storing this object in S3. - - - - - - The id of the AWS Key Management Service key that Amazon S3 uses to encrypt and decrypt the object. - - - - - Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - true if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - - - If present, indicates that the requester was successfully charged for the request. - - - - - Checks to see if RequestCharged is set. - - true, if RequestCharged property is set. - - - - Container for the parameters to the CopyPart operation. - Uploads a part by copying data from an existing object as data source. - - - Container for the parameters to the CopyPart operation. - Uploads a part by copying data from an existing object as data source. - - - - - The name of the bucket containing the object to copy. - - - - - Checks if SourceBucket property is set. - - true if SourceBucket property is set. - - - - The key of the object to copy. - - - - - Checks if SourceKey property is set. - - true if SourceKey property is set. - - - - Specifies a particular version of the source object to copy. By default the latest version is copied. - - - - - Checks if SourceVersionId property is set. - - true if SourceVersionId property is set. - - - - The name of the bucket to contain the copy of the source object. - - - - - Checks if DestinationBucket property is set. - - true if DestinationBucket property is set. - - - - The key to be given to the copy of the source object. - - - - - Checks if DestinationKey property is set. - - true if DestinationKey property is set. - - - - The ID identifying multipart upload for which we are copying a part. - - - - - Checks if UploadId property is set. - - true if UploadId property is set. - - - - Collection of ETags to be matched as a pre-condition for copying the source object - otherwise returns a PreconditionFailed. - - - Copies the object if its entity tag (ETag) matches one of - the specified tags; otherwise return a 412 (precondition failed). - Constraints: This property can be used with IfUnmodifiedSince, - but cannot be used with other conditional copy properties. - - - - - Checks if ETagsToMatch property is set. - - true if ETagToMatch property is set. - - - - Collection of ETags that must not be matched as a pre-condition for copying the source object - otherwise returns a PreconditionFailed. - - - Copies the object if its entity tag (ETag) does not match any of the specified - tags; otherwise returns a 412 (failed condition). - Constraints: This header can be used with IfModifiedSince, but cannot - be used with other conditional copy properties. - - - - - Checks if ETagToNotMatch property is set. - - true if ETagToNotMatch property is set. - - - - Copies the object if it has been modified since the specified time, otherwise returns a PreconditionFailed. - - - Copies the object if it has been modified since the - specified time; otherwise returns a 412 (failed condition). - Constraints: This property can be used with ETagToNotMatch, - but cannot be used with other conditional copy properties. - - - - - Checks if ModifiedSinceDate property is set. - - true if ModifiedSinceDate property is set. - - - - Copies the object if it has not been modified since the specified time, otherwise returns a PreconditionFailed. - - - Copies the object if it hasn't been modified since the - specified time; otherwise returns a 412 (precondition failed). - Constraints: This property can be used with ETagToMatch, - but cannot be used with other conditional copy properties. - - - - - Checks if UnmodifiedSinceDate property is set. - - true if UnmodifiedSinceDate property is set. - - - - The number of the part to be copied. - - - Valid part numbers are from 1 to 10,000 inclusive and will uniquely identify the part - and determine the relative ordering within the destination object. If a part already - exists with the PartNumber it will be overwritten. - - - - - Checks if PartNumber property is set. - - true if PartNumber property is set. - - - - The location of the first byte in the range if only a portion of the - source object is to be copied as the part. - - - The LastByte property must also be set or this value will be ignored. - - - - - Checks if FirstByte property is set. - - true if FirstByte property is set. - - - - The location of the last byte in the range if only a portion of the - source object is to be copied as the part. - - - The FirstByte property must also be set or this value will be ignored. - - - - - Checks if LastByte property is set. - - true if LastByte property is set. - - - - - Specifies the encryption to be used on the server for the new object. - - - Default: None - - - - - - Checks if ServerSideEncryptionMethod property is set. - - true if ServerSideEncryptionMethod property is set. - - - - The Server-side encryption algorithm to be used with the customer provided key. - - - - - - The base64-encoded encryption key for Amazon S3 to use to encrypt the object - - Using the encryption key you provide as part of your request Amazon S3 manages both the encryption, as it writes - to disks, and decryption, when you access your objects. Therefore, you don't need to maintain any data encryption code. The only - thing you do is manage the encryption keys you provide. - - - When you retrieve an object, you must provide the same encryption key as part of your request. Amazon S3 first verifies - the encryption key you provided matches, and then decrypts the object before returning the object data to you. - - - Important: Amazon S3 does not store the encryption key you provide. - - - - - - Checks if ServerSideEncryptionCustomerProvidedKey property is set. - - true if ServerSideEncryptionCustomerProvidedKey property is set. - - - - The MD5 of the customer encryption key specified in the ServerSideEncryptionCustomerProvidedKey property. The MD5 is - base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set. - - - - - Checks if ServerSideEncryptionCustomerProvidedKeyMD5 property is set. - - true if ServerSideEncryptionCustomerProvidedKey property is set. - - - - The id of the AWS Key Management Service key that Amazon S3 should use to encrypt and decrypt the object. - If a key id is not specified, the default key will be used for encryption and decryption. - - - - - Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - true if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - - - The Server-side encryption algorithm to be used with the customer provided key. - - - - - - The customer provided encryption key for the source object of the copy. - - Important: Amazon S3 does not store the encryption key you provide. - - - - - - Checks if CopySourceServerSideEncryptionCustomerProvidedKey property is set. - - true if CopySourceServerSideEncryptionCustomerProvidedKey property is set. - - - - The MD5 of the customer encryption key specified in the CopySourceServerSideEncryptionCustomerProvidedKey property. The MD5 is - base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set. - - - - - Checks if CopySourceServerSideEncryptionCustomerProvidedKeyMD5 property is set. - - true if CopySourceServerSideEncryptionCustomerProvidedKey property is set. - - - - Overrides the default request timeout value. - - - - If the value is set, the value is assigned to the Timeout property of the HTTPWebRequest/HttpClient object used - to send requests. - - - Please specify a timeout value only if the operation will not complete within the default intervals - specified for an HttpWebRequest/HttpClient. - - - The timeout specified is null. - The timeout specified is less than or equal to zero and is not Infinite. - - - - - - Overrides the default ReadWriteTimeout value. - - - - If the value is set, the value is assigned to the ReadWriteTimeout property of the HTTPWebRequest/WebRequestHandler object used - to send requests. - - The timeout specified is null. - The timeout specified is less than or equal to zero and is not Infinite. - - - - - - - Returns information about the CopyPart response and response metadata. - - - - - The version of the source object that was copied, if you have enabled versioning on the source bucketName. - - - - - - Entity tag of the object. - - - - - - Date and time at which the object was uploaded. - - - - - - The Server-side encryption algorithm used when storing this object in S3. - - - - - - Gets and sets the PartNumber property. - This is the part number in it's multi-part upload that will uniquely identify the part - and determine the relative ordering within the destination object. - - - - - The id of the AWS Key Management Service key that Amazon S3 uses to encrypt and decrypt the object. - - - - - Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - true if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - - - A collection of up to 100 cross-origin resource sharing (CORS) rules. - - - - - The collection of rules in this configuration. - - - - C O R S Rule - - - - - Identifies HTTP methods that the domain/origin specified in the rule is allowed to execute. - - - - - - One or more origins you want customers to be able to access the bucket from. - - - - - - An optional unique identifier for the rule. - - - The ID value can be up to 255 characters long. The IDs help you find a rule in the configuration. - - - - - Checks if Id property is set. - - true if Id property is set. - - - - One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript - XMLHttpRequest object). - - - - - - The time in seconds that your browser is to cache the preflight response for the specified resource. - - - - - - Specifies which headers are allowed in a pre-flight OPTIONS request through the - Access-Control-Request-Headers header. - - - Each header name specified in the Access-Control-Request-Headers must have a corresponding - entry in the rule. Only the headers that were requested will be sent back. - This element can contain at most one * wildcard character. - - - - - Checks if AllowedHeaders property is set. - - true if AllowedHeaders property is set. - - - - Container for the parameters to the DeleteBucketAnalyticsConfiguration operation. - Deletes an analytics configuration for the bucket (specified by the analytics configuration ID). - - - - - The name of the bucket from which an analytics configuration is deleted. - - - - - The identifier used to represent an analytics configuration. - - - - - Returns information about the DeleteBucketAnalyticsConfiguration response metadata. - The DeleteBucketAnalyticsConfiguration operation has a void result type. - - - - - Container for the parameters to the DeleteInventoryConfiguration operation. - Deletes an inventory configuration (identified by the inventory ID) from the bucket. - - - - - The name of the bucket containing the inventory configuration to delete. - - - - - The ID used to identify the inventory configuration. - - - - - Returns information about the DeleteInventoryConfiguration response metadata. - The DeleteInventoryConfiguration operation has a void result type. - - - - - Container for the parameters to the DeleteBucketMetricsConfiguration operation. - Deletes a metrics configuration (specified by the metrics configuration ID) from the bucket. - - - - - The name of the bucket on which Inventory configuration is to be removed. - - - - - The ID used to identify the metrics configuration. - - - - - Returns information about the DeleteBucketMetricsConfiguration response metadata. - The DeleteBucketMetricsConfiguration operation has a void result type. - - - - - Container for the parameters to the DeleteBucketPolicy operation. - Deletes the policy from the bucket. - - - - - The bucket on which the policy is to be deleted. - - - - - Returns information about the DeleteBucketPolicy response metadata. - The DeleteBucketPolicy operation has a void result type. - - - - - Request object for the DeleteBucketReplication operation. - - - - - The bucket on which the replication is to be deleted. - - - - - Returns information about the DeleteBucketReplication response metadata. - The DeleteBucketReplication operation has a void result type. - - - - - Container for the parameters to the DeleteBucket operation. - Deletes the bucket. All objects (including all object versions and Delete Markers) in the bucket must be deleted before the bucket - itself can be deleted. - - - - - The name of the bucket to be created. - - - - - The region locality for the bucket. - - - When set, this will determine the region the bucket exists in. - Refer - for a list of possible values. - - - - - If set to true the bucket will be deleted in the same region as the configuration of the AmazonS3 client. - DeleteBucketRequest.BucketRegion takes precedence over this property if both are set. - Default: true. - - - - - Returns information about the DeleteBucket response metadata. - The DeleteBucket operation has a void result type. - - - - - The parameters to request deletion of a tag set from a bucket. - - - To use this operation, you must have permission to perform the s3:PutBucketTagging action. - By default, the bucket owner has this permission and can grant this permission to others. - - - - - The name of the bucket on which the tag set is to be removed. - - - - - Returns information about the DeleteBucketTagging response metadata. - The DeleteBucketTagging operation has a void result type. - - - - - Container for the parameters to the DeleteBucketWebsite operation. - This operation removes the website configuration from the bucket. - - - - - The name of the bucket on which website configuration is to be removed. - - - - - Returns information about the DeleteBucketWebsite response metadata. - The DeleteBucketWebsite operation has a void result type. - - - - - Container for the parameters to the DeleteCORSConfiguration operation. - Deletes the cors configuration information set for the bucket. - - - - - Gets and sets the BucketName property. - - - - - Returns information about the DeleteCORSConfiguration response metadata. - The DeleteCORSConfiguration operation has a void result type. - - - - - Contains information about a successful delete operation against a specific S3 object. - - - - - Specifies whether the versioned object that was permanently deleted was (true) or was not (false) a - delete marker. In a simple DELETE, this header indicates whether (true) or not (false) a delete - marker was created. - - - - - The version ID of the delete marker created as a result of the DELETE operation. If you delete a - specific object version, the value returned by this header is the version ID of the object version - deleted. - - - - - The key of the deleted S3 object. - - - - - The version of the deleted S3 object. - - - - - Contains information about a failed delete operation against a specific S3 object. - - - - - The key of the S3 object. - - - - - The version of the S3 object. - - - - - The failure code for the delete error. - - - - - The failure message for the delete error. - - - - - The parameters to request deletion of the lifecycle configuration on a bucket. - - - - Amazon S3 removes all the lifecycle configuration rules in the lifecycle subresource associated with the bucket. - Your objects never expire, and Amazon S3 no longer automatically deletes any objects on the basis of rules contained - in the deleted lifecycle configuration. - - - To use this operation, you must have permission to perform the s3:PutLifecycleConfiguration action. By default, the - bucket owner has this permission and the bucket owner can grant this permission to others. - - - There is usually some time lag before lifecycle configuration deletion is fully propagated to all the Amazon S3 systems. - - - - - - The name of the bucket on which the lifecycle configuration is to be deleted. - - - - - Returns information about the DeleteLifecycleConfiguration response metadata. - The DeleteLifecycleConfiguration operation has a void result type. - - - - - The parameters to request deletion of an object in a bucket. - The operation removes the null version (if there is one) of an object and inserts a delete marker, which - becomes the latest version of the object. - - - - To remove a specific version, you must be the bucket owner and you must use the versionId subresource. - Using this subresource permanently deletes the version. - - - If the object you want to delete is in a bucket where the bucket versioning configuration is MFA Delete enabled, - you must include specify the MFA serial number and value in the request. - - - If there isn't a null version, Amazon S3 does not remove any objects. - - - - - - The name of the bucket containing the object to delete. - - - - - The key identifying the object to delete. - - - - - The identifier for the specific version of the object to be deleted, if required. - - - - - Checks if VersionId property is set. - - true if VersionId property is set. - - - - The MfaCodes Tuple associates the Serial Number and the current Token/Code displayed on the - Multi-Factor Authentication device associated with your AWS Account. - - - This is a required property for this request if:
- 1. EnableMfaDelete was configured on the bucket - containing this object's version.
- 2. You are deleting an object's version -
-
- - - Checks if the MfaCodes property is set. - - true if the MfaCodes property is set. - - - - Confirms that the requester knows that she or he will be charged for the list objects request. - Bucket owners need not specify this parameter in their requests. - - - - - Checks to see if RequetsPayer is set. - - true, if RequestPayer property is set. - - - - Returns information about the DeleteObject response and response metadata. - - - - - Specifies whether the versioned object that was permanently deleted was (true) or was not (false) a delete marker. - - - - - - Returns the version ID of the delete marker created as a result of the DELETE operation. - - - - - - If present, indicates that the requester was successfully charged for the request. - - - - - Checks to see if RequestCharged is set. - - true, if RequestCharged property is set. - - - - Container for the parameters to the DeleteObjects operation. - This operation enables you to delete multiple objects from a bucket using a single HTTP request. You may specify up to 1000 - keys. - - - Container for the parameters to the DeleteObjects operation. - This operation enables you to delete multiple objects from a bucket using a single HTTP request. You may specify up to 1000 - keys. - - - - - The name of the bucket containing the objects to be deleted. - - - - - List of object keys to delete. - - - - - Toggles between Quiet and Verbose mode for the operation. - If set to true (Quiet mode), the response includes only those keys for objects on which - the delete operation failed. - - - By default this property is false and keys for both successful deletes - and failures are returned in the response. - - - - - The MfaCodes Tuple associates the Serial Number and the current Token/Code displayed on the - Multi-Factor Authentication device associated with your AWS Account. - - - This is a required property for this request if:
- 1. EnableMfaDelete was configured on the bucket - containing this object's version.
- 2. You are deleting an object's version -
-
- - - Checks if the MfaCodes property is set. - - true if the MfaCodes property is set. - - - - Confirms that the requester knows that she or he will be charged for the list objects request. - Bucket owners need not specify this parameter in their requests. - - - - - Checks to see if RequetsPayer is set. - - true, if RequestPayer property is set. - - - - Add a key to the set of keys of objects to be deleted. - - Object key - - - - Add a key and a version to be deleted. - - Key of the object to be deleted. - Version of the object to be deleted. - - - - Add a KeyVersion object representing the S3 object to be deleted. - - KeyVersion representation of object to be deleted. - - - - Returns information about the DeleteObjects response and response metadata. - - - - - A default constructor for DeleteObjectsResponse - - - - - Gets and sets the DeletedObjects property. - A list of successful deletes. - Set only when Quiet=false on DeleteObjectsRequest. - - - - - Gets and sets the DeleteErrors property. - A list of errors encountered while deleting objects. - - - - - If present, indicates that the requester was successfully charged for the request. - - - - - Checks to see if RequestCharged is set. - - true, if RequestCharged property is set. - - - - Sets the with information about DeleteObjectsResponse - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - - Sets the with information about the DeleteObjectsResponse. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - - Container for the parameters to the DeleteObjectTaggingRequest operation. - - - - - The name of the bucket containing the object tagging to delete. - - - - - Check to see if Bucket property is set - - - - - The key identifying the object tagging to delete. - - - - - Check to see if Key property is set - - - - - The identifier for the specific version of the object to be deleted, if required. - - - - - Checks if VersionId property is set. - - true if VersionId property is set. - - - - Returns information about the DeleteObjectTagging response and response metadata. - - - - - Returns the version ID of the delete marker created as a result of the DELETE operation. - - - - - Check to see if VersionId property is set - - - - - Defines the expiration policy for a given object. - - - - - The date and time for expiry. - - - - - Id of the configuration rule for this expiry. - - - - - Constructs an empty instance of an Expiration object - - - - Bucket - Represents a set of filter criteria that limits the objects that can trigger event notifications - - - - - Filter criteria that limits the objects that can trigger event notifications based on their S3 Key name. - - - - - Bucket - Represents a Filter Rule for a NotificationConfiguration. - - - - - Constructs an empty FilterRule. - - - - - Constructs a FilterRule with a specific name and value. - - - - - - - The name of the filter rule. - - - - - The value of the filter rule. - - - - - Container for the parameters to the GetACL operation. - Returns the access control list (ACL) of an object. - - - - - The name of the bucket to be queried or containing the object to be queried. - - - - - The key of the S3 object to be queried. - - - - - VersionId used to reference a specific version of the object. - - - - - Returns information about the GetACL response and response metadata. - - - - - Gets and sets the AccessControlList property. - - - - - Container for the parameters to the GetBucketAccelerateConfiguration operation. - - - - - The name of the bucket. - - - - - The response class for GetBucketAccelerateConfiguration operation. - - - - - The accelerate status of the bucket. - - - - - Container for the parameters to the GetBucketAnalyticsConfiguration operation. - Gets an analytics configuration for the bucket (specified by the analytics configuration ID). - - - - - The name of the bucket from which an analytics configuration is retrieved. - - - - - The identifier used to represent an analytics configuration. - - - - - GetBucketAnalyticsConfigurationResponse Response - - - - - The configuration and any analyses for the analytics filter. - - - - - Container for the parameters to the GetInventoryConfigurationRequest operation. - Returns an inventory configuration (identified by the inventory ID) from the bucket. - - - - - The name of the bucket containing the inventory configuration to retrieve. - - - - - The ID used to identify the inventory configuration. - - - - - GetInventoryConfigurationResponse Response - - - - - Specifies the inventory configuration. - - - - - Container for the parameters to the GetBucketLocation operation. - Returns the region the bucket resides in. - - - - - Gets and sets the BucketName. - - - - - Returns information about the GetBucketLocation response and response metadata. - - - - - Gets and sets the Location property. - If the the bucket is located in us-east-1 S3Region.US will be return which has a - value of empty string. - - - - - Container for the parameters to the GetBucketLogging operation. - Returns the logging status of a bucket and the permissions users have to view and modify that status. To use GET, you must be the - bucket owner. - - - - - The name of the bucket to query. - - - - - Returns information about the GetBucketLogging response and response metadata. - - - - - Gets and sets the LoggingConfig property. - - - - - Container for the parameters to the GetBucketMetricsConfiguration operation. - Gets a metrics configuration (specified by the metrics configuration ID) from the bucket. - - - - - The name of the bucket containing the metrics configuration to retrieve. - - - - - The ID used to identify the metrics configuration. - - - - - GetBucketMetricsConfiguration Response - - - - - Specifies the metrics configuration. - - - - - Container for the parameters to the GetBucketNotification operation. - Return the notification configuration of a bucket. - - - - - Gets and sets the BucketName. - - - - - Returns information about the GetBucketNotification response and response metadata. - - - - - Gets and sets the TopicConfigurations property. TopicConfigurations are configuration - for Amazon S3 events to be sent to Amazon SNS topics. - - - - - Gets and sets the QueueConfigurations property. QueueConfigurations are configuration - for Amazon S3 events to be sent to Amazon SQS queues. - - - - - Gets and sets the LambdaFunctionConfigurations property. LambdaFunctionConfigurations are configuration - for Amazon S3 events to be sent to an Amazon Lambda cloud function. - - - - - Container for the parameters to the GetBucketPolicy operation. - Returns the policy of a specified bucket. - - - - - The name of the bucket. - - - - - Get BucketName Policy Response - - - - - The bucket policy as a JSON document. - - - - - Container for the parameters to the GetBucketReplicationConfiguration operation. - Returns the replication configuration information set on the bucket. - - - - - Gets and sets the BucketName. - - - - - Returns information about the GetReplicationConfiguration response and response metadata. - - - - - The replication configuration for the buccket specified in the request. - - - - - Container for the parameters to the GetBucketRequestPayment operation. - Returns the request payment configuration of a bucket. - - - - - The name of the bucket. - - - - - Returns information about the GetBucketRequestPayment response and response metadata. - - - - - Specifies who pays for the download and request fees. - - - - - - Container for the parameters to the GetBucketTagging operation. - Returns the tag set associated with the bucket. - - - - - The name of the bucket to be queried. - - - - - Returns information about the GetBucketTagging response and response metadata. - - - - - The collection of tags. - - - - - Container for the parameters to the GetBucketVersioning operation. - Returns the versioning state of a bucket. - - - - - The name of the bucket to be queried. - - - - - Returns information about the GetBucketVersioning response and response metadata. - - - - - Gets and sets the Versioning property. - Unless Versioning has been explicitly "Enabled" on a bucket, - Versioning Status is "Off". Once Versioning has been - "Enabled", it can be "Suspended" but cannot be switched "Off". - - - - - Container for the parameters to the GetBucketWebsite operation. - Returns the website configuration for a bucket. - - - - - The name of the bucket to be queried. - - - - - Returns information about the GetBucketWebsite response and response metadata. - - - - - Gets and sets the WebsiteConfiguration property. - - This is where the index document suffix and custom error page are defined. - - - - - Container for the parameters to the GetBucketCors operation. - Returns the cors configuration for the bucket. - - - - - Gets and sets the BucketName. - - - - - Returns information about the GetBucketCors response and response metadata. - - - - - The current CORSConfiguration for the bucket. - - - - - Container for the parameters to the GetLifecycleConfiguration operation. - Returns the lifecycle configuration information set on the bucket. - - - - - Gets and sets the BucketName. - - - - - Returns information about the GetLifecycleConfiguration response and response metadata. - - - - - Gets and Sets the property that governs whether - the response includes successful deletes as well as errors - following the DeleteObjects call against S3. - - By default this property is false and successful deletes - are returned in the response. - - - - - Container for the parameters to the HeadObject operation. - The HEAD operation retrieves metadata from an object without returning the object itself. This operation is useful if you''re only - interested in an object''s metadata. To use HEAD, you must have READ access to the object. - - - - - The name of the bucket that contains the object. - - - - - ETag to be matched as a pre-condition for returning the object, - otherwise a PreconditionFailed signal is returned. - - - - - Returns the object only if it has been modified since the specified time, - otherwise returns a PreconditionFailed. - - - - - ETag that should not be matched as a pre-condition for returning the object, - otherwise a PreconditionFailed signal is returned. - - - - - Returns the object only if it has not been modified since the specified time, - otherwise returns a PreconditionFailed. - - - - - The key of the object. - - - - - VersionId used to reference a specific version of the object. - - - - - - The Server-side encryption algorithm to be used with the customer provided key. - - - - - - The base64-encoded encryption key for Amazon S3 to use to decrypt the object - - Using the encryption key you provide as part of your request Amazon S3 manages both the encryption, as it writes - to disks, and decryption, when you access your objects. Therefore, you don't need to maintain any data encryption code. The only - thing you do is manage the encryption keys you provide. - - - When you retrieve an object, you must provide the same encryption key as part of your request. Amazon S3 first verifies - the encryption key you provided matches, and then decrypts the object before returning the object data to you. - - - Important: Amazon S3 does not store the encryption key you provide. - - - - - - Checks if ServerSideEncryptionCustomerProvidedKey property is set. - - true if ServerSideEncryptionCustomerProvidedKey property is set. - - - - The MD5 of the customer encryption key specified in the ServerSideEncryptionCustomerProvidedKey property. The MD5 is - base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set. - - - - - Checks if ServerSideEncryptionCustomerProvidedKeyMD5 property is set. - - true if ServerSideEncryptionCustomerProvidedKey property is set. - - - - Part number of the object being read. This is a positive integer between 1 and 10,000. - Effectively performs a 'ranged' HEAD request for the part specified. - Useful querying about the size of the part and the number of parts in this object. - - - - - Check if PartNumber property is set. - - true if PartNumber property is set. - - - - Confirms that the requester knows that she or he will be charged for the list objects request. - Bucket owners need not specify this parameter in their requests. - - - - - Checks to see if RequetsPayer is set. - - true, if RequestPayer property is set. - - - - Returns information about the HeadObject response and response metadata. - - - - - Flag which returns true if the Expires property has been unmarshalled - from the raw value or set by user code. - - - - - The collection of headers for the request. - - - - - The collection of meta data for the request. - - - - - Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the - response. - - - - - - Gets and sets the AcceptRanges. - - - - - Gets and sets the Expiration property. - Specifies the expiration date for the object and the - rule governing the expiration. - Is null if expiration is not applicable. - - - - - Gets and sets the RestoreExpiration property. - RestoreExpiration will be set for objects that have been restored from Amazon Glacier. - It indiciates for those objects how long the restored object will exist. - - - - - Gets and sets the RestoreInProgress - Will be true when the object is in the process of being restored from Amazon Glacier. - - - - - Last modified date of the object - - - - - - An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL - - - - - - This is set to the number of metadata entries not returned in x-amz-meta headers. This can happen if you create metadata using an API like - SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal - HTTP headers. - - - - - - Version of the object. - - - - - - The date and time at which the object is no longer cacheable. - - - - - - If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. - Amazon S3 stores the value of this header in the object metadata. - - - - - - The Server-side encryption algorithm used when storing this object in S3. - - - - - - The Server-side encryption algorithm to be used with the customer provided key. - - - - - - The id of the AWS Key Management Service key that Amazon S3 uses to encrypt and decrypt the object. - - - - - Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - true if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - - - The status of the replication job associated with this source object. - - - - - Checks if ReplicationStatus property is set. - - true if ReplicationStatus property is set. - - - - The count of parts this object has. - - - - - The class of storage used to store the object. - - - - - - If present, indicates that the requester was successfully charged for the request. - - - - - Checks to see if RequestCharged is set. - - true, if RequestCharged property is set. - - - - Container for the parameters to the GetObject operation. - Retrieves objects from Amazon S3. - - - - - The name of the bucket containing the object. - - - - - ETag to be matched as a pre-condition for returning the object, - otherwise a PreconditionFailed signal is returned. - - - - - Returns the object only if it has been modified since the specified time, - otherwise returns a PreconditionFailed. - - - - - ETag that should not be matched as a pre-condition for returning the object, - otherwise a PreconditionFailed signal is returned. - - - - - Returns the object only if it has not been modified since the specified time, - otherwise returns a PreconditionFailed. - - - - - Gets and sets the Key property. This is the user defined key that identifies the object in the bucket. - - - - - Downloads the specified range bytes of an object. - - - - - A set of response headers that should be returned with the object. - - - - - Sets the Expires header of the response. - - - - - - VersionId used to reference a specific version of the object. - - - - - - The Server-side encryption algorithm to be used with the customer provided key. - - - - - - The base64-encoded encryption key for Amazon S3 to use to decrypt the object - - Using the encryption key you provide as part of your request Amazon S3 manages both the encryption, as it writes - to disks, and decryption, when you access your objects. Therefore, you don't need to maintain any data encryption code. The only - thing you do is manage the encryption keys you provide. - - - When you retrieve an object, you must provide the same encryption key as part of your request. Amazon S3 first verifies - the encryption key you provided matches, and then decrypts the object before returning the object data to you. - - - Important: Amazon S3 does not store the encryption key you provide. - - - - - - Checks if ServerSideEncryptionCustomerProvidedKey property is set. - - true if ServerSideEncryptionCustomerProvidedKey property is set. - - - - The MD5 of the customer encryption key specified in the ServerSideEncryptionCustomerProvidedKey property. The MD5 is - base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set. - - - - - Checks if ServerSideEncryptionCustomerProvidedKeyMD5 property is set. - - true if ServerSideEncryptionCustomerProvidedKey property is set. - - - - Part number of the object being read. This is a positive integer between 1 and 10,000. - Effectively performs a 'ranged' GET request for the part specified. Useful for downloading just a part of an object. - - - - - Checks if PartNumber property is set. - - true if PartNumber property is set. - - - - Confirms that the requester knows that she or he will be charged for the list objects request. - Bucket owners need not specify this parameter in their requests. - - - - - Checks to see if RequetsPayer is set. - - true, if RequestPayer property is set. - - - - Returns information about the GetObject response and response metadata. - - - - - Flag which returns true if the Expires property has been unmarshalled - from the raw value or set by user code. - - - - - Gets and sets the BucketName property. - - - - - Gets and sets the Key property. - - - - - Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the - response. - - - - - - The collection of headers for the request. - - - - - The collection of meta data for the request. - - - - - Gets and sets the AcceptRanges. - - - - - Gets and sets the Expiration property. - Specifies the expiration date for the object and the - rule governing the expiration. - Is null if expiration is not applicable. - - - - - Gets and sets the RestoreExpiration property. - RestoreExpiration will be set for objects that have been restored from Amazon Glacier. - It indiciates for those objects how long the restored object will exist. - - - - - Gets and sets the RestoreInProgress - Will be true when the object is in the process of being restored from Amazon Glacier. - - - - - Last modified date of the object - - - - - - An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL - - - - - - This is set to the number of metadata entries not returned in x-amz-meta headers. This can happen if you create metadata using an API like - SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal - HTTP headers. - - - - - - Version of the object. - - - - - - The date and time at which the object is no longer cacheable. - - - - - - If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. - Amazon S3 stores the value of this header in the object metadata. - - - - - - The Server-side encryption algorithm used when storing this object in S3. - - - - - - The class of storage used to store the object. - - - - - - The id of the AWS Key Management Service key that Amazon S3 uses to encrypt and decrypt the object. - - - - - Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - true if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - - - The status of the replication job associated with this source object. - - - - - Checks if ReplicationStatus property is set. - - true if ReplicationStatus property is set. - - - - The number of parts this oject has. - - - - - Checks if PartsCount is set. - - true if PartsCount property is set. - - - - The Server-side encryption algorithm to be used with the customer provided key. - - - - - - If present, indicates that the requester was successfully charged for the request. - - - - - Checks to see if RequestCharged is set. - - true, if RequestCharged property is set. - - - - The number of tags, if any, on the object. - - - - - Writes the content of the ResponseStream a file indicated by the filePath argument. - - The location where to write the ResponseStream - - - - Writes the content of the ResponseStream a file indicated by the filePath argument. - - The location where to write the ResponseStream - Whether or not to append to the file if it exists - - - - The event for Write Object progress notifications. All - subscribers will be notified when a new progress - event is raised. - - - Subscribe to this event if you want to receive - put object progress notifications. Here is how:
- 1. Define a method with a signature similar to this one: - - private void displayProgress(object sender, WriteObjectProgressArgs args) - { - Console.WriteLine(args); - } - - 2. Add this method to the Put Object Progress Event delegate's invocation list - - GetObjectResponse response = s3Client.GetObject(request); - response.WriteObjectProgressEvent += displayProgress; - -
-
- - - This method is called by a producer of write object progress - notifications. When called, all the subscribers in the - invocation list will be called sequentially. - - The file being written. - The number of bytes transferred since last event - The number of bytes transferred - The total number of bytes to be transferred - - - - Writes the content of the ResponseStream a file indicated by the filePath argument. - - The location where to write the ResponseStream - Whether or not to append to the file if it exists - Cancellation token which can be used to cancel this operation. - - - - Encapsulates the information needed to provide - download progress for the Write Object Event. - - - - - The constructor takes the number of - currently transferred bytes and the - total number of bytes to be transferred - - The bucket name for the S3 object being written. - The object key for the S3 object being written. - The version-id of the S3 object. - The number of bytes transferred since last event - The number of bytes transferred - The total number of bytes to be transferred - - - - The constructor takes the number of - currently transferred bytes and the - total number of bytes to be transferred - - The bucket name for the S3 object being written. - The object key for the S3 object being written. - The file for the S3 object being written. - The version-id of the S3 object. - The number of bytes transferred since last event - The number of bytes transferred - The total number of bytes to be transferred - - - - Gets the bucket name for the S3 object being written. - - - - - Gets the object key for the S3 object being written. - - - - - Gets the version-id of the S3 object. - - - - - The file for the S3 object being written. - - - - - Container for the parameters to the GetObjectTaggingRequest operation. - - - - - The name of the bucket containing the object tagging. - - - - - Check to see if Bucket property is set - - - - - Gets and sets the Key property. This is the user defined key that identifies the object in the bucket. - - - - - Check to see if Key property is set - - - - - VersionId used to reference a specific version of the object. - - - - - - Returns information about the GetObjectTagging response and response metadata. - - - - - Gets or sets tag-set for a given object - - - - - Container for the parameters to the GetObjectTorrent operation. - Return torrent files from a bucket. - - - - - The name of the bucket containing the object. - - - - - The key identifying the object. - - - - - Confirms that the requester knows that she or he will be charged for the list objects request. - Bucket owners need not specify this parameter in their requests. - - - - - Checks to see if RequetsPayer is set. - - true, if RequestPayer property is set. - - - - Returns information about the GetObjectTorrent response and response metadata. - - - - - If present, indicates that the requester was successfully charged for the request. - - - - - Checks to see if RequestCharged is set. - - true, if RequestCharged property is set. - - - - The parameters to create a pre-signed URL to a bucket or object. - - - For more information, refer to: . -
Required Parameters: BucketName, Expires -
Optional Parameters: Key, VersionId, Verb: default is GET -
-
- - - The name of the bucket to create a pre-signed url to, or containing the object. - - - - - Checks if BucketName property is set. - - true if BucketName property is set. - - - - The key to the object for which a pre-signed url should be created. - - - - - Checks if Key property is set. - - true if Key property is set. - - - - A standard MIME type describing the format of the object data. - - - - The content type for the content being uploaded. This property defaults to "binary/octet-stream". - For more information, refer to: . - - - Note that if content type is specified, it should also be included in the HttpRequest headers - of the eventual upload request, otherwise a signature error may result. - - - - - - The expiry date and time for the pre-signed url. - - - - - Checks if Expires property is set. - - true if Expires property is set. - - - - The requested protocol (http/https) for the pre-signed url. - - - Defaults to https. - - - - - The verb for the pre-signed url. - - - Accepted verbs are GET, PUT, DELETE and HEAD. - Default is GET. - - - - - Version id for the object that the pre-signed url will reference. If not set, - the url will reference the latest version of the object. - - - This is the VersionId for the S3 Object you want to get - a PreSigned URL for. The VersionId property will be ignored - for PreSigned "PUT" requests and for requests that don't specify - the Key property. - - - - - Checks if VersionId property is set. - - true if VersionId property is set. - - - - Specifies the encryption used on the server to store the content. - - - - Default is None. - - - If specifying encryption (not None), the corresponding request must include header - "x-amz-server-side-encryption" with the value of the encryption. - - - - - - The id of the AWS Key Management Service key that Amazon S3 should use to encrypt and decrypt the object. - If a key id is not specified, the default key will be used for encryption and decryption. - - - - - Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - true if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - - - The Server-side encryption algorithm to be used with the customer provided key. - - - - - - A set of response headers that should be returned with the pre-signed url creation response. - - - - - The collection of headers for the request. - - - - - The collection of meta data for the request. - - - - - Container for the parameters to the HeadBucket operation. - This operation is useful to determine if a bucket exists and you have permission to access it. - - - - - Returns information about the HeadBucket response metadata. - The HeadBucket operation has a void result type. - - - - - This class contains the headers for an S3 object. - - - - - Gets and sets headers to set for the object. - - The name of the header - The value for the header - - - - Gets the count of headers. - - - - - Gets the names of the headers set. - - - - - Specifies caching behavior along the request/reply chain. - - - - - - Specifies presentational information for the object. - - - - - - Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type - referenced by the Content-Type header field. - - - - - - The size of the object, in bytes. - - - - - The base64-encoded 128-bit MD5 digest of the message (without the headers) according to RFC 1864. This - header can be used as a message integrity check to verify that the data is the same data that was originally sent. - - - - - A standard MIME type describing the format of the object data. - - - - - - The date and time at which the object is no longer cacheable. - - - - - - Container for the parameters to the InitiateMultipartUpload operation. - Initiates a multipart upload and returns an upload ID. - - - - - Symmetric Envelope Key to Encrypt data - - - - - Initialization Vector for encryption - - - - - A canned access control list (ACL) to apply to the object. - Please refer to for information on S3 Canned ACLs. - - - - - The name of the bucketName where the new object will be created, or existing object updated. - - - - - The key of the object to create or update. - - - - - StorageClass property for the object. - - - Default: S3StorageClass.Standard. Set this property - only if you want reduced redundancy for this object. - Please refer to - for - information on S3 Storage Classes. - - - - - If the bucketName is configured as a website, redirects requests for this object to another object in the same bucketName or to an external URL. - Amazon S3 stores the value of this header in the object metadata. - - - - - - The collection of headers for the request. - - - - - The collection of meta data for the request. - - - - - This is a convenience property for Headers.ContentType. - - - - - - Specifies the encryption to be used on the server for the new object. - - - - - - The id of the AWS Key Management Service key that Amazon S3 should use to encrypt and decrypt the object. - If a key id is not specified, the default key will be used for encryption and decryption. - - - - - Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - true if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - - - The Server-side encryption algorithm to be used with the customer provided key. - - - - - - The base64-encoded encryption key for Amazon S3 to use to encrypt the object - - Using the encryption key you provide as part of your request Amazon S3 manages both the encryption, as it writes - to disks, and decryption, when you access your objects. Therefore, you don't need to maintain any data encryption code. The only - thing you do is manage the encryption keys you provide. - - - When you retrieve an object, you must provide the same encryption key as part of your request. Amazon S3 first verifies - the encryption key you provided matches, and then decrypts the object before returning the object data to you. - - - Important: Amazon S3 does not store the encryption key you provide. - - - - - - Checks if ServerSideEncryptionCustomerProvidedKey property is set. - - true if ServerSideEncryptionCustomerProvidedKey property is set. - - - - The MD5 of the customer encryption key specified in the ServerSideEncryptionCustomerProvidedKey property. The MD5 is - base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set. - - - - - Checks if ServerSideEncryptionCustomerProvidedKeyMD5 property is set. - - true if ServerSideEncryptionCustomerProvidedKey property is set. - - - - Confirms that the requester knows that she or he will be charged for the list objects request. - Bucket owners need not specify this parameter in their requests. - - - - - Checks to see if RequetsPayer is set. - - true, if RequestPayer property is set. - - - - Returns information about the InitiateMultipartUpload response and response metadata. - - - - - Name of the bucketName to which the multipart upload was initiated. - - - - - - Object key for which the multipart upload was initiated. - - - - - - Gets and sets the initiated multipart upload id. - - - - - The Server-side encryption algorithm used when storing this object in S3. - - - - - - The id of the AWS Key Management Service key that Amazon S3 uses to encrypt and decrypt the object. - - - - - Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - true if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - - - Date when multipart upload will become eligible for abort operation by lifecycle. - - - - - Id of the lifecycle rule that makes a multipart upload eligible for abort operation. - - - - - If present, indicates that the requester was successfully charged for the request. - - - - - Checks to see if RequestCharged is set. - - true, if RequestCharged property is set. - - - - Identifies who initiated the multipart upload. - - - - - Name of the Principal. - - - - - - If the principal is an AWS account, it provides the Canonical User ID. If the principal is an IAM User, it provides a user ARN value. - - - - - - Class for MetricsConfiguration - - - - - Contains information about where to publish the inventory results. - - - - - Specifies whether the inventory is enabled or disabled. - - - - - Specifies an inventory filter. The inventory only includes objects that meet the filter's criteria. - - - - - The ID used to identify the inventory configuration. - - - - - Specifies which object version(s) to included in the inventory results. - - - - - Contains the optional fields that are included in the inventory results. - - - - - Specifies the schedule for generating inventory results. - - - - - Class for InventoryDestination - - - - - Contains the bucket name, file format, bucket owner (optional), and prefix (optional) where inventory results are published. - - - - - Class for InventoryFilter - - - - - Filter Predicate setup for specific filter types. - - - - - Filter Predicate abstract class for specific filter types to be derived from. - - - - - Class for InventoryPrefixPredicate - The prefix that an object must have to be included in the inventory results. - - - - - The ID of the account that owns the destination bucket. - - - - - The Amazon resource name (ARN) of the bucket where inventory results will be published. - - - - - The prefix that is prepended to all inventory results. - - - - - Specifies the output format of the inventory results. - - - - - Class for InventorySchedule - - - - - Specifies how frequently inventory results are produced. - - - - - Specifies an object key and optional object version. - - - - - Key name of the object to delete. - - - - - - VersionId for the specific version of the object to delete. - - - - - - This class contains the configuration Amazon S3 uses to figure out what events you want to listen - and send the event to an Amazon Lambda cloud function. - - - - - Gets and set the Id property. The Id will be provided in the event content and can be used - to identify which configuration caused an event to fire. If the Id is not provided for the configuration, one will be generated. - - - - - Gets and sets the FunctionArn property. This is the Amazon Lambda cloud function to which Amazon S3 will invoke with the events. - - - - Lifecycle Configuration - - - - - Gets and sets the Rules property. These rules defined the lifecycle configuration. - - - - - Base class for all the different predicates that can be used - in a filter. - - - - - This method is called by the visitor when it wants to visit the predicate. - - - - - - Filter identifying one or more objects to which a applies. - - - - - The predicate used by the filter. - - - - - Base class for lifecycle operators. - - - - - The list of objects - that this operator operates on. - - - - - The logical and operator for filtering objects for a - - - - - Accept a visit from an - - - This method is used internally by the SDK. - - - - - - A predicate that filters objects for a - by matching a particular prefix. - - - - - The prefix to be matched by filtered objects. - - - - - Accept a visit from an - - - This method is used internally by the SDK. - - - - - - A predicate that filters objects for a - by matching a particular key and value. - - - - - The Tag to be matched by filtered objects. - - - - - Accept a visit from an - - - This method is used internally by the SDK. - - - - - - Rules Item - - - - - Defines the length of time, in days, before objects expire. - - - - - Unique identifier for the rule. The value cannot be longer than 255 characters. - - - - - Prefix identifying one or more objects to which the rule applies. - - - - - - Filter identifying one or more objects to which the rule applies. - - - - - If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied. - - - - - - The transition rule that describes when objects transition to a different storage class. - - Lifecycle rules can now contain multiple transitions. This property is obsolete in favor of the Transitions property. - This property will aways get or set the the zeroth element in the Transitions collection. - - - - - - Defines the length of time, in days, before noncurrent versions expire. - - - - - The transition rule that describes when noncurrent versions transition to - a different storage class. - - Lifecycle rules can now contain multiple noncurrent version transitions. This property - is obsolete in favor of the NoncurrentVersionTransitions property. - This property will aways get or set the the zeroth element in the NoncurrentVersionTransitions collection. - - - - - - The transition rules that describe when objects transition to a different storage class. - - - - - The transition rules that describe when noncurrent versions transition to - a different storage class. - - - - - Specifies the days since the initiation of an Incomplete Multipart Upload - that Lifecycle will wait before permanently removing all parts of the upload. - - - - - Specifies the days since the initiation of an Incomplete Multipart Upload - that Lifecycle will wait before permanently removing all parts of the upload. - - - - - Indicates the number of days that must pass since initiation for Lifecycle - to abort an Incomplete Multipart Upload. - - - - Expiration - - - - - Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format. - - - - - - Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer. - - - - - - Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set to true, the delete marker will be expired; if set to false the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy. - - - - - - Noncurrent Version Expiration - - - - - Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated - action. For information about the noncurrent days calculations, see - How Amazon S3 Calculates When an Object Became Noncurrent - in the Amazon Simple Storage Service Developer Guide. - - - - - LifecycleTransition defines when and how objects transition. - - - - - Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated - action. For information about the noncurrent days calculations, see - How Amazon S3 Calculates When an Object Became Noncurrent - in the Amazon Simple Storage Service Developer Guide. - - - - - The class of storage used to store the object. - - - - - - LifecycleTransition defines when and how objects transition. - - - - - Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format. - - - - - - Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer. - - - - - - The class of storage used to store the object. - - - - - - Container for the parameters to the ListInventoryConfigurationsRequest operation. - Lists the analytics configurations for the bucket. - - - - - The name of the bucket containing the analytics configurations to retrieve. - - - - - The ContinuationToken that represents a placeholder from where this request should begin. - - - - - Returns information about the ListBucketAnalyticsConfigurationsResponse response and response metadata. - - - - - The ContinuationToken that represents where this request began. - - - - - The list of analytics configurations for a bucket. - - - - - Indicates whether the returned list of analytics configurations is complete. - A value of true indicates that the list is not complete and the NextContinuationToken will be provided for a subsequent request. - - - - - NextContinuationToken is sent when isTruncated is true, which indicates that there are more analytics configurations to list. - The next request must include this NextContinuationToken. The token is obfuscated and is not a usable value. - - - - - Container for the parameters to the ListInventoryConfigurationsRequest operation. - Returns a list of inventory configurations for the bucket. - - - - - The name of the bucket containing the inventory configurations to retrieve. - - - - - The marker used to continue an inventory configuration listing that has been truncated. - Use the NextContinuationToken from a previously truncated list response to continue the listing. - The continuation token is an opaque value that Amazon S3 understands. - - - - - Returns information about the ListInventoryConfigurationsResponse response and response metadata. - - - - - If sent in the request, the marker that is used as a starting point for this inventory configuration list response. - - - - - The list of inventory configurations for a bucket. - - - - - Indicates whether the returned list of inventory configurations is truncated in this response. A value of true indicates that the list is truncated. - - - - - The marker used to continue this inventory configuration listing. Use the NextContinuationToken from this response to continue the listing in a subsequent request. - The continuation token is an opaque value that Amazon S3 understands. - - - - - Container for the parameters to the ListBucketMetricsConfigurationRequest operation. - Lists the metrics configurations for the bucket. - - - - - The name of the bucket containing the metrics configurations to retrieve. - - - - - - The marker that is used to continue a metrics configuration listing that has been truncated. - Use the NextContinuationToken from a previously truncated list response to continue the listing. - The continuation token is an opaque value that Amazon S3 understands. - - - - - - Returns information about the ListBucketMetricsConfiguration response and response metadata. - - - - - - The marker that is used to continue a metrics configuration listing that has been truncated. - Use the NextContinuationToken from a previously truncated list response to continue the listing. - The continuation token is an opaque value that Amazon S3 understands. - - - - - - The list of metrics configurations for a bucket. - - - - - - Indicates whether the returned list of metrics configurations is complete. - A value of true indicates that the list is not complete and the NextContinuationToken will be provided for - a subsequent request. - - - - - - - The marker used to continue a metrics configuration listing that has been truncated. - Use the NextContinuationToken from a previously truncated list response to continue the listing. - The continuation token is an opaque value that Amazon S3 understands. - - - - - - Container for the parameters to the ListBuckets operation. - Returns a list of all buckets owned by the authenticated sender of the request. - - - - - Returns information about the ListBuckets response and response metadata. - - - - - List of buckets. - - - - - Owner of the buckets. - - - - - Container for the parameters to the ListMultipartUploads operation. - This operation lists in-progress multipart uploads. - - - - - The name of the bucketName receiving the multipart upload(s) - - - - - Character you use to group keys. - - - - - - Together with upload-id-marker, this parameter specifies the multipart upload after which listing should begin. - - - - - - Sets the maximum number of multipart uploads, from 1 to 1,000, to return in the response body. 1,000 is the maximum number of uploads that - can be returned in a response. - - - - - - Lists in-progress uploads only for those keys that begin with the specified prefix. - - - - - - Together with key-marker, specifies the multipart upload after which listing should begin. If key-marker is not specified, the - upload-id-marker parameter is ignored. - - - - - - Requests Amazon S3 to encode the object keys in the response and specifies - the encoding method to use. An object key may contain any Unicode character; - however, XML 1.0 parser cannot parse some characters, such as characters - with an ASCII value from 0 to 10. For characters that are not supported in - XML 1.0, you can add this parameter to request that Amazon S3 encode the - keys in the response. - - - - - Returns information about the ListMultipartUploads response and response metadata. - - - - - Name of the bucketName to which the multipart upload was initiated. - - - - - - The key at or after which the listing began. - - - - - - Upload ID after which listing began. - - - - - - When a list is truncated, this element specifies the value that should be used for the key-marker request parameter in a subsequent request. - - - - - - When a list is truncated, this element specifies the value that should be used for the upload-id-marker request parameter in a subsequent - request. - - - - - - Maximum number of multipart uploads that could have been included in the response. - - - - - - Indicates whether the returned list of multipart uploads is truncated. A value of true indicates that the list was truncated. The list can - be truncated if the number of multipart uploads exceeds the limit allowed or specified by max uploads. - - - - - - Gets and sets the MultipartUploads property. - - Container for elements related to a particular multipart upload. A response - can contain zero or more Upload elements. - - - - - - Gets and sets the Prefix property. - - - - - Gets and sets the Delimiter property. - - - - - Gets the CommonPrefixes property. - A response can contain CommonPrefixes only if you specify a delimiter. - When you do, CommonPrefixes contains all (if there are any) keys between - Prefix and the next occurrence of the string specified by delimiter. In effect, - CommonPrefixes lists keys that act like subdirectories in the directory specified - by Prefix. For example, if prefix is notes/ and delimiter is a slash (/), in - notes/summer/july, the common prefix is notes/summer/. - - - - - Container for the parameters to the ListObjects operation. - Returns some or all (up to 1000) of the objects in a bucket. You can use the request parameters as selection criteria to return a - subset of the objects in a bucket. - - - - - The name of the bucket containing the objects whose keys are to be listed. - - - - - A delimiter is a character you use to group keys. - - - - - Specifies the key to start with when listing objects in a bucket. - - - - - Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more. - - - - - Limits the response to keys that begin with the specified prefix. - - - - - Requests Amazon S3 to encode the object keys in the response and specifies - the encoding method to use. An object key may contain any Unicode character; - however, XML 1.0 parser cannot parse some characters, such as characters - with an ASCII value from 0 to 10. For characters that are not supported in - XML 1.0, you can add this parameter to request that Amazon S3 encode the - keys in the response. - - - - - Confirms that the requester knows that she or he will be charged for the list objects request. - Bucket owners need not specify this parameter in their requests. - - - - - Checks to see if RequetsPayer is set. - - true, if RequestPayer property is set. - - - - Returns information about the ListObjects response and response metadata. - - - - - A flag that indicates whether or not Amazon S3 returned all of the results that satisfied - the search criteria. - - - - - Gets and sets the NextMarker property. - NextMarker is set by S3 only if a Delimiter was specified - in the original ListObjects request. If a delimiter was - not specified, the AWS SDK for .NET returns the last Key - of the List of Objects retrieved from S3 as the NextMarker. - - - - - Gets the S3Objects property. This is a list of - objects in the bucket that match your search criteria. - - - - - Gets and sets the Name property which is the name of the bucket. - - - - - Gets and sets the Prefix property. - - - - - Gets and sets the MaxKeys property. This is max number of object keys returned by the list operation. - - - - - Gets the CommonPrefixes property. - A response can contain CommonPrefixes only if you specify a delimiter. - When you do, CommonPrefixes contains all (if there are any) keys between - Prefix and the next occurrence of the string specified by delimiter. In effect, - CommonPrefixes lists keys that act like subdirectories in the directory specified - by Prefix. For example, if prefix is notes/ and delimiter is a slash (/), in - notes/summer/july, the common prefix is notes/summer/. - - - - - Gets and sets the Delimiter property. - Causes keys that contain the same string between the prefix and the - first occurrence of the delimiter to be rolled up into a single result - element in the CommonPrefixes collection. - - - These rolled-up keys are not returned elsewhere in the response. - - - - - Container for the parameters to the ListObjects operation. - Returns some or all (up to 1000) of the objects in a bucket. You can use the request parameters as selection criteria to return a - subset of the objects in a bucket. - - - - - The name of the bucket to list. - - - - - A delimiter is a character you use to group keys. - - - - - Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more. - - - - - Limits the response to keys that begin with the specified prefix. - - - - - Requests Amazon S3 to encode the object keys in the response and specifies - the encoding method to use. An object key may contain any Unicode character; - however, XML 1.0 parser cannot parse some characters, such as characters - with an ASCII value from 0 to 10. For characters that are not supported in - XML 1.0, you can add this parameter to request that Amazon S3 encode the - keys in the response. - - - - - StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts - listing after this specified key. StartAfter can be any key in the bucket. - Cannot be set at the same time as ContinuationToken. - - - - - ContinuationToken indicates Amazon S3 that the list is being continued on this - bucket with a token. ContinuationToken is obfuscated and is not a real key. - - - - - The owner field is not present in ListObjectsV2 responses by default. - If you want to return owner field with each key in the result then set this field to true. - If not specified, the Owner field on S3Object will be null. - - - - - Confirms that the requester knows that she or he will be charged for the list objects request. - Bucket owners need not specify this parameter in their requests. - - - - - Checks to see if RequetsPayer is set. - - true, if RequestPayer property is set. - - - - Returns information about the ListObjects response and response metadata. - - - - - A flag that indicates whether or not Amazon S3 returned all of the results that satisfied - the search criteria. - - - - - Gets and sets the S3Objects property. Metadata about each object returned. - - - - - Gets and sets the Name property. The name of the bucket that was listed. - - - - - Gets and sets the Prefix property. - - - - - Gets and sets the MaxKeys property. This is max number of object keys returned by the list operation. - - - - - Gets and sets the CommonPrefixes property. - CommonPrefixes contains all (if there are any) keys between Prefix and the next occurrence - of the string specified by delimiter - - - - - Gets and sets the Delimiter property. - Causes keys that contain the same string between the prefix and the - first occurrence of the delimiter to be rolled up into a single result - element in the CommonPrefixes collection. - - - These rolled-up keys are not returned elsewhere in the response. - - - - - Encoding type used by Amazon S3 to encode object keys in the response. - - - - - KeyCount is the number of keys returned with this request. - KeyCount will always be less than or equal to MaxKeys field. - - - - - ContinuationToken indicates Amazon S3 that the list is being continued - on this bucket with a token. - ContinuationToken is obfuscated and is not a real key - - - - - NextContinuationToken is sent when isTruncated is true which means there - are more keys in the bucket that can be listed. The next ListObjectV2 call - to Amazon S3 can be continued with this NextContinuationToken. - NextContinuationToken is obfuscated and is not a real key. - - - - - StartAfter is where you want Amazon S3 to start listing from. - Amazon S3 starts listing after this specified key. - StartAfter can be any key in the bucket. - - - - - Container for the parameters to the ListParts operation. - Lists the parts that have been uploaded for a specific multipart upload. - - - - - The name of the bucketName receiving the multipart upload. - - - - - The object key for which the multipart upload was initiated. - - - - - Sets the maximum number of parts to return. - - - - - - Specifies the part after which listing should begin. Only parts with higher part numbers will be listed. - - - - - - Upload ID identifying the multipart upload whose parts are being listed. - - - - - - Requests Amazon S3 to encode the object keys in the response and specifies - the encoding method to use. An object key may contain any Unicode character; - however, XML 1.0 parser cannot parse some characters, such as characters - with an ASCII value from 0 to 10. For characters that are not supported in - XML 1.0, you can add this parameter to request that Amazon S3 encode the - keys in the response. - - - - - Confirms that the requester knows that she or he will be charged for the list objects request. - Bucket owners need not specify this parameter in their requests. - - - - - Checks to see if RequetsPayer is set. - - true, if RequestPayer property is set. - - - - Returns information about the ListParts response and response metadata. - - - - - Name of the bucketName to which the multipart upload was initiated. - - - - - - Object key for which the multipart upload was initiated. - - - - - - Upload ID identifying the multipart upload whose parts are being listed. - - - - - - Part number after which listing begins. - - - - - - When a list is truncated, this element specifies the last part in the list, as well as the value to use for the part-number-marker request - parameter in a subsequent request. - - - - - - Maximum number of parts that were allowed in the response. - - - - - - Indicates whether the returned list of parts is truncated. - - - - - - Gets and sets the Parts property. - - PartDetails is a container for elements related to a particular part. A response can contain - zero or more Part elements. - - - - - - Identifies who initiated the multipart upload. - - - - - - Gets and sets the Owner property. - - - - - The class of storage used to store the object. - - - - - - Date when multipart upload will become eligible for abort operation by lifecycle. - - - - - Id of the lifecycle rule that makes a multipart upload eligible for abort operation. - - - - - If present, indicates that the requester was successfully charged for the request. - - - - - Checks to see if RequestCharged is set. - - true, if RequestCharged property is set. - - - - Container for the parameters to the ListVersions operation. - Returns metadata about all of the versions of objects in a bucket. - - - - - The name of the bucket containing the objects. - - - - - A delimiter is a character you use to group keys. - - - - - Specifies the key to start with when listing objects in a bucket. - - - - - Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more. - - - - - Limits the response to keys that begin with the specified prefix. - - - - - Specifies the object version you want to start listing from. - - - - - Requests Amazon S3 to encode the object keys in the response and specifies - the encoding method to use. An object key may contain any Unicode character; - however, XML 1.0 parser cannot parse some characters, such as characters - with an ASCII value from 0 to 10. For characters that are not supported in - XML 1.0, you can add this parameter to request that Amazon S3 encode the - keys in the response. - - - - - Returns information about the ListVersions response and response metadata. - - - - - A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria. If your results were - truncated, you can make a follow-up paginated request using the NextKeyMarker and NextVersionIdMarker response parameters as a starting - place in another request to return the rest of the results. - - - - - - Marks the last Key returned in a truncated response. - - - - - - Gets and sets the VersionIdMarker property. - Marks the last Version-Id returned in a truncated response. - - - - - Use this value for the key marker request parameter in a subsequent request. - - - - - - Use this value for the next version id marker parameter in a subsequent request. - - - - - - Gets and sets the Versions property. This is a list of - object versions in the bucket that match your search criteria. - - - - - Gets and sets the Name property. - The bucket's name. - - - - - Gets and sets the Prefix property. - Keys that begin with the indicated prefix are listed. - - - - - Gets and sets the MaxKeys property. - This is the maximum number of keys in the S3ObjectVersions collection. - The value is derived from the MaxKeys parameter to ListVersionsRequest. - - - - - Gets the CommonPrefixes property. - A response can contain CommonPrefixes only if you specify a delimiter. - When you do, CommonPrefixes contains all (if there are any) keys between - Prefix and the next occurrence of the string specified by delimiter. - - - - - Gets and sets the Delimiter property. - Causes keys that contain the same string between the prefix and the - first occurrence of the delimiter to be rolled up into a single result - element in the CommonPrefixes collection. - - - These rolled-up keys are not returned elsewhere in the response. - - - - - This class contains the meta data for an S3 object. - - - - - Gets and sets meta data for the object. Meta data names must start with "x-amz-meta-". If the name passeed in as the indexer - doesn't start with "x-amz-meta-" then it will be prepended. - - The name of the meta data. - The value for the meta data - - - - Adds the metadata to the collection, if the name already exists it will be overwritten. - - The name of the metadata element - The value for the metadata - - - - Gets the count of headers. - - - - - Gets the names of the meta data elements. - - - - - Class for MetricsAndOperatorPredicate - A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. - The operator must have at least two predicates, and an object must match all of the predicates - in order for the filter to apply. - - Note: The current implementation restricts the usage to atmost one MetricsPrefixPredicate - and any number of MetricsTagPredicates. - - - - Class for MetricsConfiguration - - - - - The ID used to identify the metrics configuration. - - - - - Specifies a metrics configuration filter. - The metrics configuration will only include objects that meet the filter's criteria. - A filter must be a prefix, a tag, or a conjunction (MetricsAndOperator). - - - - - Filter class for Metrics. - - - - - Filter Predicate setup for specific filter types. - - - - - Filter Predicate abstract class for specific filter types to be derived from. - - - - - Abstract class that can be used over logical filter predicates,i.e. AND/OR. - - - - - Class for MetricsPrefixPredicate - The prefix used when evaluating a metrics filter. - - - - - Class for MetricsTagPredicate - The tag used when evaluating a metrics filter. - - - - - This class contains the mfa codes used authentication - - - - - Gets and sets the serial number of the authentication device - - - - - Gets and sets the displated value on the authentication device - - - - - The formatted string of the mfa codes to be passed to S3. - - - - - Container for elements related to a particular multipart upload. - - - - - Date and time at which the multipart upload was initiated. - - - - - - Identifies who initiated the multipart upload. - - - - - - Key of the object for which the multipart upload was initiated. - - - - - - Gets and sets the Owner property. - - - - - The class of storage used to store the object. - - - - - - Upload ID that identifies the multipart upload. - - - - - - An abstract class for all the notification configurations associated with an Amazon S3 bucket. - - - - - Gets and sets the Events property. These are the events the configuration will listen to. - - - - - Filter criteria for determining which S3 objects trigger event notifications. - - - - - - The owner of an S3 bucket. - - - - - The display name of the owner. - - - - - The unique identifier of the owner. - - - - - A container for elements related to a particular part in a multipart operation. - A response can contain zero or more Part elements. - - - - - The date and time at which the part was uploaded. - - - - - The size of the uploaded part data. - - - - - A container holding the part number and etag used when completing a multipart upload. - - - - - Default constructor. - - - - - Constructs an instance of PartETag and sets the part number and etag. - - The part number. - the associated ETag for the part number. - - - - Compares the current object with another object of the same type. - - An object to compare with this object. - - A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has the following meanings: - Value - Meaning - Less than zero - This object is less than the parameter. - Zero - This object is equal to . - Greater than zero - This object is greater than . - - - - - The part number identifying the part. - - - - - The entity tag associated with the part. - - - - - Container for the parameters to the PutAcl operation. - uses the acl subresource to set the access control list (ACL) permissions for an object that already exists in a bucket - - - - - The canned ACL to apply to the bucket. - - - - - - Custom ACLs to be applied to the bucket or object. - - - - - The name of the bucket. - If an object key is not specified, the ACLs are applied to the bucket. - - - - - The key of an S3 object. - If not specified, the ACLs are applied to the bucket. - - - - - If set and an object key has been specified, the ACLs are applied - to the specific version of the object. - This property is ignored if the ACL is to be set on a Bucket. - - - - - Checks if VersionId property is set. - - true if VersionId property is set. - - - - Returns information about the PutObjectAcl response metadata. - The PutAcl operation has a void result type. - - - - - The response for the PutBucketAccelerateConfiguration operation. - Adds an object to a bucket. - - - - - Container for the parameters to the PutBucketAccelerateConfiguration request. - - - - - The name of the bucket to contain the object. - - - - - Accelerate configuration for the bucket. - - - - - Container for the parameters to the PutBucketAnalyticsConfiguration operation. - Sets an analytics configuration for the bucket (specified by the analytics configuration ID). - - - - - The name of the bucket to which an analytics configuration is stored. - - - - - The identifier used to represent an analytics configuration. - - - - - The configuration and any analyses for the analytics filter. - - - - - Returns information about the PutBucketAnalyticsConfigurationResponse response metadata. - The PutBucketAnalyticsConfigurationResponse operation has a void result type. - - - - - Container for the parameters to the PutBucketRequestPayment operation. - Adds an inventory configuration (identified by the inventory ID) from the bucket. - - - - - The name of the bucket where the inventory configuration will be stored. - - - - - Specifies the inventory Id. - - - - - Specifies the inventory configuration. - - - - - Returns information about the PutInventoryConfigurationResponse response metadata. - The PutInventoryConfigurationResponse operation has a void result type. - - - - - Container for the parameters to the PutBucketLoggingRequest operation. - Set the logging parameters for a bucket and to specify permissions for who can view and modify the logging parameters. To set the - logging status of a bucket, you must be the bucket owner. - - - - - Gets and sets the BucketName property. - - - - - Gets and sets the LoggingConfig property. - - - - - Returns information about the PutBucketLogging response metadata. - The EnableBucketLogging operation has a void result type. - - - - - Container for the parameters to the PutBucketMetricsConfigurationRequest operation. - Sets a metrics configuration (specified by the metrics configuration ID) for the bucket. - - - - - The name of the bucket for which the metrics configuration is set. - - - - - The ID used to identify the metrics configuration. - - - - - Specifies the metrics configuration. - - - - - Returns information about the PutBucketMetricsConfiguration response metadata. - The PutBucketMetricsConfiguration operation has a void result type. - - - - - Container for the parameters to the PutBucketNotification operation. - Enables notifications of specified events for a bucket. - - - - - Gets and sets the BucketName property. - - - - - Gets and sets the TopicConfigurations property. TopicConfigurations are configuration for Amazon S3 - events to be sent to Amazon SNS topics. - - - - - Gets and sets the QueueConfigurations property. QueueConfigurations are configuration for Amazon S3 - events to be sent to Amazon SQS queues. - - - - - Gets and sets the LambdaFunctionConfigurations property. LambdaFunctionConfigurations are configuration for - Amazon S3 events to be sent to an Amazon Lambda cloud function. - - - - - Returns information about the PutBucketNotification response metadata. - The PutBucketNotification operation has a void result type. - - - - - Container for the parameters to the PutBucketPolicy operation. - Replaces a policy on a bucket. If the bucket already has a policy, the one in this request completely replaces it. - - - - - The name of the bucket. - - - - - The base64 encoded 128-bit MD5 digest of the message (without the headers) according to RFC 1864. - - - This header can be used as a message integrity check to verify that the data is the same data that was originally sent. - Although it is optional, we recommend using the Content-MD5 mechanism as an end-to-end integrity check. - - - - - The bucket policy as a JSON document. - - - - - Overriden to turn off sending SHA256 header. - - - - - Returns information about the PutBucketPolicy response metadata. - The PutBucketPolicy operation has a void result type. - - - - - Container for the parameters to the PutBucketReplication operation. - Sets replication configuration for your bucket. If a replication configuration exists, this replaces it. - - - - - The name of the bucket to have the replication configuration applied. - - - - - The replication configuration to be applied. - - - - - Returns information about the PutBucketReplicationConfiguration response metadata. - The PutBucketReplicationConfiguration operation has a void result type. - - - - - Container for the parameters to the PutBucket operation. - Creates a new bucket. - - - - - The canned ACL to apply to the bucket. - - - - - - If set to true the bucket will be created in the same region - as the configuration of the AmazonS3 client. - If PutBucketRequest.BucketRegion or PutBucketRequest.BucketRegionName are set they take precedence over - this property. - Default: true. - - - - - The name of the bucket to be created. - - - - - The region locality for the bucket. - - - When set, this will determine where your data will - reside in S3. Refer - for a list of possible values. - - - - - The bucket region locality expressed using the name of the region. - When set, this will determine where your data will reside in S3. - Valid values: us-east-1, us-west-1, us-west-2, eu-west-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, sa-east-1 - - - - - Container for the parameters to the PutBucketRequestPayment operation. - Sets the request payment configuration for a bucket. By default, the bucket owner pays for downloads from the bucket. This - configuration parameter enables the bucket owner (only) to specify that the person requesting the download will be charged for the - download. - - - - - The name of the bucket to set payment config. - - - - - Gets and sets request payment configuration - - - - - Returns information about the PutBucketRequestPayment response metadata. - The PutBucketRequestPayment operation has a void result type. - - - - - Returns information about the PutBucket response and response metadata. - - - - - Container for the parameters to the PutBucketTagging operation. - Sets the tags for a bucket. - - - - - The name of the bucket to apply the tags to. - - - - - The collection of tags. - - - - - Returns information about the PutBucketTagging response metadata. - The PutBucketTagging operation has a void result type. - - - - - Container for the parameters to the PutBucketVersioning operation. - Sets the versioning state of an existing bucket. To set the versioning state, you must be the bucket owner. - - - - - The name of the bucket to be updated. - - - - - The MfaCodes Tuple associates the Serial Number and the current Token/Code displayed on the - Multi-Factor Authentication device associated with your AWS Account. - - - This is a required property for this request if:
- 1. EnableMfaDelete was configured on the bucket - containing this object's version.
- 2. You are deleting an object's version -
-
- - - Checks if the MfaCodes property is set. - - true if the MfaCodes property is set. - - - - The versioning configuration to apply to the bucket. - - - Once Versioning has been "Enabled" on a bucket, it can be "Suspended" - but cannot be switched "Off". If EnableMfaDelete is set, - the MfaCodes property needs to contain the Serial of and current Token - displayed on the MFA device. - - - - - Returns information about the PutBucketVersioning response metadata. - The PutBucketVersioning operation has a void result type. - - - - - Container for the parameters to the PutBucketWebsite operation. - Set the website configuration for a bucket. - - - - - The name of the bucket to apply the configuration to. - - - - - The website configuration to apply. The configuration defines the index - document suffix and custom error page. - - - - - Returns information about the PutBucketWebsite response metadata. - The PutBucketWebsite operation has a void result type. - - - - - Container for the parameters to the PutCORSConfiguration operation. - Sets the cors configuration for a bucket. - - - - - The name of the bucket to have the CORS configuration applied. - - - - - The CORS configuration to apply. - - - - - Returns information about the PutCORSConfiguration response metadata. - The PutCORSConfiguration operation has a void result type. - - - - - Container for the parameters to the PutLifecycleConfiguration operation. - Sets lifecycle configuration for your bucket. If a lifecycle configuration exists, it replaces it. - - - - - The name of the bucket to have the lifecycle configuration applied. - - - - - The lifecycle configuration to be applied. - - - - - Returns information about the PutLifecycleConfiguration response metadata. - The PutLifecycleConfiguration operation has a void result type. - - - - - Container for the parameters to the PutObject operation. - Adds an object to a bucket. - - - Container for the parameters to the PutObject operation. - Adds an object to a bucket. - - - - - A canned access control list (CACL) to apply to the object. - Please refer to for - information on S3 Canned ACLs. - - - - - Input stream for the request; content for the request will be read from the stream. - - - - - - The full path and name to a file to be uploaded. - If this is set the request will upload the specified file to S3. - - - For WinRT and Windows Phone this property must be in the form of "ms-appdata:///local/file.txt". - - - - - - Text content to be uploaded. Use this property if you want to upload plaintext to S3. - The content type will be set to 'text/plain'. - - - - - If this value is set to true then the stream used with this request will be closed when all the content - is read from the stream. - Default: true. - - - - - If this value is set to true then the stream will be seeked back to the start before being read for upload. - Default: true. - - - - - The name of the bucket to contain the object. - - - - - The collection of headers for the request. - - - - - The collection of meta data for the request. - - - - - Gets and sets Key property. This key is used to identify the object in S3. - - - - - The Server-side encryption algorithm used when storing this object in S3. - - - - - - The Server-side encryption algorithm to be used with the customer provided key. - - - - - - The base64-encoded encryption key for Amazon S3 to use to encrypt the object - - Using the encryption key you provide as part of your request Amazon S3 manages both the encryption, as it writes - to disks, and decryption, when you access your objects. Therefore, you don't need to maintain any data encryption code. The only - thing you do is manage the encryption keys you provide. - - - When you retrieve an object, you must provide the same encryption key as part of your request. Amazon S3 first verifies - the encryption key you provided matches, and then decrypts the object before returning the object data to you. - - - Important: Amazon S3 does not store the encryption key you provide. - - - - - - Checks if ServerSideEncryptionCustomerProvidedKey property is set. - - true if ServerSideEncryptionCustomerProvidedKey property is set. - - - - The MD5 of the customer encryption key specified in the ServerSideEncryptionCustomerProvidedKey property. The MD5 is - base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set. - - - - - Checks if ServerSideEncryptionCustomerProvidedKeyMD5 property is set. - - true if ServerSideEncryptionCustomerProvidedKey property is set. - - - - The id of the AWS Key Management Service key that Amazon S3 should use to encrypt and decrypt the object. - If a key id is not specified, the default key will be used for encryption and decryption. - - - - - Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - true if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - - - The type of storage to use for the object. Defaults to 'STANDARD'. - - - - - - If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. - Amazon S3 stores the value of this header in the object metadata. - - - - - - Attach a callback that will be called as data is being sent to the AWS Service. - - - - - This is a convenience property for Headers.ContentType. - - - - - An MD5 digest for the content. - - - - The base64 encoded 128-bit MD5 digest of the message - (without the headers) according to RFC 1864. This header - can be used as a message integrity check to verify that - the data is the same data that was originally sent. - - - If supplied, after the file has been uploaded to S3, - S3 checks to ensure that the MD5 hash of the uploaded file - matches the hash supplied. - - - Although it is optional, we recommend using the - Content-MD5 mechanism as an end-to-end integrity check. - - - - - - Checks if MD5Digest property is set. - - true if MD5Digest property is set. - - - - Overriden to turn off sending SHA256 header. - - - - - Overriden to turn on expect 100 continue. - - - - - Confirms that the requester knows that she or he will be charged for the list objects request. - Bucket owners need not specify this parameter in their requests. - - - - - Checks to see if RequetsPayer is set. - - true, if RequestPayer property is set. - - - - The tag-set for the object. The tag-set must be encoded as URL Query parameters. - - - - - Checks if Tagging property is set - - true if Tagging is set. - - - - Overrides the default request timeout value. - - - - If the value is set, the value is assigned to the Timeout property of the HTTPWebRequest/HttpClient object used - to send requests. - - - Please specify a timeout value only if the operation will not complete within the default intervals - specified for an HttpWebRequest/HttpClient. - - - The timeout specified is null. - The timeout specified is less than or equal to zero and is not Infinite. - - - - - - Overrides the default ReadWriteTimeout value. - - - - If the value is set, the value is assigned to the ReadWriteTimeout property of the HTTPWebRequest/WebRequestHandler object used - to send requests. - - The timeout specified is null. - The timeout specified is less than or equal to zero and is not Infinite. - - - - - - - Returns information about the PutObject response and response metadata. - - - - - Gets and sets the Expiration property. - Specifies the expiration date for the object and the - rule governing the expiration. - Is null if expiration is not applicable. - - - - - The Server-side encryption algorithm used when storing this object in S3. - - - - - - Entity tag for the uploaded object. - - - - - - Version of the object. - - - - - - The id of the AWS Key Management Service key that Amazon S3 uses to encrypt and decrypt the object. - - - - - Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - true if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - - - If present, indicates that the requester was successfully charged for the request. - - - - - Checks to see if RequestCharged is set. - - true, if RequestCharged property is set. - - - - Container for the parameters to the PutObjectTagging operation. - - - - - The name of the bucket to contain the object. - - - - - Check to see if Bucket property is set - - - - - Gets and sets Key property. This key is used to identify the object in S3. - - - - - Check to see if Key property is set - - - - - The tag-set for the object. The tag-set must be encoded as URL Query parameters - - - - - Checks if Tagging property is set. - - - - - VersionId used to reference a specific version of the object. - - - - - - Returns information about the PutObjectTagging response and response metadata. - - - - - Version of the object. - - - - - Base class for put operations that can also put an ACL. - - - - - Gets the access control lists (ACLs) for this request. - Please refer to for information on - S3 Grants. - - - - - This class contains the configuration Amazon S3 uses to figure out what events you want to listen - and send the event to an Amazon SQS queue. - - The queue's policy must allow S3 to send messages to it. The utility method - Amazon.SQS.AmazonSQSClient.AuthorizeS3ToSendMessage(string,string) - can be used to help setup the queue policy. - - - - - - Gets and set the Id property. The Id will be provided in the event content and can be used - to identify which configuration caused an event to fire. If the Id is not provided for the configuration, one will be generated. - - - - - Gets and sets the Queue property. Amazon SQS queue to which Amazon S3 will publish a message - to report the specified events for the bucket. - - The queue's policy must allow S3 to send messages to it. The utility method - Amazon.SQS.AmazonSQSClient.AuthorizeS3ToSendMessage(string,string) - can be used to help setup the queue policy. - - - - - - This class defines the configuration for replication. - - - - - Indicates the ARN of the role to assume. - - - - - Check to see if the Role property is set. - - true if the Role property is set. - - - - Replication rules - - - - - Checks to see if the Rules property is set. - - true if the Rules property is set. - - - - Destination configuration for a replication rule. - - - - - The Amazon Resource Name (ARN) of the bucket to which replicas are sent. - - - - - Checks to see if BucketArn property is set. - - true if BucketArn property is set. - - - - The class of storage used to store the object. - - - - - - Rule that specifies the replication configuration. - - - - - Unique identifier for the rule. The value cannot be longer than 255 characters. - - - - - Checks to see if Id property is set. - - true if Id property is set. - - - - Prefix for the keys to be replicated. - - - - - Checks to see if Prefix property is set. - - true if Prefix property is set. - - - - Whether the rule is applied or ignored. - - - - - Checks to see if Status property is set. - - true if Status property is set. - - - - Container for destination information. - - - - - Checks to see if Destination property is set. - - true if Destination property is set. - - - - Request Payment Configuration - - - - - Specifies who pays for the download and request fees. - - - - - Container for values of the response headers that will be set on a response from a GetObject request. - These values override any headers that were set when the object was uploaded to S3. - - - - - A standard MIME type describing the format of the object data. - - - The content type for the content being uploaded. This property defaults to "binary/octet-stream". - For more information, refer to: - - - - - ContentLanguage header value. - - - - - Expiry header value. - - - - - CacheControl header value. - - - - - The ContentDisposition header value. - - - - - The ContentEncoding header value. - - - - - Container for the parameters to the RestoreObject operation. - Restores an archived copy of an object back into Amazon S3 - - - - - Gets and sets the BucketName property. - - - - - Gets and sets the Key property. This key indicates the S3 object to restore. - - - - - Lifetime of the active copy in days - - - - - - VersionId used to reference a specific version of the object. - - - - - - Confirms that the requester knows that she or he will be charged for the list objects request. - Bucket owners need not specify this parameter in their requests. - - - - - Checks to see if RequetsPayer is set. - - true, if RequestPayer property is set. - - - - Glacier retrieval tier at which the restore will be processed. - Glacier related prameters pertaining to this job. - - - - - Returns information about the RestoreObject response metadata. - The RestoreObject operation has a void result type. - - - - - If present, indicates that the requester was successfully charged for the request. - - - - - Checks to see if RequestCharged is set. - - true, if RequestCharged property is set. - - - Routing Rule - - - - - A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the - /docs folder, redirect to the /documents folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might - process the error. - - - - - - Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an - error, you can can specify a different error code to return. - - - - - - A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages - in the /docs folder, redirect to the /documents folder. 2. If request results in HTTP error 4xx, redirect request to another host where you - might process the error. - - - - - The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect - is applied. Required when parent element Condition is specified and sibling KeyPrefixEquals is not specified. If both are specified, then - both must be true for the redirect to be applied. - - - - - - The object key name prefix when the redirect is applied. For example, to redirect requests for ExamplePage.html, the key prefix will be - ExamplePage.html. To redirect request for all pages with the prefix docs/, the key prefix will be /docs, which identifies all objects in the - docs/ folder. Required when the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals is not specified. If both - conditions are specified, both must be true for the redirect to be applied. - - - - - - Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event - of an error, you can can specify a different error code to return. - - - - - Name of the host where requests will be redirected. - - - - - - The HTTP redirect code to use on the response. Not required if one of the siblings is present. - - - - - - Protocol to use (http, https) when redirecting requests. The default is the protocol that is used in the original request. - - - - - - The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix docs/ (objects in the - docs/ folder) to documents/, you can set a condition block with KeyPrefixEquals set to docs/ and in the Redirect set ReplaceKeyPrefixWith to - /documents. Not required if one of the siblings is present. Can be present only if ReplaceKeyWith is not provided. - - - - - - The specific object key to use in the redirect request. For example, redirect request to error.html. Not required if one of the sibling is - present. Can be present only if ReplaceKeyPrefixWith is not provided. - - - - - - Represents an access control list (ACL) for S3. An AccessControlList is represented by an Owner, - and a List of Grants, where each Grant is a Grantee and a Permission. - - - - Each bucket and object in Amazon S3 has an ACL that defines its access control policy. - When a request is made, Amazon S3 authenticates the request using its standard - authentication procedure and then checks the ACL to verify the sender was granted access - to the bucket or object. If the sender is approved, the request proceeds. - Otherwise, Amazon S3 returns an error. - - - An ACL is a list of grants. A grant consists of one grantee and one permission. - ACLs only grant permissions; they do not deny them. - - - For convenience, some commonly used Access Control Lists are defined in - S3CannedACL. - - - Note: BucketName and object ACLs are completely independent; an object does not inherit the ACL - from its bucket. For example, if you create a bucket and grant write access to another user, - you will not be able to access the user's objects unless the user explicitly grants access. - This also applies if you grant anonymous write access to a bucket. Only the user "anonymous" - will be able to access objects the user created unless permission is explicitly granted to - the bucket owner. - - - Important: We highly recommend that you do not grant the anonymous group write access to your - buckets as you will have no control over the objects others can store and their associated charges. - For more information, see Grantees and Permissions - - - - - Creates a S3Grant and adds it to the list of grants. - - The grantee for the grant. - The permission for the grantee. - - - - Removes a specific permission for the given grantee. - - The grantee - The permission for the grantee to remove - - - - Removes all permissions for the given grantee. - - - - - - The owner of the bucket or object. - - - - Every bucket and object in Amazon S3 has an owner, the user that - created the bucket or object. The owner of a bucket or object cannot - be changed. However, if the object is overwritten by another user - (deleted and rewritten), the new object will have a new owner. - - - Note: Even the owner is subject to the ACL. For example, if an owner - does not have Permission.READ access to an object, the owner cannot read - that object. However, the owner of an object always has write access to the - access control policy (Permission.WriteAcp) and can change the ACL to - read the object. - - - - - - Checks if Owner property is set. - - true if Owner property is set. - - - - A collection of grants. - - - - - Checks if Grants property is set. - - true if Grants property is set. - - - Bucket - Represents an S3 bucket, contains the name of the S3 bucket and the date that the bucket was created. - - - - - Date the bucket was created. - - - - - - The name of the bucket. - - - - - Logging Enabled - - - - - Specifies the bucket where you want Amazon S3 to store server access logs. You can have your logs delivered to any bucket that you own, - including the same bucket that is being logged. You can also configure multiple buckets to deliver their logs to the same target bucket. In - this case you should choose a different TargetPrefix for each source bucket so that the delivered log files can be distinguished by key. - - - - - A collection of grants. - - - - - This element lets you specify a prefix for the keys that the log files will be stored under. - - - - - Creates a S3Grant and adds it to the list of grants. - - The grantee for the grant. - The permission for the grantee. - - - - Removes a specific permission for the given grantee. - - The grantee - The permission for the grantee to remove - - - - Removes all permissions for the given grantee. - - - - - - An S3 bucket versioning configuration. - - - Contains the bucket's versioning status (Off, Enabled, Suspended) and whether an MFADelete - has been enabled for the bucket. - - - - - Versioning status for the bucket. - Accepted values: Off, Enabled, Suspended. - - - - - Checks if Status property is set - - true if Status property is set - - - - Specifies whether MFA Delete is enabled on this S3 Bucket. - - - If this property is set, please ensure that the - PutBucketVersioningRequest's MfaCodes property is set with - the Serial of and Token on the MFA device. - - - - - Checks if EnableMfaDelete property is set. - - true if Status property is set - - - Grant - - - - - The grantee details. - - - - - Specifies the permission given to the grantee. - - - - - Grantee - - - - - Type of grantee - - - - - - Screen name of the grantee. - - - - - - Email address of the grantee. - - - - - - The canonical user ID of the grantee. - - - - - - URI of the grantee group. - - - - - - Filter criteria that allows for event notification filtering based on an S3 Object's key name. - - - - - Gets and sets the filterRules property. - These are the filter rules for this filter. - - - - - Represents an S3 Object. Contains all attributes that an S3 Object has. - For more information about S3 Objects refer: - - - - - - Any ETag set on the object. - - - - - The name of the bucket containing this object. - - - - - The key of the object. - - - - - The date and time the object was last modified. - - The date retrieved from S3 is in ISO8601 format. A GMT formatted date is passed back to the user. - - - - - - The owner of the object. - - - - - The size of the object. - - - - - The class of storage used to store the object. - - - - - - Represents a version of an object in an S3 Bucket. An S3 object version is an S3 object - that also has a version identifier, an indication of whether this is the latest version of the object - and whether it's a DeleteMarker or not. - - - - - Specifies whether the object is (true) or is not (false) the latest version of an object. - - - - - Version ID of an object. - - - - - If true, the object is a delete marker for a deleted object. - - - - - Class for StorageClassAnalysis - - - - - - Class for StorageClassAnalysisDataExport - - - - - - - Base class for responses that return a stream. - - - - - Disposes of all managed and unmanaged resources. - - - - - An open stream read from to get the data from S3. In order to - use this stream without leaking the underlying resource, please - wrap access to the stream within a using block. - - - - - The exception that is thrown when the size of a stream does not match it's expected size. - - - - - Gets and sets ExpectedSize property. - - - - - Gets and sets ActualSize property. - - - - - Construct an instance of StreamSizeMismatchException. - - - - - - Construct an instance of StreamSizeMismatchException. - - - - - - - Construct an instance of StreamSizeMismatchException. - - - - - - - - - - Construct an instance of StreamSizeMismatchException. - - - - - - - - - - - Construct an instance of StreamSizeMismatchException. - - - - - - - - - - - Construct an instance of StreamSizeMismatchException. - - - - - - Construct an instance of StreamSizeMismatchException. - - - - - - - - - - Construct an instance of StreamSizeMismatchException. - - - - - - - - - - - Construct an instance of StreamSizeMismatchException. - - - - - - - - - - - - Constructs a new instance of the AmazonServiceException class with serialized data. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Sets the with information about the exception. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is a null reference (Nothing in Visual Basic). - - - - Tag is a key-value pair of metadata associated with an S3Object - - - - - Name of the tag. - - - - - Value of the tag. - - - - - Structure that contains list of Tags - - - - - TagSet - - - - - An object to represent a query to search for objects based on tags. - - - - - Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more. - - - - - Include objects' tagsets into the list result. - - - - - ContinuationToken indicates Amazon S3 that the list is being continued on this bucket with a token. - ContinuationToken is obfuscated and is not a real key - - - - - Encoding type used by Amazon S3 to encode object keys in the response. - - - - - Filtering criteria for listing objects by tags, if there are multiple filters - they all must be satisfied for the objectto be included in the result. - - - - - TagQueryFilter contains a tag key and a list of possible values. - - - - - Name of the tag. - - - - - Filtering criteria for listing objects by tags. - If there are multiple tag values in the filter, objects matching any value for that tag are returned. - - - - - TaggedResource contains the object name and optionally its tagset - - - - - Key of the s3 object. - - - - - Filtered list of tags - - - - - - This class contains the configuration Amazon S3 uses to figure out what events you want to listen - and send the event to an Amazon SNS topic. - - The topic's policy must allow S3 to publish messages to it. The utility method - Amazon.SimpleNotificationService.AmazonSimpleNotificationServiceClient.AuthorizeS3ToPublish(string,string) - can be used to help setup the topic policy. - - - - - - Gets and set the Id property. The Id will be provided in the event content and can be used - to identify which configuration caused an event to fire. If the Id is not provided for the configuration, one will be generated. - - - - - Bucket event for which to send notifications. - - Topic configurations can now contain multiple events. This property is obsolete in favor of the Events property. - This property will aways get or set the the zeroth element in the Events collection. - - - - - - Gets and sets the Topic property. Amazon SNS topic to which Amazon S3 will publish a message to report the - specified events for the bucket. - - The topic's policy must allow S3 to publish messages to it. The utility method - Amazon.SimpleNotificationService.AmazonSimpleNotificationServiceClient.AuthorizeS3ToPublish(string,string) - can be used to help setup the topic policy. - - - - - - The parameters to request upload of a part in a multipart upload operation. - - - - If PartSize is not specified then the rest of the content from the file - or stream will be sent to Amazon S3. - - - You must set either the FilePath or InputStream. If FilePath is set then the FilePosition - property must be set. - - - - The parameters to request upload of a part in a multipart upload operation. - - - - If PartSize is not specified then the rest of the content from the file - or stream will be sent to Amazon S3. - - - You must set either the FilePath or InputStream. If FilePath is set then the FilePosition - property must be set. - - - - - - Caller needs to set this to true when uploading the last part. This property only needs to be set - when using the AmazonS3EncryptionClient. - - - - - Input stream for the request; content for the request will be read from the stream. - - - - - The name of the bucket containing the object to receive the part. - - - - - The key of the object. - - - - - Part number of part being uploaded. - - - - - - The size of the part to be uploaded. - - - - - Checks if PartSize property is set. - - true if PartSize property is set. - - - - Upload ID identifying the multipart upload whose part is being uploaded. - - - - - - An MD5 digest for the part. - - - - - The Server-side encryption algorithm to be used with the customer provided key. - - - - - - The base64-encoded encryption key for Amazon S3 to use to encrypt the object - - Using the encryption key you provide as part of your request Amazon S3 manages both the encryption, as it writes - to disks, and decryption, when you access your objects. Therefore, you don't need to maintain any data encryption code. The only - thing you do is manage the encryption keys you provide. - - - When you retrieve an object, you must provide the same encryption key as part of your request. Amazon S3 first verifies - the encryption key you provided matches, and then decrypts the object before returning the object data to you. - - - Important: Amazon S3 does not store the encryption key you provide. - - - - - - Checks if ServerSideEncryptionCustomerProvidedKey property is set. - - true if ServerSideEncryptionCustomerProvidedKey property is set. - - - - The MD5 of the customer encryption key specified in the ServerSideEncryptionCustomerProvidedKey property. The MD5 is - base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set. - - - - - Checks if ServerSideEncryptionCustomerProvidedKeyMD5 property is set. - - true if ServerSideEncryptionCustomerProvidedKey property is set. - - - - - Full path and name of a file from which the content for the part is retrieved. - - - For WinRT and Windows Phone this property must be in the form of "ms-appdata:///local/file.txt". - - - - - - Checks if the FilePath property is set. - - true if FilePath property is set. - - - - Position in the file specified by FilePath from which to retrieve the content of the part. - This field is required when a file path is specified. It is ignored when using the InputStream property. - - - - - Checks if the FilePosition property is set. - - true if FilePosition property is set. - - - - Checks if the MD5Digest property is set. - - true if Md5Digest property is set. - - - - Attach a callback that will be called as data is being sent to the AWS Service. - - - - - Overriden to turn off sending SHA256 header. - - - - - Overriden to turn on Expect 100 continue. - - - - - Confirms that the requester knows that she or he will be charged for the list objects request. - Bucket owners need not specify this parameter in their requests. - - - - - Checks to see if RequetsPayer is set. - - true, if RequestPayer property is set. - - - - Overrides the default request timeout value. - - - - If the value is set, the value is assigned to the Timeout property of the HTTPWebRequest/HttpClient object used - to send requests. - - - Please specify a timeout value only if the operation will not complete within the default intervals - specified for an HttpWebRequest/HttpClient. - - - The timeout specified is null. - The timeout specified is less than or equal to zero and is not Infinite. - - - - - - Overrides the default ReadWriteTimeout value. - - - - If the value is set, the value is assigned to the ReadWriteTimeout property of the HTTPWebRequest/WebRequestHandler object used - to send requests. - - The timeout specified is null. - The timeout specified is less than or equal to zero and is not Infinite. - - - - - - - Returns information about the UploadPart response and response metadata. - - - - - The Server-side encryption algorithm used when storing this object in S3. - - - - - - Entity tag for the uploaded object. - - - - - - Gets and sets the part number specified for the part upload. This is needed when - completing the multipart upload. - - - - - If present, indicates that the requester was successfully charged for the request. - - - - - Checks to see if RequestCharged is set. - - true, if RequestCharged property is set. - - - Website Configuration - - - - - The ErrorDocument value, an object key name to use when a 4XX class error occurs. - - - - - - This value is a suffix that is appended to a request that is for a "directory" - on the website endpoint (e.g. if the suffix is index.html and - you make a request to samplebucket/images/ the data that - is returned will be for the object with the key name - images/index.html) - - - The suffix must not be empty and must not include a slash - character. - - - - - - Container for redirect information where all requests will be redirect - to. You can redirect requests to another host, to another page, or with - another protocol. In the event of an error, you can can specify a - different error code to return. . - - - - - The list of routing rules that can be used for configuring redirects if certain conditions are meet. - - - - - Arguments containing event details for an in-flight transfer. - - - - - The constructor takes the number of - currently transferred bytes and the - total number of bytes to be transferred - - The number of bytes transferred since last event - The number of bytes transferred - The total number of bytes to be transferred - - - - Gets the percentage of transfer completed - - - - - Gets the number of bytes transferred since last event - - - - - Gets the number of bytes transferred - - - - - Gets the total number of bytes to be transferred - - - - - Returns a string representation of this object - - - - - - AmazonS3 exception. - Thrown when DeleteObjects returns successfully, but some of the objects - were not deleted. - - - - - Gets and sets the ErrorResponse property. - The DeleteObjectsErrorResponse associated with this exception. - - - - - Constructs an instance of DeleteObjectsException - - - - - - Constructs a new instance of the DeleteObjectsException class with serialized data. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Sets the with information about the exception. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is a null reference (Nothing in Visual Basic). - - - - Uri wrapper that can parse out information (bucket, key, region, style) from an - S3 URI. - - - - - True if the URI contains the bucket in the path, false if it contains the bucket in the authority. - - - - - The bucket name parsed from the URI (or null if no bucket specified). - - - - - The key parsed from the URI (or null if no key specified). - - - - - The region parsed from the URI (or null if no region specified). - - - - - Constructs a parser for the S3 URI specified as a string. - - The S3 URI to be parsed. - - - - Constructs a parser for the S3 URI specified as a Uri instance. - - The S3 URI to be parsed. - - - - If the given string is an AmazonS3Endpoint return true and set the AmazonS3Uri out parameter. - - - - true if the string is an AmazonS3Endpoint, and the out paramter has been filled in, false otherwise - - - - If the given Uri is an AmazonS3Endpoint return true and set the AmazonS3Uri out parameter. - - - - true if the Uri is an AmazonS3Endpoint, and the out paramter has been filled in, false otherwise - - - - Checks whether the given URI is a Amazon S3 URI. - - The S3 URI to be checked. - true if the URI is a Amazon S3 URI, false; otherwise. - - - - Checks whether the given URI is a Amazon S3 URI. - - The S3 URI to be checked. - true if the URI is a Amazon S3 URI, false; otherwise. - - - - Percent-decodes the given string, with a fast path for strings that are not - percent-encoded. - - The string to decode - The decoded string - - - - Percent-decodes the given string. - - The string to decode - The index of the first '%' in the string - The decoded string - - - - Decodes the percent-encoded character at the given index in the string - and appends the decoded value to the string under construction. - - - The string under construction to which the decoded character will be - appended. - - The string being decoded. - The index of the '%' character in the string. - - - - Converts a hex character (0-9A-Fa-f) into its corresponding quad value. - - The hex character - The quad value - - - - Provides utilities used by the Amazon S3 client implementation. - These utilities might be useful to consumers of the Amazon S3 - library. - - - Provides utilities used by the Amazon S3 client implementation. - These utilities might be useful to consumers of the Amazon S3 - library. - - - Provides utilities used by the Amazon S3 client implementation. - These utilities might be useful to consumers of the Amazon S3 - library. - - - Provides utilities used by the Amazon S3 client implementation. - These utilities might be useful to consumers of the Amazon S3 - library. - - - - - Determines MIME type from a file extension - - The extension of the file - The MIME type for the extension, or text/plain - - - - URL encodes a string. If the path property is specified, - the accepted path characters {/+:} are not encoded. - - The string to encode - Whether the string is a URL path or not - - - - - Converts a non-seekable stream into a System.IO.MemoryStream. - A MemoryStream's position can be moved arbitrarily - - The stream to be converted - A seekable MemoryStream - MemoryStreams use byte arrays as their backing store. - Please use this judicially as it is likely that a very large - stream will cause system resources to be used up. - - - - - Formats the current date as a GMT timestamp - - A GMT formatted string representation - of the current date and time - - - - - Generates an MD5 Digest for the string-based content - - The content for which the MD5 Digest needs - to be computed. - - Whether the returned checksum should be - base64 encoded. - - A string representation of the hash with or w/o base64 encoding - - - - - Version2 S3 buckets adhere to RFC 1035: - - Less than 255 characters, with each label less than 63 characters. - Label must start with a letter - Label must end with a letter or digit - Label can have a string of letter, digits and hyphens in the middle. - Although names can be case-sensitive, no significance is attached to the case. - RFC 1123: Allow label to start with letter or digit (e.g. 3ware.com works) - RFC 2181: No restrictions apart from the length restrictions. - - S3 V2 will start with RFCs 1035 and 1123 and impose the following additional restrictions: - - Length between 3 and 63 characters (to allow headroom for upper-level domains, - as well as to avoid separate length restrictions for bucket-name and its labels - Only lower-case to avoid user confusion. - No dotted-decimal IPv4-like strings - - - The BucketName to validate if V2 addressing should be used - True if the BucketName should use V2 bucket addressing, false otherwise - - S3 v2 Bucket restrictions - - - - Determines whether an S3 bucket exists or not. - This is done by: - 1. Creating a PreSigned Url for the bucket. To work with Signature V4 only regions, as - well as Signature V4-optional regions, we keep the expiry to within the maximum for V4 - (which is one week). - 2. Making a HEAD request to the Url - - The name of the bucket to check. - The Amazon S3 Client to use for S3 specific operations. - - - - - Determines whether an S3 bucket exists or not. - This is done by: - 1. Creating a PreSigned Url for the bucket. To work with Signature V4 only regions, as - well as Signature V4-optional regions, we keep the expiry to within the maximum for V4 - (which is one week). - 2. Making a HEAD request to the Url - - The name of the bucket to check. - The Amazon S3 Client to use for S3 specific operations. - - - - - Sets the storage class for the S3 Object to the value - specified. - - The name of the bucket in which the key is stored - The key of the S3 Object whose storage class needs changing - The new Storage Class for the object - The Amazon S3 Client to use for S3 specific operations. - - - - - Sets the storage class for the S3 Object's Version to the value - specified. - - The name of the bucket in which the key is stored - The key of the S3 Object whose storage class needs changing - The version of the S3 Object whose storage class needs changing - The new Storage Class for the object - The Amazon S3 Client to use for S3 specific operations. - - - - - Sets the server side encryption method for the S3 Object to the value - specified. - - The name of the bucket in which the key is stored - The key of the S3 Object - The server side encryption method - The Amazon S3 Client to use for S3 specific operations. - - - - Sets the server side encryption method for the S3 Object's Version to the value - specified. - - The name of the bucket in which the key is stored - The key of the S3 Object - The version of the S3 Object - The server side encryption method - The Amazon S3 Client to use for S3 specific operations. - - - - Sets the redirect location for the S3 Object's when being accessed through the S3 website endpoint. - - The name of the bucket in which the key is stored - The key of the S3 Object - The redirect location - The Amazon S3 Client to use for S3 specific operations. - - - - Sets up the request needed to make an exact copy of the object leaving the parent method - the ability to change just the attribute being requested to change. - - - - - - - - - - - Converts the string representing a storage class that would come back from a ListObjects request - to the S3StorageClass enumeration. - - Amazon S3 string values for storage class - The converted S3StorageClass enumeration - - - - Upload data to Amazon S3 using HTTP POST. - - - For more information, - - Request object which describes the data to POST - Thrown if the service returns an error - - - - Deletes an S3 bucket which contains objects. - An S3 bucket which contains objects cannot be deleted until all the objects - in it are deleted. This method deletes all the objects in the specified - bucket and then deletes the bucket itself. - - The bucket to be deleted. - The Amazon S3 Client to use for S3 specific operations. - - - - Deletes an S3 bucket which contains objects. - An S3 bucket which contains objects cannot be deleted until all the objects - in it are deleted. This method deletes all the objects in the specified - bucket and then deletes the bucket itself. - - The bucket to be deleted. - The Amazon S3 Client to use for S3 specific operations. - Options to control the behavior of the delete operation. - - - - Initiates the asynchronous execution of the DeleteS3BucketWithObjects operation. - DeleteS3BucketWithObjects deletes an S3 bucket which contains objects. - An S3 bucket which contains objects cannot be deleted until all the objects - in it are deleted. This method deletes all the objects in the specified - bucket and then deletes the bucket itself. - - The bucket to be deleted. - The Amazon S3 Client to use for S3 specific operations. - token to check if the operation has been request to cancel. - An IAsyncCancelableResult that can be used to poll or wait for results, or both; - this value is also needed when invoking EndDeleteS3BucketWithObjects. IAsyncCancelableResult can also - be used to cancel the operation while it's in progress. - - - - Initiates the asynchronous execution of the DeleteS3BucketWithObjects operation. - DeleteS3BucketWithObjects deletes an S3 bucket which contains objects. - An S3 bucket which contains objects cannot be deleted until all the objects - in it are deleted. This method deletes all the objects in the specified - bucket and then deletes the bucket itself. - - The bucket to be deleted. - The Amazon S3 Client to use for S3 specific operations. - Options to control the behavior of the delete operation. - token to check if the operation has been request to cancel. - An IAsyncCancelableResult that can be used to poll or wait for results, or both; - this value is also needed when invoking EndDeleteS3BucketWithObjects. IAsyncCancelableResult can also - be used to cancel the operation while it's in progress. - - - - Initiates the asynchronous execution of the DeleteS3BucketWithObjects operation. - DeleteS3BucketWithObjects deletes an S3 bucket which contains objects. - An S3 bucket which contains objects cannot be deleted until all the objects - in it are deleted. This method deletes all the objects in the specified - bucket and then deletes the bucket itself. - - The bucket to be deleted. - The Amazon S3 Client to use for S3 specific operations. - >Options to control the behavior of the delete operation. - An callback that is invoked to send updates while delete operation is in progress. - token to check if the operation has been request to cancel. - An IAsyncCancelableResult that can be used to poll or wait for results, or both; - this value is also needed when invoking EndDeleteS3BucketWithObjects. IAsyncCancelableResult can also - be used to cancel the operation while it's in progress. - - - - Invokes the DeleteS3BucketWithObjectsInternal method. - - The Request object that has all the data to complete the operation. - token to request the operation to be cancelled. - - - - Deletes an S3 bucket which contains objects. - An S3 bucket which contains objects cannot be deleted until all the objects - in it are deleted. The function deletes all the objects in the specified - bucket and then deletes the bucket itself. - - The bucket to be deleted. - The Amazon S3 Client to use for S3 specific operations. - Options to control the behavior of the delete operation. - The callback which is used to send updates about the delete operation. - token to check if the operation has been request to cancel. - - - - Invokes the callback which provides updated about the delete operation. - - The callback to be invoked. - The data being passed to the callback. - 8 - - - - Deletes an S3 bucket which contains objects. - An S3 bucket which contains objects cannot be deleted until all the objects - in it are deleted. This method deletes all the objects in the specified - bucket and then deletes the bucket itself. - - The bucket to be deleted. - The Amazon S3 Client to use for S3 specific operations. - - - - Deletes an S3 bucket which contains objects. - An S3 bucket which contains objects cannot be deleted until all the objects - in it are deleted. This method deletes all the objects in the specified - bucket and then deletes the bucket itself. - - The bucket to be deleted. - The Amazon S3 Client to use for S3 specific operations. - Options to control the behavior of the delete operation. - - - - Class to manage and cache the correct region for buckets accessed without an explicit region. - - - Class to manage and cache the correct region for buckets accessed without an explicit region. - - - Class to manage and cache the correct region for buckets accessed without an explicit region. - - - - - A cache of BucketName -> RegionEndpoint pairs. - The cache is used to make sure that bucket requests are signed for the correct region, - even when requesting them without an explicit region. - - - - - Detect a bucket region mismatch based on the x-amz-bucket-region header, and the status code provided. - - - - - - - - - Detects if the signature is malformed, and the requested bucket is in a Region - different from the Region of the request. - - - - the correct region if a mismatch was detected, null otherwise - - - - Detects if the signature is malformed, and the requested bucket is in a Region - different from the Region of the request. - - - - - the correct region if a mismatch was detected, null otherwise - - - - Use a HEAD bucket request to get the region for the given bucket. - - This method creates an AmazonS3Client from the credentials passed in. - It's critical that the AmazonS3Client is not used to make any requests that will - be routed through the pipeline. - - - - the value of the x-amz-bucket-region header from the response - - - - Detects if the signature is malformed, and the requested bucket is in a Region - different from the Region of the request. - - - - - the correct region if a mismatch was detected, null otherwise - - - - Use a HEAD bucket request to get the region for the given bucket. - - This method creates an AmazonS3Client from the credentials passed in. - It's critical that the AmazonS3Client is not used to make any requests that will - be routed through the pipeline. - - - - the value of the x-amz-bucket-region header from the response - - - - A helper class that represents a strongly typed S3 EventNotification item sent to SQS - - - - - Parse the JSON string into a S3EventNotification object. - - The function will try its best to parse input JSON string as best as it can. - It will not fail even if the JSON string contains unknown properties. - - For any parsing errors - - - - - Gets and sets the records for the S3 event notification - - - - - The class holds the user identity properties. - - - - - Gets and sets the PrincipalId property. - - - - - This class contains the identity information for an S3 bucket. - - - - - Gets and sets the name of the bucket. - - - - - Gets and sets the bucket owner id. - - - - - Gets and sets the S3 bucket arn. - - - - - This class contains the information for an object in S3. - - - - - Gets and sets the key for the object stored in S3. - - - - - Gets and sets the size of the object in S3. - - - - - Gets and sets the etag of the object. This can be used to determine if the object has changed. - - - - - Gets and sets the version id of the object in S3. - - - - - Gets and sets the meta information describing S3. - - - - - Gets and sets the ConfigurationId. This ID can be found in the bucket notification configuration. - - - - - Gets and sets the Bucket property. - - - - - Gets and sets the Object property. - - - - - Gets and sets the S3SchemaVersion property. - - - - - The class holds the request parameters - - - - - Gets and sets the SourceIPAddress. This is the ip address where the request came from. - - - - - This class holds the response elements. - - - - - Gets and sets the XAmzId2 Property. This is the Amazon S3 host that processed the request. - - - - - Gets and sets the XAmzRequestId. This is the Amazon S3 generated request ID. - - - - - The class holds the event notification. - - - - - Gets and sets the AwsRegion property. - - - - - Gets and sets the EventName property. This identities what type of event occurred. - For example for an object just put in S3 this will be set to EventType.ObjectCreatedPut. - - - - - Gets and sets the EventSource property. - - - - - Gets and sets the EventType property. The time when S3 finished processing the request. - - - - - Gets and sets the EventVersion property. - - - - - Gets and sets the RequestParameters property. - - - - - Gets and sets the ResponseElements property. - - - - - Gets and sets the S3 property. - - - - - Gets and sets the UserIdentity property. - - - - - Options which control the behaviour of the DeleteS3BucketWithObjects operation. - - - - - Gets or sets a value which indicates whether the - operation should be aborted if an error is encountered during execution. - - - - - Gets or sets a value which indicated whether verbose results shoule be returned to the - callback. - If quiet mode is true the callback will receive only keys where the delete operation encountered an error. - If quiet mode is false the callback will receive keys for both successful and unsuccessful delete operations. - - - - - Internal class used to pass the parameters for DeleteS3BucketWithObjects operation. - - - - - Name of the bucket to be deleted. - - - - - The Amazon S3 Client to use for S3 specific operations. - - - - - Options to control the behavior of the delete operation. - - - - - The callback which is used to send updates about the delete operation. - - - - - Contains updates from DeleteS3BucketWithObjects operation. - - - - - The list of objects which were successfully deleted. - - - - - The list of objects for which the delete operation failed. - - - - - Represents the status of an asynchronous operation. - It adds support for Cancelation of the asynchronous operation. - - - - - Gets a value that indicated whether the asynchronous operation has been canceled. - - - - - Gets a user-defined object that qualifies or contains information about an - asynchronous operation. - - - - - Gets a System.Threading.WaitHandle that is used to wait for an asynchronous - operation to complete. - - - - - Gets a value that indicates whether the asynchronous operation completed - synchronously. - - - - - Gets a value that indicates whether the asynchronous operation has completed. - - - - - Gets a value that indicates whether a cancel is requested. - - - - - The last exception that when the asynchronous operation was executed. - This is used to capture the exception and re-throw it when EndOperation is called. - - - - - The callback to be invoked when the asynchronous operation is completed. - - - - - Constructor for AsyncCancelableResult. - - The callback to be invoked when the asynchronous operation is completed. - Gets a user-defined object that qualifies or contains information about an - asynchronous operation. - - - - - Cancels the asynchronous operation if it's in progress. - - - - - Signals that the operaton is canceled and invokes the callback. - - - - - Signals that the operation is completed and invoked the callback. - - - - - Performs application-defined tasks associated with freeing, releasing, or - resetting unmanaged resources. - - - - - Disposes any managed and unmanaged resources. - - Should pass true if called by Dispose(), pass false if - called during finalization. - - - - Represents the status of an asynchronous operation. This interface extends - IAsyncResult and adds support for Cancelation of the asynchronous operation. - - - - - Cancels the asynchronous operation if it's in progress. - - - - - Gets a value that indicated whether the asynchronous operation has been canceled. - - - - - An exception detailing a failed HTTP POST upload atempt to Amazon S3. - - - - - Initializes a new instance of S3PostUploadException with a specified error message - - The error message - - - - Initializes a new instance of S3PostUploadException with a specified error code and error message - - The error code - The error message - - - - The error code returned by S3 - - - - - The S3 request id - - - - - The S3 host id - - - - - The HTTP error status code returned by S3 - - - - - Additional information about the error - - - Some errors are accompanied by more specific information, which vary from error to error - - - - - Parse an S3 Error response and create an S3PostUploadException - - The response from S3 - An S3PostUploadException with the information from the response - - - - Constructs a new instance of the S3PostUploadException class with serialized data. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Sets the with information about the exception. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is a null reference (Nothing in Visual Basic). - - - - Class for unmarshalling response XML - - - - - Gets and sets the ErrorCode property. - - - - - Gets and sets the ErrorMessage property. - - - - - Gets and sets the RequestId property. - - - - - Gets and sets the HostId property. - - - - - Gets and sets the elements property. - - - - - Parameters for uploading to Amazon S3 a file using HTTP POS - - - - If a S3PostUploadSignedPolicy is assigned, then values set (other than InputStream or Path) on this object must adhere to the policy. - This includes metadata. If metadata is specified in the policy, then it must be included in the request. Adding metadata not in the - policy will cause the POST to fail. - - For more information, - - - - - - Default constructor. - - - - - S3 Bucket to upload the object to - - - - - The name of the uploaded key. - - - - - Stream to read the upload data for - - - If you use InputStream, then you also need to set ContentLength - - - - - File path to read the upload data from - - - - - Content type for the uploaded data - - - If this is not set, an attempt will be made to infer it from the extension on Key or Path (in that order), - otherwise 'application/octet-stream' will be assumed. - - - - - Specifies an Amazon S3 access control list - - - - - Signed policy from bucket owner. - - - - - Where to redirect browsers on a successful upload - - - - - The status code returned to the client upon successful upload if success_action_redirect is not specified - - - - Accepts the values OK (200) , Created (201), or NoContent (204, default). - - If the value is set to OK or NoContent, Amazon S3 returns an empty document with a 200 or 204 status code. - - If the value is set to Created, Amazon S3 returns an XML document with a 201 status code. - - If the value is not set or if it is set to an invalid value, Amazon S3 returns an empty document with a 204 status code. - - - - - - Storage class to use for storing the object - - - Default: STANDARD - - - - - The AWS region where the bucket is located. - - - Depending upon the bucket name, POST uploads will be - successfully redirected, but for buckets with non-DNS-compliant - characters, redirects will fail. Setting this to the appropriate - region will avoid the redirect. - - - - - Metadata to set on the uploaded object - - - If keys do not begin with 'x-amz-meta-' it will be added at POST time. - - - - - Write the multipart/form-data for this request for all fields except the file data to a stream - - - - - Class holds Response data for a post upload. - - - - - Gets and sets the StatusCode property. - - - - - Gets and sets the RequestId property. - - - - - Gets and sets the HostId property. - - - - - Gets and sets the CloudFront request ID. - - - - - Utility class for managing and exchanging HTTP POST uploads of objects to Amazon S3. - - - - This object supports creating, marshalling, and unmarshalling of the information needed to build - an authenticated HTTP POST request to S3 for uploading objects according to a policy. - - For more information, - - - - - Given a policy and AWS credentials, produce a S3PostUploadSignedPolicy. - - JSON string representing the policy to sign - Credentials to sign the policy with - A signed policy object for use with an S3PostUploadRequest. - - - - Given a policy and AWS credentials, produce a S3PostUploadSignedPolicy. - - JSON string representing the policy to sign - Credentials to sign the policy with - Service region endpoint. - A signed policy object for use with an S3PostUploadRequest. - - - - The policy document which governs what uploads can be done. - - - - - The signature for the policy. - - - - - The AWS Access Key Id for the credential pair that produced the signature. - - - - - The security token from session or instance credentials. - - - - - The signature version usedd. Either "2" or "4". - - - - - The signing algorithm used. Required as a field in the post Amazon - S3 can re-calculate the signature. - - - - - The date value in ISO8601 format. It is the same date used in - creating the signing key. - - - - - In addition to the access key ID, this provides scope information - used in calculating the signing key for signature calculation. - - - - - Get the policy document as a human readable string. - - Human readable policy document. - - - - JSON representation of this object - - JSON string - - - - XML Representation of this object - - XML String - - - - Create an instance of this class from a JSON string. - - JSON string - Instance of S3PostUploadSignedPolicy - - - - Create an instance of this class from an XML string. - - XML string generated by ToXml() - Instance of S3PostUploadSignedPolicy - - - - Interface for accessing S3 - - - - - - - Create a signed URL allowing access to a resource that would - usually require authentication. - - - - When using query string authentication you create a query, - specify an expiration time for the query, sign it with your - signature, place the data in an HTTP request, and distribute - the request to a user or embed the request in a web page. - - - A PreSigned URL can be generated for GET, PUT, DELETE and HEAD - operations on your bucketName, keys, and versions. - - - The GetPreSignedUrlRequest that defines the - parameters of the operation. - A string that is the signed http request. - - - - - - Aborts a multipart upload. - - - - To verify that all parts have been removed, so you don't get charged for the part - storage, you should call the List Parts operation and ensure the parts list is empty. - - - A property of AbortMultipartUploadRequest used to execute the AbortMultipartUpload service method. - A property of AbortMultipartUploadRequest used to execute the AbortMultipartUpload service method. - A property of AbortMultipartUploadRequest used to execute the AbortMultipartUpload service method. - - The response from the AbortMultipartUpload service method, as returned by S3. - - - - Aborts a multipart upload. - - - - To verify that all parts have been removed, so you don't get charged for the part - storage, you should call the List Parts operation and ensure the parts list is empty. - - - Container for the necessary parameters to execute the AbortMultipartUpload service method. - - The response from the AbortMultipartUpload service method, as returned by S3. - - - - Aborts a multipart upload. - - - - To verify that all parts have been removed, so you don't get charged for the part - storage, you should call the List Parts operation and ensure the parts list is empty. - - - A property of AbortMultipartUploadRequest used to execute the AbortMultipartUpload service method. - A property of AbortMultipartUploadRequest used to execute the AbortMultipartUpload service method. - A property of AbortMultipartUploadRequest used to execute the AbortMultipartUpload service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the AbortMultipartUpload service method, as returned by S3. - - - - Initiates the asynchronous execution of the AbortMultipartUpload operation. - - - Container for the necessary parameters to execute the AbortMultipartUpload operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Completes a multipart upload by assembling previously uploaded parts. - - Container for the necessary parameters to execute the CompleteMultipartUpload service method. - - The response from the CompleteMultipartUpload service method, as returned by S3. - - - - Initiates the asynchronous execution of the CompleteMultipartUpload operation. - - - Container for the necessary parameters to execute the CompleteMultipartUpload operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Creates a copy of an object that is already stored in Amazon S3. - - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - - The response from the CopyObject service method, as returned by S3. - - - - Creates a copy of an object that is already stored in Amazon S3. - - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - - The response from the CopyObject service method, as returned by S3. - - - - Creates a copy of an object that is already stored in Amazon S3. - - Container for the necessary parameters to execute the CopyObject service method. - - The response from the CopyObject service method, as returned by S3. - - - - Creates a copy of an object that is already stored in Amazon S3. - - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the CopyObject service method, as returned by S3. - - - - Creates a copy of an object that is already stored in Amazon S3. - - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - A property of CopyObjectRequest used to execute the CopyObject service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the CopyObject service method, as returned by S3. - - - - Initiates the asynchronous execution of the CopyObject operation. - - - Container for the necessary parameters to execute the CopyObject operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Uploads a part by copying data from an existing object as data source. - - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - Upload ID identifying the multipart upload whose part is being copied. - - The response from the CopyPart service method, as returned by S3. - - - - Uploads a part by copying data from an existing object as data source. - - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - Upload ID identifying the multipart upload whose part is being copied. - - The response from the CopyPart service method, as returned by S3. - - - - Uploads a part by copying data from an existing object as data source. - - Container for the necessary parameters to execute the CopyPart service method. - - The response from the CopyPart service method, as returned by S3. - - - - Uploads a part by copying data from an existing object as data source. - - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - Upload ID identifying the multipart upload whose part is being copied. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the CopyPart service method, as returned by S3. - - - - Uploads a part by copying data from an existing object as data source. - - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - A property of CopyPartRequest used to execute the CopyPart service method. - Upload ID identifying the multipart upload whose part is being copied. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the CopyPart service method, as returned by S3. - - - - Initiates the asynchronous execution of the CopyPart operation. - - - Container for the necessary parameters to execute the CopyPart operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Deletes the bucket. All objects (including all object versions and Delete Markers) - in the bucket must be deleted before the bucket itself can be deleted. - - A property of DeleteBucketRequest used to execute the DeleteBucket service method. - - The response from the DeleteBucket service method, as returned by S3. - - - - Deletes the bucket. All objects (including all object versions and Delete Markers) - in the bucket must be deleted before the bucket itself can be deleted. - - Container for the necessary parameters to execute the DeleteBucket service method. - - The response from the DeleteBucket service method, as returned by S3. - - - - Deletes the bucket. All objects (including all object versions and Delete Markers) - in the bucket must be deleted before the bucket itself can be deleted. - - A property of DeleteBucketRequest used to execute the DeleteBucket service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the DeleteBucket service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteBucket operation. - - - Container for the necessary parameters to execute the DeleteBucket operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Deletes an analytics configuration for the bucket (specified by the analytics configuration - ID). - - Container for the necessary parameters to execute the DeleteBucketAnalyticsConfiguration service method. - - The response from the DeleteBucketAnalyticsConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteBucketAnalyticsConfiguration operation. - - - Container for the necessary parameters to execute the DeleteBucketAnalyticsConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Deletes an inventory configuration (identified by the inventory ID) from the bucket. - - Container for the necessary parameters to execute the DeleteBucketInventoryConfiguration service method. - - The response from the DeleteBucketInventoryConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteBucketInventoryConfiguration operation. - - - Container for the necessary parameters to execute the DeleteBucketInventoryConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Deletes a metrics configuration (specified by the metrics configuration ID) from the - bucket. - - Container for the necessary parameters to execute the DeleteBucketMetricsConfiguration service method. - - The response from the DeleteBucketMetricsConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteBucketMetricsConfiguration operation. - - - Container for the necessary parameters to execute the DeleteBucketMetricsConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Deletes the policy from the bucket. - - A property of DeleteBucketPolicyRequest used to execute the DeleteBucketPolicy service method. - - The response from the DeleteBucketPolicy service method, as returned by S3. - - - - Deletes the policy from the bucket. - - Container for the necessary parameters to execute the DeleteBucketPolicy service method. - - The response from the DeleteBucketPolicy service method, as returned by S3. - - - - Deletes the policy from the bucket. - - A property of DeleteBucketPolicyRequest used to execute the DeleteBucketPolicy service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the DeleteBucketPolicy service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteBucketPolicy operation. - - - Container for the necessary parameters to execute the DeleteBucketPolicy operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Deletes the replication configuration from the bucket. - - Container for the necessary parameters to execute the DeleteBucketReplication service method. - - The response from the DeleteBucketReplication service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteBucketReplication operation. - - - Container for the necessary parameters to execute the DeleteBucketReplication operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Deletes the tags from the bucket. - - A property of DeleteBucketTaggingRequest used to execute the DeleteBucketTagging service method. - - The response from the DeleteBucketTagging service method, as returned by S3. - - - - Deletes the tags from the bucket. - - Container for the necessary parameters to execute the DeleteBucketTagging service method. - - The response from the DeleteBucketTagging service method, as returned by S3. - - - - Deletes the tags from the bucket. - - A property of DeleteBucketTaggingRequest used to execute the DeleteBucketTagging service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the DeleteBucketTagging service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteBucketTagging operation. - - - Container for the necessary parameters to execute the DeleteBucketTagging operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - This operation removes the website configuration from the bucket. - - A property of DeleteBucketWebsiteRequest used to execute the DeleteBucketWebsite service method. - - The response from the DeleteBucketWebsite service method, as returned by S3. - - - - This operation removes the website configuration from the bucket. - - Container for the necessary parameters to execute the DeleteBucketWebsite service method. - - The response from the DeleteBucketWebsite service method, as returned by S3. - - - - This operation removes the website configuration from the bucket. - - A property of DeleteBucketWebsiteRequest used to execute the DeleteBucketWebsite service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the DeleteBucketWebsite service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteBucketWebsite operation. - - - Container for the necessary parameters to execute the DeleteBucketWebsite operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Deletes the cors configuration information set for the bucket. - - A property of DeleteCORSConfigurationRequest used to execute the DeleteCORSConfiguration service method. - - The response from the DeleteCORSConfiguration service method, as returned by S3. - - - - Deletes the cors configuration information set for the bucket. - - Container for the necessary parameters to execute the DeleteCORSConfiguration service method. - - The response from the DeleteCORSConfiguration service method, as returned by S3. - - - - Deletes the cors configuration information set for the bucket. - - A property of DeleteCORSConfigurationRequest used to execute the DeleteCORSConfiguration service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the DeleteCORSConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteCORSConfiguration operation. - - - Container for the necessary parameters to execute the DeleteCORSConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Deletes the lifecycle configuration from the bucket. - - A property of DeleteLifecycleConfigurationRequest used to execute the DeleteLifecycleConfiguration service method. - - The response from the DeleteLifecycleConfiguration service method, as returned by S3. - - - - Deletes the lifecycle configuration from the bucket. - - Container for the necessary parameters to execute the DeleteLifecycleConfiguration service method. - - The response from the DeleteLifecycleConfiguration service method, as returned by S3. - - - - Deletes the lifecycle configuration from the bucket. - - A property of DeleteLifecycleConfigurationRequest used to execute the DeleteLifecycleConfiguration service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the DeleteLifecycleConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteLifecycleConfiguration operation. - - - Container for the necessary parameters to execute the DeleteLifecycleConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Removes the null version (if there is one) of an object and inserts a delete marker, - which becomes the latest version of the object. If there isn't a null version, Amazon - S3 does not remove any objects. - - A property of DeleteObjectRequest used to execute the DeleteObject service method. - A property of DeleteObjectRequest used to execute the DeleteObject service method. - - The response from the DeleteObject service method, as returned by S3. - - - - Removes the null version (if there is one) of an object and inserts a delete marker, - which becomes the latest version of the object. If there isn't a null version, Amazon - S3 does not remove any objects. - - A property of DeleteObjectRequest used to execute the DeleteObject service method. - A property of DeleteObjectRequest used to execute the DeleteObject service method. - VersionId used to reference a specific version of the object. - - The response from the DeleteObject service method, as returned by S3. - - - - Removes the null version (if there is one) of an object and inserts a delete marker, - which becomes the latest version of the object. If there isn't a null version, Amazon - S3 does not remove any objects. - - Container for the necessary parameters to execute the DeleteObject service method. - - The response from the DeleteObject service method, as returned by S3. - - - - Removes the null version (if there is one) of an object and inserts a delete marker, - which becomes the latest version of the object. If there isn't a null version, Amazon - S3 does not remove any objects. - - A property of DeleteObjectRequest used to execute the DeleteObject service method. - A property of DeleteObjectRequest used to execute the DeleteObject service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the DeleteObject service method, as returned by S3. - - - - Removes the null version (if there is one) of an object and inserts a delete marker, - which becomes the latest version of the object. If there isn't a null version, Amazon - S3 does not remove any objects. - - A property of DeleteObjectRequest used to execute the DeleteObject service method. - A property of DeleteObjectRequest used to execute the DeleteObject service method. - VersionId used to reference a specific version of the object. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the DeleteObject service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteObject operation. - - - Container for the necessary parameters to execute the DeleteObject operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - This operation enables you to delete multiple objects from a bucket using a single - HTTP request. You may specify up to 1000 keys. - - Container for the necessary parameters to execute the DeleteObjects service method. - - The response from the DeleteObjects service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteObjects operation. - - - Container for the necessary parameters to execute the DeleteObjects operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Removes the tag-set from an existing object. - - Container for the necessary parameters to execute the DeleteObjectTagging service method. - - The response from the DeleteObjectTagging service method, as returned by S3. - - - - Initiates the asynchronous execution of the DeleteObjectTagging operation. - - - Container for the necessary parameters to execute the DeleteObjectTagging operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Gets the access control policy for the bucket. - - A property of GetACLRequest used to execute the GetACL service method. - - The response from the GetACL service method, as returned by S3. - - - - Gets the access control policy for the bucket. - - Container for the necessary parameters to execute the GetACL service method. - - The response from the GetACL service method, as returned by S3. - - - - Gets the access control policy for the bucket. - - A property of GetACLRequest used to execute the GetACL service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetACL service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetACL operation. - - - Container for the necessary parameters to execute the GetACL operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the accelerate configuration of a bucket. - - Name of the bucket for which the accelerate configuration is retrieved. - - The response from the GetBucketAccelerateConfiguration service method, as returned by S3. - - - - Returns the accelerate configuration of a bucket. - - Container for the necessary parameters to execute the GetBucketAccelerateConfiguration service method. - - The response from the GetBucketAccelerateConfiguration service method, as returned by S3. - - - - Returns the accelerate configuration of a bucket. - - Name of the bucket for which the accelerate configuration is retrieved. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetBucketAccelerateConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketAccelerateConfiguration operation. - - - Container for the necessary parameters to execute the GetBucketAccelerateConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Gets an analytics configuration for the bucket (specified by the analytics configuration - ID). - - Container for the necessary parameters to execute the GetBucketAnalyticsConfiguration service method. - - The response from the GetBucketAnalyticsConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketAnalyticsConfiguration operation. - - - Container for the necessary parameters to execute the GetBucketAnalyticsConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns an inventory configuration (identified by the inventory ID) from the bucket. - - Container for the necessary parameters to execute the GetBucketInventoryConfiguration service method. - - The response from the GetBucketInventoryConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketInventoryConfiguration operation. - - - Container for the necessary parameters to execute the GetBucketInventoryConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the region the bucket resides in. - - A property of GetBucketLocationRequest used to execute the GetBucketLocation service method. - - The response from the GetBucketLocation service method, as returned by S3. - - - - Returns the region the bucket resides in. - - Container for the necessary parameters to execute the GetBucketLocation service method. - - The response from the GetBucketLocation service method, as returned by S3. - - - - Returns the region the bucket resides in. - - A property of GetBucketLocationRequest used to execute the GetBucketLocation service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetBucketLocation service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketLocation operation. - - - Container for the necessary parameters to execute the GetBucketLocation operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the logging status of a bucket and the permissions users have to view and - modify that status. To use GET, you must be the bucket owner. - - A property of GetBucketLoggingRequest used to execute the GetBucketLogging service method. - - The response from the GetBucketLogging service method, as returned by S3. - - - - Returns the logging status of a bucket and the permissions users have to view and - modify that status. To use GET, you must be the bucket owner. - - Container for the necessary parameters to execute the GetBucketLogging service method. - - The response from the GetBucketLogging service method, as returned by S3. - - - - Returns the logging status of a bucket and the permissions users have to view and - modify that status. To use GET, you must be the bucket owner. - - A property of GetBucketLoggingRequest used to execute the GetBucketLogging service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetBucketLogging service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketLogging operation. - - - Container for the necessary parameters to execute the GetBucketLogging operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Gets a metrics configuration (specified by the metrics configuration ID) from the - bucket. - - Container for the necessary parameters to execute the GetBucketMetricsConfiguration service method. - - The response from the GetBucketMetricsConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketMetricsConfiguration operation. - - - Container for the necessary parameters to execute the GetBucketMetricsConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the notification configuration of a bucket. - - Name of the bucket to get the notification configuration for. - - The response from the GetBucketNotification service method, as returned by S3. - - - - Returns the notification configuration of a bucket. - - Container for the necessary parameters to execute the GetBucketNotification service method. - - The response from the GetBucketNotification service method, as returned by S3. - - - - Returns the notification configuration of a bucket. - - Name of the bucket to get the notification configuration for. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetBucketNotification service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketNotification operation. - - - Container for the necessary parameters to execute the GetBucketNotification operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the policy of a specified bucket. - - A property of GetBucketPolicyRequest used to execute the GetBucketPolicy service method. - - The response from the GetBucketPolicy service method, as returned by S3. - - - - Returns the policy of a specified bucket. - - Container for the necessary parameters to execute the GetBucketPolicy service method. - - The response from the GetBucketPolicy service method, as returned by S3. - - - - Returns the policy of a specified bucket. - - A property of GetBucketPolicyRequest used to execute the GetBucketPolicy service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetBucketPolicy service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketPolicy operation. - - - Container for the necessary parameters to execute the GetBucketPolicy operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Retrieves the replication configuration for the given Amazon S3 bucket. - - Container for the necessary parameters to execute the GetBucketReplication service method. - - The response from the GetBucketReplication service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketReplication operation. - - - Container for the necessary parameters to execute the GetBucketReplication operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the request payment configuration of a bucket. - - A property of GetBucketRequestPaymentRequest used to execute the GetBucketRequestPayment service method. - - The response from the GetBucketRequestPayment service method, as returned by S3. - - - - Returns the request payment configuration of a bucket. - - Container for the necessary parameters to execute the GetBucketRequestPayment service method. - - The response from the GetBucketRequestPayment service method, as returned by S3. - - - - Returns the request payment configuration of a bucket. - - A property of GetBucketRequestPaymentRequest used to execute the GetBucketRequestPayment service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetBucketRequestPayment service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketRequestPayment operation. - - - Container for the necessary parameters to execute the GetBucketRequestPayment operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the tag set associated with the bucket. - - Container for the necessary parameters to execute the GetBucketTagging service method. - - The response from the GetBucketTagging service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketTagging operation. - - - Container for the necessary parameters to execute the GetBucketTagging operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the versioning state of a bucket. - - A property of GetBucketVersioningRequest used to execute the GetBucketVersioning service method. - - The response from the GetBucketVersioning service method, as returned by S3. - - - - Returns the versioning state of a bucket. - - Container for the necessary parameters to execute the GetBucketVersioning service method. - - The response from the GetBucketVersioning service method, as returned by S3. - - - - Returns the versioning state of a bucket. - - A property of GetBucketVersioningRequest used to execute the GetBucketVersioning service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetBucketVersioning service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketVersioning operation. - - - Container for the necessary parameters to execute the GetBucketVersioning operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the website configuration for a bucket. - - A property of GetBucketWebsiteRequest used to execute the GetBucketWebsite service method. - - The response from the GetBucketWebsite service method, as returned by S3. - - - - Returns the website configuration for a bucket. - - Container for the necessary parameters to execute the GetBucketWebsite service method. - - The response from the GetBucketWebsite service method, as returned by S3. - - - - Returns the website configuration for a bucket. - - A property of GetBucketWebsiteRequest used to execute the GetBucketWebsite service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetBucketWebsite service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetBucketWebsite operation. - - - Container for the necessary parameters to execute the GetBucketWebsite operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the cors configuration for the bucket. - - A property of GetCORSConfigurationRequest used to execute the GetCORSConfiguration service method. - - The response from the GetCORSConfiguration service method, as returned by S3. - - - - Returns the cors configuration for the bucket. - - Container for the necessary parameters to execute the GetCORSConfiguration service method. - - The response from the GetCORSConfiguration service method, as returned by S3. - - - - Returns the cors configuration for the bucket. - - A property of GetCORSConfigurationRequest used to execute the GetCORSConfiguration service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetCORSConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetCORSConfiguration operation. - - - Container for the necessary parameters to execute the GetCORSConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the lifecycle configuration information set on the bucket. - - A property of GetLifecycleConfigurationRequest used to execute the GetLifecycleConfiguration service method. - - The response from the GetLifecycleConfiguration service method, as returned by S3. - - - - Returns the lifecycle configuration information set on the bucket. - - Container for the necessary parameters to execute the GetLifecycleConfiguration service method. - - The response from the GetLifecycleConfiguration service method, as returned by S3. - - - - Returns the lifecycle configuration information set on the bucket. - - A property of GetLifecycleConfigurationRequest used to execute the GetLifecycleConfiguration service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetLifecycleConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetLifecycleConfiguration operation. - - - Container for the necessary parameters to execute the GetLifecycleConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Retrieves objects from Amazon S3. - - A property of GetObjectRequest used to execute the GetObject service method. - A property of GetObjectRequest used to execute the GetObject service method. - - The response from the GetObject service method, as returned by S3. - - - - Retrieves objects from Amazon S3. - - A property of GetObjectRequest used to execute the GetObject service method. - A property of GetObjectRequest used to execute the GetObject service method. - VersionId used to reference a specific version of the object. - - The response from the GetObject service method, as returned by S3. - - - - Retrieves objects from Amazon S3. - - Container for the necessary parameters to execute the GetObject service method. - - The response from the GetObject service method, as returned by S3. - - - - Retrieves objects from Amazon S3. - - A property of GetObjectRequest used to execute the GetObject service method. - A property of GetObjectRequest used to execute the GetObject service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetObject service method, as returned by S3. - - - - Retrieves objects from Amazon S3. - - A property of GetObjectRequest used to execute the GetObject service method. - A property of GetObjectRequest used to execute the GetObject service method. - VersionId used to reference a specific version of the object. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetObject service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetObject operation. - - - Container for the necessary parameters to execute the GetObject operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - The HEAD operation retrieves metadata from an object without returning the object - itself. This operation is useful if you're only interested in an object's metadata. - To use HEAD, you must have READ access to the object. - - A property of GetObjectMetadataRequest used to execute the GetObjectMetadata service method. - A property of GetObjectMetadataRequest used to execute the GetObjectMetadata service method. - - The response from the GetObjectMetadata service method, as returned by S3. - - - - The HEAD operation retrieves metadata from an object without returning the object - itself. This operation is useful if you're only interested in an object's metadata. - To use HEAD, you must have READ access to the object. - - A property of GetObjectMetadataRequest used to execute the GetObjectMetadata service method. - A property of GetObjectMetadataRequest used to execute the GetObjectMetadata service method. - VersionId used to reference a specific version of the object. - - The response from the GetObjectMetadata service method, as returned by S3. - - - - The HEAD operation retrieves metadata from an object without returning the object - itself. This operation is useful if you're only interested in an object's metadata. - To use HEAD, you must have READ access to the object. - - Container for the necessary parameters to execute the GetObjectMetadata service method. - - The response from the GetObjectMetadata service method, as returned by S3. - - - - The HEAD operation retrieves metadata from an object without returning the object - itself. This operation is useful if you're only interested in an object's metadata. - To use HEAD, you must have READ access to the object. - - A property of GetObjectMetadataRequest used to execute the GetObjectMetadata service method. - A property of GetObjectMetadataRequest used to execute the GetObjectMetadata service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetObjectMetadata service method, as returned by S3. - - - - The HEAD operation retrieves metadata from an object without returning the object - itself. This operation is useful if you're only interested in an object's metadata. - To use HEAD, you must have READ access to the object. - - A property of GetObjectMetadataRequest used to execute the GetObjectMetadata service method. - A property of GetObjectMetadataRequest used to execute the GetObjectMetadata service method. - VersionId used to reference a specific version of the object. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetObjectMetadata service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetObjectMetadata operation. - - - Container for the necessary parameters to execute the GetObjectMetadata operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns the tag-set of an object. - - Container for the necessary parameters to execute the GetObjectTagging service method. - - The response from the GetObjectTagging service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetObjectTagging operation. - - - Container for the necessary parameters to execute the GetObjectTagging operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Return torrent files from a bucket. - - A property of GetObjectTorrentRequest used to execute the GetObjectTorrent service method. - A property of GetObjectTorrentRequest used to execute the GetObjectTorrent service method. - - The response from the GetObjectTorrent service method, as returned by S3. - - - - Return torrent files from a bucket. - - Container for the necessary parameters to execute the GetObjectTorrent service method. - - The response from the GetObjectTorrent service method, as returned by S3. - - - - Return torrent files from a bucket. - - A property of GetObjectTorrentRequest used to execute the GetObjectTorrent service method. - A property of GetObjectTorrentRequest used to execute the GetObjectTorrent service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the GetObjectTorrent service method, as returned by S3. - - - - Initiates the asynchronous execution of the GetObjectTorrent operation. - - - Container for the necessary parameters to execute the GetObjectTorrent operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Initiates a multipart upload and returns an upload ID. - - - - Note: After you initiate multipart upload and upload one or more parts, you - must either complete or abort multipart upload in order to stop getting charged for - storage of the uploaded parts. Only after you either complete or abort multipart upload, - Amazon S3 frees up the parts storage and stops charging you for the parts storage. - - - A property of InitiateMultipartUploadRequest used to execute the InitiateMultipartUpload service method. - A property of InitiateMultipartUploadRequest used to execute the InitiateMultipartUpload service method. - - The response from the InitiateMultipartUpload service method, as returned by S3. - - - - Initiates a multipart upload and returns an upload ID. - - - - Note: After you initiate multipart upload and upload one or more parts, you - must either complete or abort multipart upload in order to stop getting charged for - storage of the uploaded parts. Only after you either complete or abort multipart upload, - Amazon S3 frees up the parts storage and stops charging you for the parts storage. - - - Container for the necessary parameters to execute the InitiateMultipartUpload service method. - - The response from the InitiateMultipartUpload service method, as returned by S3. - - - - Initiates a multipart upload and returns an upload ID. - - - - Note: After you initiate multipart upload and upload one or more parts, you - must either complete or abort multipart upload in order to stop getting charged for - storage of the uploaded parts. Only after you either complete or abort multipart upload, - Amazon S3 frees up the parts storage and stops charging you for the parts storage. - - - A property of InitiateMultipartUploadRequest used to execute the InitiateMultipartUpload service method. - A property of InitiateMultipartUploadRequest used to execute the InitiateMultipartUpload service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the InitiateMultipartUpload service method, as returned by S3. - - - - Initiates the asynchronous execution of the InitiateMultipartUpload operation. - - - Container for the necessary parameters to execute the InitiateMultipartUpload operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Lists the analytics configurations for the bucket. - - Container for the necessary parameters to execute the ListBucketAnalyticsConfigurations service method. - - The response from the ListBucketAnalyticsConfigurations service method, as returned by S3. - - - - Initiates the asynchronous execution of the ListBucketAnalyticsConfigurations operation. - - - Container for the necessary parameters to execute the ListBucketAnalyticsConfigurations operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns a list of inventory configurations for the bucket. - - Container for the necessary parameters to execute the ListBucketInventoryConfigurations service method. - - The response from the ListBucketInventoryConfigurations service method, as returned by S3. - - - - Initiates the asynchronous execution of the ListBucketInventoryConfigurations operation. - - - Container for the necessary parameters to execute the ListBucketInventoryConfigurations operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Lists the metrics configurations for the bucket. - - Container for the necessary parameters to execute the ListBucketMetricsConfigurations service method. - - The response from the ListBucketMetricsConfigurations service method, as returned by S3. - - - - Initiates the asynchronous execution of the ListBucketMetricsConfigurations operation. - - - Container for the necessary parameters to execute the ListBucketMetricsConfigurations operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns a list of all buckets owned by the authenticated sender of the request. - - - The response from the ListBuckets service method, as returned by S3. - - - - Returns a list of all buckets owned by the authenticated sender of the request. - - Container for the necessary parameters to execute the ListBuckets service method. - - The response from the ListBuckets service method, as returned by S3. - - - - Returns a list of all buckets owned by the authenticated sender of the request. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the ListBuckets service method, as returned by S3. - - - - Initiates the asynchronous execution of the ListBuckets operation. - - - Container for the necessary parameters to execute the ListBuckets operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - This operation lists in-progress multipart uploads. - - A property of ListMultipartUploadsRequest used to execute the ListMultipartUploads service method. - - The response from the ListMultipartUploads service method, as returned by S3. - - - - This operation lists in-progress multipart uploads. - - A property of ListMultipartUploadsRequest used to execute the ListMultipartUploads service method. - Lists in-progress uploads only for those keys that begin with the specified prefix. - - The response from the ListMultipartUploads service method, as returned by S3. - - - - This operation lists in-progress multipart uploads. - - Container for the necessary parameters to execute the ListMultipartUploads service method. - - The response from the ListMultipartUploads service method, as returned by S3. - - - - This operation lists in-progress multipart uploads. - - A property of ListMultipartUploadsRequest used to execute the ListMultipartUploads service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the ListMultipartUploads service method, as returned by S3. - - - - This operation lists in-progress multipart uploads. - - A property of ListMultipartUploadsRequest used to execute the ListMultipartUploads service method. - Lists in-progress uploads only for those keys that begin with the specified prefix. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the ListMultipartUploads service method, as returned by S3. - - - - Initiates the asynchronous execution of the ListMultipartUploads operation. - - - Container for the necessary parameters to execute the ListMultipartUploads operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns some or all (up to 1000) of the objects in a bucket. You can use the request - parameters as selection criteria to return a subset of the objects in a bucket. - - A property of ListObjectsRequest used to execute the ListObjects service method. - - The response from the ListObjects service method, as returned by S3. - - - - Returns some or all (up to 1000) of the objects in a bucket. You can use the request - parameters as selection criteria to return a subset of the objects in a bucket. - - A property of ListObjectsRequest used to execute the ListObjects service method. - Limits the response to keys that begin with the specified prefix. - - The response from the ListObjects service method, as returned by S3. - - - - Returns some or all (up to 1000) of the objects in a bucket. You can use the request - parameters as selection criteria to return a subset of the objects in a bucket. - - Container for the necessary parameters to execute the ListObjects service method. - - The response from the ListObjects service method, as returned by S3. - - - - Returns some or all (up to 1000) of the objects in a bucket. You can use the request - parameters as selection criteria to return a subset of the objects in a bucket. - - A property of ListObjectsRequest used to execute the ListObjects service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the ListObjects service method, as returned by S3. - - - - Returns some or all (up to 1000) of the objects in a bucket. You can use the request - parameters as selection criteria to return a subset of the objects in a bucket. - - A property of ListObjectsRequest used to execute the ListObjects service method. - Limits the response to keys that begin with the specified prefix. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the ListObjects service method, as returned by S3. - - - - Initiates the asynchronous execution of the ListObjects operation. - - - Container for the necessary parameters to execute the ListObjects operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns some or all (up to 1000) of the objects in a bucket. You can use the request - parameters as selection criteria to return a subset of the objects in a bucket. Note: - ListObjectsV2 is the revised List Objects API and we recommend you use this revised - API for new application development. - - Container for the necessary parameters to execute the ListObjectsV2 service method. - - The response from the ListObjectsV2 service method, as returned by S3. - - - - Initiates the asynchronous execution of the ListObjectsV2 operation. - - - Container for the necessary parameters to execute the ListObjectsV2 operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Lists the parts that have been uploaded for a specific multipart upload. - - A property of ListPartsRequest used to execute the ListParts service method. - A property of ListPartsRequest used to execute the ListParts service method. - Upload ID identifying the multipart upload whose parts are being listed. - - The response from the ListParts service method, as returned by S3. - - - - Lists the parts that have been uploaded for a specific multipart upload. - - Container for the necessary parameters to execute the ListParts service method. - - The response from the ListParts service method, as returned by S3. - - - - Lists the parts that have been uploaded for a specific multipart upload. - - A property of ListPartsRequest used to execute the ListParts service method. - A property of ListPartsRequest used to execute the ListParts service method. - Upload ID identifying the multipart upload whose parts are being listed. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the ListParts service method, as returned by S3. - - - - Initiates the asynchronous execution of the ListParts operation. - - - Container for the necessary parameters to execute the ListParts operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns metadata about all of the versions of objects in a bucket. - - A property of ListVersionsRequest used to execute the ListVersions service method. - - The response from the ListVersions service method, as returned by S3. - - - - Returns metadata about all of the versions of objects in a bucket. - - A property of ListVersionsRequest used to execute the ListVersions service method. - Limits the response to keys that begin with the specified prefix. - - The response from the ListVersions service method, as returned by S3. - - - - Returns metadata about all of the versions of objects in a bucket. - - Container for the necessary parameters to execute the ListVersions service method. - - The response from the ListVersions service method, as returned by S3. - - - - Returns metadata about all of the versions of objects in a bucket. - - A property of ListVersionsRequest used to execute the ListVersions service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the ListVersions service method, as returned by S3. - - - - Returns metadata about all of the versions of objects in a bucket. - - A property of ListVersionsRequest used to execute the ListVersions service method. - Limits the response to keys that begin with the specified prefix. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the ListVersions service method, as returned by S3. - - - - Initiates the asynchronous execution of the ListVersions operation. - - - Container for the necessary parameters to execute the ListVersions operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Sets the permissions on a bucket using access control lists (ACL). - - Container for the necessary parameters to execute the PutACL service method. - - The response from the PutACL service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutACL operation. - - - Container for the necessary parameters to execute the PutACL operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Creates a new bucket. - - A property of PutBucketRequest used to execute the PutBucket service method. - - The response from the PutBucket service method, as returned by S3. - - - - Creates a new bucket. - - Container for the necessary parameters to execute the PutBucket service method. - - The response from the PutBucket service method, as returned by S3. - - - - Creates a new bucket. - - A property of PutBucketRequest used to execute the PutBucket service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the PutBucket service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucket operation. - - - Container for the necessary parameters to execute the PutBucket operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Sets the accelerate configuration of an existing bucket. - - Container for the necessary parameters to execute the PutBucketAccelerateConfiguration service method. - - The response from the PutBucketAccelerateConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketAccelerateConfiguration operation. - - - Container for the necessary parameters to execute the PutBucketAccelerateConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Sets an analytics configuration for the bucket (specified by the analytics configuration - ID). - - Container for the necessary parameters to execute the PutBucketAnalyticsConfiguration service method. - - The response from the PutBucketAnalyticsConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketAnalyticsConfiguration operation. - - - Container for the necessary parameters to execute the PutBucketAnalyticsConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Adds an inventory configuration (identified by the inventory ID) from the bucket. - - Container for the necessary parameters to execute the PutBucketInventoryConfiguration service method. - - The response from the PutBucketInventoryConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketInventoryConfiguration operation. - - - Container for the necessary parameters to execute the PutBucketInventoryConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Set the logging parameters for a bucket and to specify permissions for who can view - and modify the logging parameters. To set the logging status of a bucket, you must - be the bucket owner. - - Container for the necessary parameters to execute the PutBucketLogging service method. - - The response from the PutBucketLogging service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketLogging operation. - - - Container for the necessary parameters to execute the PutBucketLogging operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Sets a metrics configuration (specified by the metrics configuration ID) for the bucket. - - Container for the necessary parameters to execute the PutBucketMetricsConfiguration service method. - - The response from the PutBucketMetricsConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketMetricsConfiguration operation. - - - Container for the necessary parameters to execute the PutBucketMetricsConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Enables notifications of specified events for a bucket. - - Container for the necessary parameters to execute the PutBucketNotification service method. - - The response from the PutBucketNotification service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketNotification operation. - - - Container for the necessary parameters to execute the PutBucketNotification operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Replaces a policy on a bucket. If the bucket already has a policy, the one in this - request completely replaces it. - - A property of PutBucketPolicyRequest used to execute the PutBucketPolicy service method. - The bucket policy as a JSON document. - - The response from the PutBucketPolicy service method, as returned by S3. - - - - Replaces a policy on a bucket. If the bucket already has a policy, the one in this - request completely replaces it. - - A property of PutBucketPolicyRequest used to execute the PutBucketPolicy service method. - The bucket policy as a JSON document. - A property of PutBucketPolicyRequest used to execute the PutBucketPolicy service method. - - The response from the PutBucketPolicy service method, as returned by S3. - - - - Replaces a policy on a bucket. If the bucket already has a policy, the one in this - request completely replaces it. - - Container for the necessary parameters to execute the PutBucketPolicy service method. - - The response from the PutBucketPolicy service method, as returned by S3. - - - - Replaces a policy on a bucket. If the bucket already has a policy, the one in this - request completely replaces it. - - A property of PutBucketPolicyRequest used to execute the PutBucketPolicy service method. - The bucket policy as a JSON document. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the PutBucketPolicy service method, as returned by S3. - - - - Replaces a policy on a bucket. If the bucket already has a policy, the one in this - request completely replaces it. - - A property of PutBucketPolicyRequest used to execute the PutBucketPolicy service method. - The bucket policy as a JSON document. - A property of PutBucketPolicyRequest used to execute the PutBucketPolicy service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the PutBucketPolicy service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketPolicy operation. - - - Container for the necessary parameters to execute the PutBucketPolicy operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Creates a new replication configuration (or replaces an existing one, if present). - - Container for the necessary parameters to execute the PutBucketReplication service method. - - The response from the PutBucketReplication service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketReplication operation. - - - Container for the necessary parameters to execute the PutBucketReplication operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Sets the request payment configuration for a bucket. By default, the bucket owner - pays for downloads from the bucket. This configuration parameter enables the bucket - owner (only) to specify that the person requesting the download will be charged for - the download. Documentation on requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html - - A property of PutBucketRequestPaymentRequest used to execute the PutBucketRequestPayment service method. - A property of PutBucketRequestPaymentRequest used to execute the PutBucketRequestPayment service method. - - The response from the PutBucketRequestPayment service method, as returned by S3. - - - - Sets the request payment configuration for a bucket. By default, the bucket owner - pays for downloads from the bucket. This configuration parameter enables the bucket - owner (only) to specify that the person requesting the download will be charged for - the download. Documentation on requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html - - Container for the necessary parameters to execute the PutBucketRequestPayment service method. - - The response from the PutBucketRequestPayment service method, as returned by S3. - - - - Sets the request payment configuration for a bucket. By default, the bucket owner - pays for downloads from the bucket. This configuration parameter enables the bucket - owner (only) to specify that the person requesting the download will be charged for - the download. Documentation on requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html - - A property of PutBucketRequestPaymentRequest used to execute the PutBucketRequestPayment service method. - A property of PutBucketRequestPaymentRequest used to execute the PutBucketRequestPayment service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the PutBucketRequestPayment service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketRequestPayment operation. - - - Container for the necessary parameters to execute the PutBucketRequestPayment operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Sets the tags for a bucket. - - A property of PutBucketTaggingRequest used to execute the PutBucketTagging service method. - A property of PutBucketTaggingRequest used to execute the PutBucketTagging service method. - - The response from the PutBucketTagging service method, as returned by S3. - - - - Sets the tags for a bucket. - - Container for the necessary parameters to execute the PutBucketTagging service method. - - The response from the PutBucketTagging service method, as returned by S3. - - - - Sets the tags for a bucket. - - A property of PutBucketTaggingRequest used to execute the PutBucketTagging service method. - A property of PutBucketTaggingRequest used to execute the PutBucketTagging service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the PutBucketTagging service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketTagging operation. - - - Container for the necessary parameters to execute the PutBucketTagging operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Sets the versioning state of an existing bucket. To set the versioning state, you - must be the bucket owner. - - Container for the necessary parameters to execute the PutBucketVersioning service method. - - The response from the PutBucketVersioning service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketVersioning operation. - - - Container for the necessary parameters to execute the PutBucketVersioning operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Set the website configuration for a bucket. - - A property of PutBucketWebsiteRequest used to execute the PutBucketWebsite service method. - A property of PutBucketWebsiteRequest used to execute the PutBucketWebsite service method. - - The response from the PutBucketWebsite service method, as returned by S3. - - - - Set the website configuration for a bucket. - - Container for the necessary parameters to execute the PutBucketWebsite service method. - - The response from the PutBucketWebsite service method, as returned by S3. - - - - Set the website configuration for a bucket. - - A property of PutBucketWebsiteRequest used to execute the PutBucketWebsite service method. - A property of PutBucketWebsiteRequest used to execute the PutBucketWebsite service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the PutBucketWebsite service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutBucketWebsite operation. - - - Container for the necessary parameters to execute the PutBucketWebsite operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Sets the cors configuration for a bucket. - - A property of PutCORSConfigurationRequest used to execute the PutCORSConfiguration service method. - A property of PutCORSConfigurationRequest used to execute the PutCORSConfiguration service method. - - The response from the PutCORSConfiguration service method, as returned by S3. - - - - Sets the cors configuration for a bucket. - - Container for the necessary parameters to execute the PutCORSConfiguration service method. - - The response from the PutCORSConfiguration service method, as returned by S3. - - - - Sets the cors configuration for a bucket. - - A property of PutCORSConfigurationRequest used to execute the PutCORSConfiguration service method. - A property of PutCORSConfigurationRequest used to execute the PutCORSConfiguration service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the PutCORSConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutCORSConfiguration operation. - - - Container for the necessary parameters to execute the PutCORSConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Sets lifecycle configuration for your bucket. If a lifecycle configuration exists, - it replaces it. - - A property of PutLifecycleConfigurationRequest used to execute the PutLifecycleConfiguration service method. - A property of PutLifecycleConfigurationRequest used to execute the PutLifecycleConfiguration service method. - - The response from the PutLifecycleConfiguration service method, as returned by S3. - - - - Sets lifecycle configuration for your bucket. If a lifecycle configuration exists, - it replaces it. - - Container for the necessary parameters to execute the PutLifecycleConfiguration service method. - - The response from the PutLifecycleConfiguration service method, as returned by S3. - - - - Sets lifecycle configuration for your bucket. If a lifecycle configuration exists, - it replaces it. - - A property of PutLifecycleConfigurationRequest used to execute the PutLifecycleConfiguration service method. - A property of PutLifecycleConfigurationRequest used to execute the PutLifecycleConfiguration service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the PutLifecycleConfiguration service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutLifecycleConfiguration operation. - - - Container for the necessary parameters to execute the PutLifecycleConfiguration operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Adds an object to a bucket. - - Container for the necessary parameters to execute the PutObject service method. - - The response from the PutObject service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutObject operation. - - - Container for the necessary parameters to execute the PutObject operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Sets the supplied tag-set to an object that already exists in a bucket - - Container for the necessary parameters to execute the PutObjectTagging service method. - - The response from the PutObjectTagging service method, as returned by S3. - - - - Initiates the asynchronous execution of the PutObjectTagging operation. - - - Container for the necessary parameters to execute the PutObjectTagging operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Restores an archived copy of an object back into Amazon S3 - - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - - The response from the RestoreObject service method, as returned by S3. - - - - Restores an archived copy of an object back into Amazon S3 - - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - - The response from the RestoreObject service method, as returned by S3. - - - - Restores an archived copy of an object back into Amazon S3 - - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - - The response from the RestoreObject service method, as returned by S3. - - - - Restores an archived copy of an object back into Amazon S3 - - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - - The response from the RestoreObject service method, as returned by S3. - - - - Restores an archived copy of an object back into Amazon S3 - - Container for the necessary parameters to execute the RestoreObject service method. - - The response from the RestoreObject service method, as returned by S3. - - - - Restores an archived copy of an object back into Amazon S3 - - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the RestoreObject service method, as returned by S3. - - - - Restores an archived copy of an object back into Amazon S3 - - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the RestoreObject service method, as returned by S3. - - - - Restores an archived copy of an object back into Amazon S3 - - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the RestoreObject service method, as returned by S3. - - - - Restores an archived copy of an object back into Amazon S3 - - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - A property of RestoreObjectRequest used to execute the RestoreObject service method. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - - The response from the RestoreObject service method, as returned by S3. - - - - Initiates the asynchronous execution of the RestoreObject operation. - - - Container for the necessary parameters to execute the RestoreObject operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Uploads a part in a multipart upload. - - - - Note: After you initiate multipart upload and upload one or more parts, you - must either complete or abort multipart upload in order to stop getting charged for - storage of the uploaded parts. Only after you either complete or abort multipart upload, - Amazon S3 frees up the parts storage and stops charging you for the parts storage. - - - Container for the necessary parameters to execute the UploadPart service method. - - The response from the UploadPart service method, as returned by S3. - - - - Initiates the asynchronous execution of the UploadPart operation. - - - Container for the necessary parameters to execute the UploadPart operation. - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - The base class for requests that return Amazon S3 objects. - - - - - Gets or sets the name of the bucket. - - - The name of the bucket. - - - - - Gets whether or not the bucket name is set. - - - A value of true if the bucket name is set. - Returns false if otherwise. - - - - - Gets or sets the key under which the Amazon S3 object is stored. - - - The key under which the Amazon S3 object is stored. - - - - - Gets whether or not the key property is set. - - - A value of true if key property is set. - Returns false if otherwise. - - - - - Gets or sets the version ID of the Amazon S3 object. - - - The version ID of the Amazon S3 object. - - - - - Checks if VersionId property is set. - - true if VersionId property is set. - - - - Gets or sets the ModifiedSinceDate property. - - - The ModifiedSinceDate property. - - - - - Checks if ModifiedSinceDate property is set. - - true if ModifiedSinceDate property is set. - - - - Gets or sets the UnmodifiedSinceDate property. - - - The UnmodifiedSinceDate property. - - - - - Checks if UnmodifiedSinceDate property is set. - - true if UnmodifiedSinceDate property is set. - - - - The Server-side encryption algorithm to be used with the customer provided key. - - - - - - The base64-encoded encryption key for Amazon S3 to use to decrypt the object - - Using the encryption key you provide as part of your request Amazon S3 manages both the encryption, as it writes - to disks, and decryption, when you access your objects. Therefore, you don't need to maintain any data encryption code. The only - thing you do is manage the encryption keys you provide. - - - When you retrieve an object, you must provide the same encryption key as part of your request. Amazon S3 first verifies - the encryption key you provided matches, and then decrypts the object before returning the object data to you. - - - Important: Amazon S3 does not store the encryption key you provide. - - - - - - The MD5 of the customer encryption key specified in the ServerSideEncryptionCustomerProvidedKey property. The MD5 is - base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set. - - - - - The base class TransferUtility request classes. - - - - - - Provides a high level utility for managing transfers to and from Amazon S3. - - - TransferUtility provides a simple API for - uploading content to and downloading content - from Amazon S3. It makes extensive use of Amazon S3 multipart uploads to - achieve enhanced throughput, performance, and reliability. - - - When uploading large files by specifying file paths instead of a stream, - TransferUtility uses multiple threads to upload - multiple parts of a single upload at once. When dealing with large content - sizes and high bandwidth, this can increase throughput significantly. - - - - - Transfers are stored in memory. If the application is restarted, - previous transfers are no longer accessible. In this situation, if necessary, - you should clean up any multipart uploads that are incomplete. - - - - - Provides a high level utility for managing transfers to and from Amazon S3. - - - TransferUtility provides a simple API for - uploading content to and downloading content - from Amazon S3. It makes extensive use of Amazon S3 multipart uploads to - achieve enhanced throughput, performance, and reliability. - - - When uploading large files by specifying file paths instead of a stream, - TransferUtility uses multiple threads to upload - multiple parts of a single upload at once. When dealing with large content - sizes and high bandwidth, this can increase throughput significantly. - - - - - Transfers are stored in memory. If the application is restarted, - previous transfers are no longer accessible. In this situation, if necessary, - you should clean up any multipart uploads that are incomplete. - - - - - Provides a high level utility for managing transfers to and from Amazon S3. - - - TransferUtility provides a simple API for - uploading content to and downloading content - from Amazon S3. It makes extensive use of Amazon S3 multipart uploads to - achieve enhanced throughput, performance, and reliability. - - - When uploading large files by specifying file paths instead of a stream, - TransferUtility uses multiple threads to upload - multiple parts of a single upload at once. When dealing with large content - sizes and high bandwidth, this can increase throughput significantly. - - - - - Transfers are stored in memory. If the application is restarted, - previous transfers are no longer accessible. In this situation, if necessary, - you should clean up any multipart uploads that are incomplete. - - - - - - Gets the Amazon S3 client used for making calls into Amazon S3. - - - The Amazon S3 client used for making calls into Amazon S3. - - - - - Uploads the specified file. - The object key is derived from the file's name. - Multiple threads are used to read the file and perform multiple uploads in parallel. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploadsAsync() to abort the incomplete multipart uploads. - - - - The file path of the file to upload. - - - The target Amazon S3 bucket, that is, the name of the bucket to upload the file to. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Uploads the specified file. - Multiple threads are used to read the file and perform multiple uploads in parallel. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploadsAsync() to abort the incomplete multipart uploads. - - - - The file path of the file to upload. - - - The target Amazon S3 bucket, that is, the name of the bucket to upload the file to. - - - The key under which the Amazon S3 object is stored. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Uploads the contents of the specified stream. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploadsAsync() to abort the incomplete multipart uploads. - - - - The stream to read to obtain the content to upload. - - - The target Amazon S3 bucket, that is, the name of the bucket to upload the stream to. - - - The key under which the Amazon S3 object is stored. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Uploads the file or stream specified by the request. - To track the progress of the upload, - add an event listener to the request's UploadProgressEvent. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploadsAsync() to abort the incomplete multipart uploads. - - - - Contains all the parameters required to upload to Amazon S3. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Aborts the multipart uploads that were initiated before the specified date. - - - The name of the bucket containing multipart uploads. - - - The date before which the multipart uploads were initiated. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Downloads the content from Amazon S3 and writes it to the specified file. - If the key is not specified in the request parameter, - the file name will used as the key name. - - - Contains all the parameters required to download an Amazon S3 object. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns a stream from which the caller can read the content from the specified - Amazon S3 bucket and key. - The caller of this method is responsible for closing the stream. - - - The name of the bucket. - - - The object key. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns a stream to read the contents from Amazon S3 as - specified by the TransferUtilityOpenStreamRequest. - The caller of this method is responsible for closing the stream. - - - Contains all the parameters required for the OpenStream operation. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Uploads files from a specified directory. - The object key is derived from the file names - inside the directory. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads. - - - - The source directory, that is, the directory containing the files to upload. - - - The target Amazon S3 bucket, that is, the name of the bucket to upload the files to. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Uploads files from a specified directory. - The object key is derived from the file names - inside the directory. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads. - - - - The source directory, that is, the directory containing the files to upload. - - - The target Amazon S3 bucket, that is, the name of the bucket to upload the files to. - - - A pattern used to identify the files from the source directory to upload. - - - A search option that specifies whether to recursively search for files to upload - in subdirectories. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Uploads files from a specified directory. - The object key is derived from the file names - inside the directory. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads. - - - - The request that contains all the parameters required to upload a directory. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Downloads the objects in Amazon S3 that have a key that starts with the value - specified by s3Directory. - - - The name of the bucket containing the Amazon S3 objects to download. - - - The directory in Amazon S3 to download. - - - The local directory to download the objects to. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Downloads the objects in Amazon S3 that have a key that starts with the value - specified by the S3Directory - property of the passed in TransferUtilityDownloadDirectoryRequest object. - - - Contains all the parameters required to download objects from Amazon S3 - into a local directory. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Downloads the content from Amazon S3 and writes it to the specified file. - - - The file path where the content from Amazon S3 will be written to. - - - The name of the bucket containing the Amazon S3 object to download. - - - The key under which the Amazon S3 object is stored. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Uploads files from a specified directory. - The object key is derived from the file names - inside the directory. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads. - - - - The source directory, that is, the directory containing the files to upload. - - - The target Amazon S3 bucket, that is, the name of the bucket to upload the files to. - - - - - Uploads files from a specified directory. - The object key is derived from the file names - inside the directory. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads. - - - - The source directory, that is, the directory containing the files to upload. - - - The target Amazon S3 bucket, that is, the name of the bucket to upload the files to. - - - A pattern used to identify the files from the source directory to upload. - - - A search option that specifies whether to recursively search for files to upload - in subdirectories. - - - - - Uploads files from a specified directory. - The object key is derived from the file names - inside the directory. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads. - - - - The request that contains all the parameters required to upload a directory. - - - - - Uploads the specified file. - The object key is derived from the file's name. - Multiple threads are used to read the file and perform multiple uploads in parallel. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads. - - - - The file path of the file to upload. - - - The target Amazon S3 bucket, that is, the name of the bucket to upload the file to. - - - - - Uploads the specified file. - Multiple threads are used to read the file and perform multiple uploads in parallel. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads. - - - - The file path of the file to upload. - - - The target Amazon S3 bucket, that is, the name of the bucket to upload the file to. - - - The key under which the Amazon S3 object is stored. - - - - - Uploads the contents of the specified stream. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads. - - - - The stream to read to obtain the content to upload. - - - The target Amazon S3 bucket, that is, the name of the bucket to upload the stream to. - - - The key under which the Amazon S3 object is stored. - - - - - Uploads the file or stream specified by the request. - To track the progress of the upload, - add an event listener to the request's UploadProgressEvent. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads. - - - - Contains all the parameters required to upload to Amazon S3. - - - - - Returns a stream from which the caller can read the content from the specified - Amazon S3 bucket and key. - The caller of this method is responsible for closing the stream. - - - The name of the bucket. - - - The object key. - - - A stream of the contents from the specified Amazon S3 and key. - - - - - Returns a stream to read the contents from Amazon S3 as - specified by the TransferUtilityOpenStreamRequest. - The caller of this method is responsible for closing the stream. - - - Contains all the parameters required to open a stream to an S3 object. - - - A stream of the contents from Amazon S3. - - - - - Downloads the content from Amazon S3 and writes it to the specified file. - - - The file path where the content from Amazon S3 will be written to. - - - The name of the bucket containing the Amazon S3 object to download. - - - The key under which the Amazon S3 object is stored. - - - - - Downloads the content from Amazon S3 and writes it to the specified file. - If the key is not specified in the request parameter, - the file name will used as the key name. - - - Contains all the parameters required to download an Amazon S3 object. - - - - - Downloads the objects in Amazon S3 that have a key that starts with the value - specified by s3Directory. - - - The name of the bucket containing the Amazon S3 objects to download. - - - The directory in Amazon S3 to download. - - - The local directory to download the objects to. - - - - - Downloads the objects in Amazon S3 that have a key that starts with the value - specified by the S3Directory - property of the passed in TransferUtilityDownloadDirectoryRequest object. - - - Contains all the parameters required to download objects from Amazon S3 - into a local directory. - - - - - Aborts the multipart uploads that were initiated before the specified date. - - - The name of the bucket containing multipart uploads. - - - The date before which the multipart uploads were initiated. - - - - - - Provides a high level utility for managing transfers to and from Amazon S3. - - - TransferUtility provides a simple API for - uploading content to and downloading content - from Amazon S3. It makes extensive use of Amazon S3 multipart uploads to - achieve enhanced throughput, performance, and reliability. - - - When uploading large files by specifying file paths instead of a stream, - TransferUtility uses multiple threads to upload - multiple parts of a single upload at once. When dealing with large content - sizes and high bandwidth, this can increase throughput significantly. - - - - - Transfers are stored in memory. If the application is restarted, - previous transfers are no longer accessible. In this situation, if necessary, - you should clean up any multipart uploads that are incomplete. - - - - - Provides a high level utility for managing transfers to and from Amazon S3. - - - TransferUtility provides a simple API for - uploading content to and downloading content - from Amazon S3. It makes extensive use of Amazon S3 multipart uploads to - achieve enhanced throughput, performance, and reliability. - - - When uploading large files by specifying file paths instead of a stream, - TransferUtility uses multiple threads to upload - multiple parts of a single upload at once. When dealing with large content - sizes and high bandwidth, this can increase throughput significantly. - - - - - Transfers are stored in memory. If the application is restarted, - previous transfers are no longer accessible. In this situation, if necessary, - you should clean up any multipart uploads that are incomplete. - - - - - Provides a high level utility for managing transfers to and from Amazon S3. - - - TransferUtility provides a simple API for - uploading content to and downloading content - from Amazon S3. It makes extensive use of Amazon S3 multipart uploads to - achieve enhanced throughput, performance, and reliability. - - - When uploading large files by specifying file paths instead of a stream, - TransferUtility uses multiple threads to upload - multiple parts of a single upload at once. When dealing with large content - sizes and high bandwidth, this can increase throughput significantly. - - - - - Transfers are stored in memory. If the application is restarted, - previous transfers are no longer accessible. In this situation, if necessary, - you should clean up any multipart uploads that are incomplete. - - - - - Provides a high level utility for managing transfers to and from Amazon S3. - - - TransferUtility provides a simple API for - uploading content to and downloading content - from Amazon S3. It makes extensive use of Amazon S3 multipart uploads to - achieve enhanced throughput, performance, and reliability. - - - When uploading large files by specifying file paths instead of a stream, - TransferUtility uses multiple threads to upload - multiple parts of a single upload at once. When dealing with large content - sizes and high bandwidth, this can increase throughput significantly. - - - - - Transfers are stored in memory. If the application is restarted, - previous transfers are no longer accessible. In this situation, if necessary, - you should clean up any multipart uploads that are incomplete. - - - - - - Constructs a new class. - - - The AWS Access Key ID. - - - The AWS Secret Access Key. - - - - If a Timeout needs to be specified, use the constructor which takes an as a paramater. - Use an instance of constructed with an object with the Timeout specified. - - - - - - Constructs a new class. - - - The AWS Access Key ID. - - - The AWS Secret Access Key. - - - The region to configure the transfer utility for. - - - - If a Timeout needs to be specified, use the constructor which takes an as a paramater. - Use an instance of constructed with an object with the Timeout specified. - - - - - - Constructs a new instance of the class. - - - The AWS Access Key ID. - - - The AWS Secret Access Key. - - - Specifies advanced settings. - - - - If a Timeout needs to be specified, use the constructor which takes an as a paramater. - Use an instance of constructed with an object with the Timeout specified. - - - - - - Constructs a new instance of the class. - - - The AWS Access Key ID. - - - The AWS Secret Access Key. - - - The region to configure the transfer utility for. - - - Specifies advanced settings. - - - - If a Timeout needs to be specified, use the constructor which takes an as a paramater. - Use an instance of constructed with an object with the Timeout specified. - - - - - - Constructs a new instance of the class. - - - The Amazon S3 client. - - - - If a Timeout needs to be specified, use the constructor which takes an as a paramater. - Use an instance of constructed with an object with the Timeout specified. - - - - - - Initializes a new instance of the class. - - - The Amazon S3 client. - - - Specifies advanced configuration settings for . - - - - If a Timeout needs to be specified, use the constructor which takes an as a paramater. - Use an instance of constructed with an object with the Timeout specified. - - - - - - Gets the Amazon S3 client used for making calls into Amazon S3. - - - The Amazon S3 client used for making calls into Amazon S3. - - - - - Implements the Dispose pattern - - Whether this object is being disposed via a call to Dispose - or garbage collected. - - - - Disposes of all managed and unmanaged resources. - - - - - Uploads the specified file. - The object key is derived from the file's name. - Multiple threads are used to read the file and perform multiple uploads in parallel. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploadsAsync() to abort the incomplete multipart uploads. - - - - The file path of the file to upload. - - - The target Amazon S3 bucket, that is, the name of the bucket to upload the file to. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Uploads the specified file. - Multiple threads are used to read the file and perform multiple uploads in parallel. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploadsAsync() to abort the incomplete multipart uploads. - - - - The file path of the file to upload. - - - The target Amazon S3 bucket, that is, the name of the bucket to upload the file to. - - - The key under which the Amazon S3 object is stored. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Uploads the contents of the specified stream. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploadsAsync() to abort the incomplete multipart uploads. - - - - The stream to read to obtain the content to upload. - - - The target Amazon S3 bucket, that is, the name of the bucket to upload the stream to. - - - The key under which the Amazon S3 object is stored. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Uploads the file or stream specified by the request. - To track the progress of the upload, - add an event listener to the request's UploadProgressEvent. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploadsAsync() to abort the incomplete multipart uploads. - - - - Contains all the parameters required to upload to Amazon S3. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Aborts the multipart uploads that were initiated before the specified date. - - - The name of the bucket containing multipart uploads. - - - The date before which the multipart uploads were initiated. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Downloads the content from Amazon S3 and writes it to the specified file. - If the key is not specified in the request parameter, - the file name will used as the key name. - - - Contains all the parameters required to download an Amazon S3 object. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns a stream from which the caller can read the content from the specified - Amazon S3 bucket and key. - The caller of this method is responsible for closing the stream. - - - The name of the bucket. - - - The object key. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Returns a stream to read the contents from Amazon S3 as - specified by the TransferUtilityOpenStreamRequest. - The caller of this method is responsible for closing the stream. - - - Contains all the parameters required for the OpenStream operation. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Constructs a new class. - - - - If a Timeout needs to be specified, use the constructor which takes an as a paramater. - Use an instance of constructed with an object with the Timeout specified. - - - - - - Constructs a new class. - - - The region to configure the transfer utility for. - - - - If a Timeout needs to be specified, use the constructor which takes an as a paramater. - Use an instance of constructed with an object with the Timeout specified. - - - - - - Constructs a new class. - - - Specifies advanced configuration settings for . - - - - - - - Uploads files from a specified directory. - The object key is derived from the file names - inside the directory. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads. - - - - The source directory, that is, the directory containing the files to upload. - - - The target Amazon S3 bucket, that is, the name of the bucket to upload the files to. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Uploads files from a specified directory. - The object key is derived from the file names - inside the directory. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads. - - - - The source directory, that is, the directory containing the files to upload. - - - The target Amazon S3 bucket, that is, the name of the bucket to upload the files to. - - - A pattern used to identify the files from the source directory to upload. - - - A search option that specifies whether to recursively search for files to upload - in subdirectories. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Uploads files from a specified directory. - The object key is derived from the file names - inside the directory. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads. - - - - The request that contains all the parameters required to upload a directory. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Downloads the objects in Amazon S3 that have a key that starts with the value - specified by s3Directory. - - - The name of the bucket containing the Amazon S3 objects to download. - - - The directory in Amazon S3 to download. - - - The local directory to download the objects to. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Downloads the objects in Amazon S3 that have a key that starts with the value - specified by the S3Directory - property of the passed in TransferUtilityDownloadDirectoryRequest object. - - - Contains all the parameters required to download objects from Amazon S3 - into a local directory. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Downloads the content from Amazon S3 and writes it to the specified file. - - - The file path where the content from Amazon S3 will be written to. - - - The name of the bucket containing the Amazon S3 object to download. - - - The key under which the Amazon S3 object is stored. - - - A cancellation token that can be used by other objects or threads to receive notice of cancellation. - - The task object representing the asynchronous operation. - - - - Uploads files from a specified directory. - The object key is derived from the file names - inside the directory. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads. - - - - The source directory, that is, the directory containing the files to upload. - - - The target Amazon S3 bucket, that is, the name of the bucket to upload the files to. - - - - - Uploads files from a specified directory. - The object key is derived from the file names - inside the directory. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads. - - - - The source directory, that is, the directory containing the files to upload. - - - The target Amazon S3 bucket, that is, the name of the bucket to upload the files to. - - - A pattern used to identify the files from the source directory to upload. - - - A search option that specifies whether to recursively search for files to upload - in subdirectories. - - - - - Uploads files from a specified directory. - The object key is derived from the file names - inside the directory. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads. - - - - The request that contains all the parameters required to upload a directory. - - - - - Uploads the specified file. - The object key is derived from the file's name. - Multiple threads are used to read the file and perform multiple uploads in parallel. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads. - - - - The file path of the file to upload. - - - The target Amazon S3 bucket, that is, the name of the bucket to upload the file to. - - - - - Uploads the specified file. - Multiple threads are used to read the file and perform multiple uploads in parallel. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads. - - - - The file path of the file to upload. - - - The target Amazon S3 bucket, that is, the name of the bucket to upload the file to. - - - The key under which the Amazon S3 object is stored. - - - - - Uploads the contents of the specified stream. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads. - - - - The stream to read to obtain the content to upload. - - - The target Amazon S3 bucket, that is, the name of the bucket to upload the stream to. - - - The key under which the Amazon S3 object is stored. - - - - - Uploads the file or stream specified by the request. - To track the progress of the upload, - add an event listener to the request's UploadProgressEvent. - For large uploads, the file will be divided and uploaded in parts using - Amazon S3's multipart API. The parts will be reassembled as one object in - Amazon S3. - - - - If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. - If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. - Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able - to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts, - you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads. - - - - Contains all the parameters required to upload to Amazon S3. - - - - - Returns a stream from which the caller can read the content from the specified - Amazon S3 bucket and key. - The caller of this method is responsible for closing the stream. - - - The name of the bucket. - - - The object key. - - - A stream of the contents from the specified Amazon S3 and key. - - - - - Returns a stream to read the contents from Amazon S3 as - specified by the TransferUtilityOpenStreamRequest. - The caller of this method is responsible for closing the stream. - - - Contains all the parameters required to open a stream to an S3 object. - - - A stream of the contents from Amazon S3. - - - - - Downloads the content from Amazon S3 and writes it to the specified file. - - - The file path where the content from Amazon S3 will be written to. - - - The name of the bucket containing the Amazon S3 object to download. - - - The key under which the Amazon S3 object is stored. - - - - - Downloads the content from Amazon S3 and writes it to the specified file. - If the key is not specified in the request parameter, - the file name will used as the key name. - - - Contains all the parameters required to download an Amazon S3 object. - - - - - Downloads the objects in Amazon S3 that have a key that starts with the value - specified by s3Directory. - - - The name of the bucket containing the Amazon S3 objects to download. - - - The directory in Amazon S3 to download. - - - The local directory to download the objects to. - - - - - Downloads the objects in Amazon S3 that have a key that starts with the value - specified by the S3Directory - property of the passed in TransferUtilityDownloadDirectoryRequest object. - - - Contains all the parameters required to download objects from Amazon S3 - into a local directory. - - - - - Aborts the multipart uploads that were initiated before the specified date. - - - The name of the bucket containing multipart uploads. - - - The date before which the multipart uploads were initiated. - - - - - - Provides configuration options for how processes requests. - - - The best configuration settings depend on network - configuration, latency and bandwidth. - The default configuration settings are suitable - for most applications, but this class enables developers to experiment with - different configurations and tune transfer manager performance. - - - - - - Default constructor. - - - - - Gets or sets the minimum part size for upload parts in bytes. The default is 16 MB. - Decreasing the minimum part size causes - multipart uploads to be split into a larger number - of smaller parts. Setting this value too low has a negative effect - on transfer speeds, causing extra latency and network - communication for each part. - - - - - This property determines how many active threads - or the number of concurrent asynchronous web requests - will be used to upload/download the file . - The default value is 10. - - - A value less than or equal to 0 will be silently ignored. - - - - - Gets or sets the number of executing threads. - This property determines how many active threads will be used to upload - the file. The default value is 10 threads. - - - A value less than or equal to 0 will be silently ignored. - - - - - Contains all the parameters - that can be set when making a this request with the - TransferUtility method. - - - - - Get or sets the file path location of where the - downloaded Amazon S3 object will be written to. - - - The file path location of where the downloaded Amazon S3 object will be written to. - - - - - Checks if FilePath property is set. - - True if FilePath property is set. - - - - The event for WriteObjectProgressEvent notifications. All - subscribers will be notified when a new progress - event is raised. - - The WriteObjectProgressEvent is fired as data - is downloaded from S3. The delegates attached to the event - will be passed information detailing how much data - has been downloaded as well as how much will be downloaded. - - - - Subscribe to this event if you want to receive - WriteObjectProgressEvent notifications. Here is how:
- 1. Define a method with a signature similar to this one: - - private void displayProgress(object sender, WriteObjectProgressArgs args) - { - Console.WriteLine(args); - } - - 2. Add this method to the WriteObjectProgressEvent delegate's invocation list - - TransferUtilityDownloadRequest request = new TransferUtilityDownloadRequest(); - request.WriteObjectProgressEvent += displayProgress; - -
-
- - - Causes the WriteObjectProgressEvent event to be fired. - - Progress data for the stream being written to file. - - - - Contains all the parameters - that can be set when making a this request with the - TransferUtility method. - - - - - Contains all the parameters - that can be set when making a this request with the - TransferUtility method. - - - - - Gets or sets the name of the bucket. - - - The name of the bucket. - - - - - Checks if BucketName property is set. - - true if BucketName property is set. - - - - Gets or sets the key under which the Amazon S3 object is to be stored. - - - The key under which the Amazon S3 object is to be stored. - - - - - Checks if Key property is set. - - true if Key property is set. - - - - Gets or sets the canned access control list (ACL) - for the uploaded object. - Please refer to - for - information on Amazon S3 canned ACLs. - - - The canned access control list (ACL) - for the uploaded object. - - - - - Checks if the CannedACL property is set. - - true if there is the CannedACL property is set. - - - - Removes the cannned access control list (ACL) - for the uploaded object. - - - - - Gets or sets the content type of the uploaded Amazon S3 object. - - - The content type of the uploaded Amazon S3 object. - - - - - Checks if ContentType property is set. - - true if ContentType property is set. - - - - Gets or sets the storage class for the uploaded Amazon S3 object. - Please refer to - for - information on S3 Storage Classes. - - - The storage class for the uploaded Amazon S3 object. - - - - - Gets and sets the ServerSideEncryptionMethod property. - Specifies the encryption used on the server to - store the content. - - - - - The Server-side encryption algorithm to be used with the customer provided key. - - - - - - The id of the AWS Key Management Service key that Amazon S3 should use to encrypt and decrypt the object. - If a key id is not specified, the default key will be used for encryption and decryption. - - - - - Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - true if ServerSideEncryptionKeyManagementServiceKeyId property is set. - - - - The base64-encoded encryption key for Amazon S3 to use to encrypt the object - - Using the encryption key you provide as part of your request Amazon S3 manages both the encryption, as it writes - to disks, and decryption, when you access your objects. Therefore, you don't need to maintain any data encryption code. The only - thing you do is manage the encryption keys you provide. - - - When you retrieve an object, you must provide the same encryption key as part of your request. Amazon S3 first verifies - the encryption key you provided matches, and then decrypts the object before returning the object data to you. - - - Important: Amazon S3 does not store the encryption key you provide. - - - - - - The MD5 of the customer encryption key specified in the ServerSideEncryptionCustomerProvidedKey property. The MD5 is - base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set. - - - - - Input stream for the request; content for the request will be read from the stream. - - - - - - Gets or sets the file path - where the Amazon S3 object will be uploaded from. - - - For WinRT and Windows Phone this property must be in the form of "ms-appdata:///local/file.txt". - - - - The file path where the Amazon S3 object will be uploaded from. - - - - - Checks if FilePath property is set. - - true if FilePath property is set. - - - - Gets or sets the part size of the upload in bytes. - The uploaded file will be divided into - parts the size specified and - uploaded to Amazon S3 individually. - - - The part size of the upload. - - - - - Checks if PartSize property is set. - - true if PartSize property is set. - - - - The collection of headers for the request. - - - - - The collection of meta data for the request. - - - - - The event for UploadProgressEvent notifications. All - subscribers will be notified when a new progress - event is raised. - - The UploadProgressEvent is fired as data - is uploaded to S3. The delegates attached to the event - will be passed information detailing how much data - has been uploaded as well as how much will be uploaded. - - - - Subscribe to this event if you want to receive - UploadProgressEvent notifications. Here is how:
- 1. Define a method with a signature similar to this one: - - private void displayProgress(object sender, UploadProgressArgs args) - { - Console.WriteLine(args); - } - - 2. Add this method to the UploadProgressEvent delegate's invocation list - - TransferUtilityUploadRequest request = new TransferUtilityUploadRequest(); - request.UploadProgressEvent += displayProgress; - -
-
- - - Causes the UploadProgressEvent event to be fired. - - Progress data for the file being uploaded. - - - - Gets the length of the content by either checking the FileInfo.Length property or the Stream.Length property. - - The length of the content. - - - - Gets or sets whether or not the stream used with this request is - automatically closed when all of the content is read from the stream. - - - A value of true if the if the stream is - automatically closed when all of the content is read from the stream. - A value of false if otherwise. - - - - - If this value is set to true then the stream's position will be reset to the start before being read for upload. - Default: true. - - - - - Sets whether or not the stream used with this request is - automatically closed when all of the content is read from the stream - and returns this object instance, - enabling additional method calls to be chained together. - - - A value of true if the if the stream is - automatically closed when all of the content is read from the stream. - A value of false if otherwise. - - - This object instance, enabling additional method calls to be chained together. - - - - - Encapsulates the information needed to provide - transfer progress to subscribers of the Put Object - Event. - - - - - The constructor takes the number of - currently transferred bytes and the - total number of bytes to be transferred - - The how many bytes were transferred since last event. - The number of bytes transferred - The total number of bytes to be transferred - - - - The constructor takes the number of - currently transferred bytes and the - total number of bytes to be transferred - - The how many bytes were transferred since last event. - The number of bytes transferred - The total number of bytes to be transferred - The file being uploaded - - - - The constructor takes the number of - currently transferred bytes and the - total number of bytes to be transferred - - The how many bytes were transferred since last event. - The number of bytes transferred - The total number of bytes to be transferred - A compensation for any upstream aggregators if this event to correct theit totalTransferred count, - in case the underlying request is retried. - The file being uploaded - - - - Gets the FilePath. - - - - - Waits for all of the tasks to complete or till any task fails. - - - - - Waits for all of the tasks to complete or till any task fails. - - - - - Returns the amount of bytes remaining that need to be pulled down from S3. - - The fully qualified path of the file. - - - - - The command to manage an upload using the S3 multipart API. - - - - - Initializes a new instance of the class. - - The s3 client. - The config object that has the number of threads to use. - The file transporter request. - - - - This command is for doing regular PutObject requests. - - - - - This command files all the files that meets the criteria specified in the TransferUtilityUploadDirectoryRequest request - and uploads them. - - - - - Request object for downloading a directory with the TransferUtility. - - - - - Gets or sets the name of the bucket. - - - The name of the bucket. - - - - - Gets whether or not the bucket name is set. - - - A value of true if the bucket name is set. - Otherwise, returns false. - - - - - Gets or sets the local directory where objects from Amazon S3 will be downloaded. - If the directory doesn't exist, it will be created. - - - The local directory where objects from Amazon S3 will be downloaded. - - - - - Gets whether or not the LocalDirectory property is set. - - - A value of true if LocalDirectory property is set. - Otherwise, returns false. - - - - - Gets or sets the Amazon S3 directory to download from. - This is translated to a key prefix; keys that have this prefix will be - downloaded. - - - - - Gets whether or not the S3Directory property is set. - - - A value of true if S3Directory property is set. - Otherwise, returns false. - - - - - Gets or sets the ModifiedSinceDate property. - Only objects that have been modified since this date will be - downloaded. - - - The ModifiedSinceDate property. - - - - - Checks if ModifiedSinceDate property is set. - - A value of true if ModifiedSinceDate property is set. - Otherwise, returns false. - - - - Gets or sets the UnmodifiedSinceDate property. - Only objects that have not been modified since this date will be downloaded. - - - The UnmodifiedSinceDate property. - - - - - Gets or sets the DownloadFilesConcurrently property. - Specifies if multiple files will be downloaded concurrently. - The number of concurrent web requests used is controlled - by the TransferUtilityConfig.ConcurrencyLevel property. - - - - - Checks if UnmodifiedSinceDate property is set. - - true if UnmodifiedSinceDate property is set. - - - - The event for DownloadedDirectoryProgressEvent notifications. All - subscribers will be notified when a new progress - event is raised. - - The DownloadedDirectoryProgressEvent is fired as data - is downloaded from Amazon S3. The delegates attached to the event - will be passed information detailing how much data - has been downloaded as well as how much will be downloaded. - - - - Subscribe to this event if you want to receive - DownloadedDirectoryProgressEvent notifications. Here is how:
- 1. Define a method with a signature similar to this one: - - private void displayProgress(object sender, DownloadDirectoryProgressArgs args) - { - Console.WriteLine(args); - } - - 2. Add this method to the DownloadedDirectoryProgressEvent delegate's invocation list - - TransferUtilityDownloadDirectoryRequest request = new TransferUtilityDownloadDirectoryRequest(); - request.DownloadedDirectoryProgressEvent += displayProgress; - -
-
- - - Encapsulates the information needed to provide - transfer progress to subscribers of the DownloadDirectory - event. - - - - - Constructs a new instance of DownloadDirectoryProgressArgs. - - - The number of files downloaded. - - - The total number of files to download. - - - The current file being downloaded - - - The number of transferred bytes for the current file. - - - The size of the current file in bytes. - - - - - Constructs a new instance of DownloadDirectoryProgressArgs. - - - The number of files downloaded. - - - The total number of files to download. - - - The bytes transferred across all files being downloaded. - - - The total number of bytes across all files being downloaded. - - - The current file being downloaded. - - - The number of transferred bytes for the current file. - - - The size of the current file in bytes. - - - - - Gets or sets the total number of files. - - The total number of files. - - - - Gets or sets the number of files downloaded so far. - - The number of files downloaded. - - - - Gets or sets the total number of bytes across all files being downloaded. - - The total number of bytes across all files being downloaded. - - - - Gets or sets the bytes transferred across all files being downloaded. - - The bytes transferred across all files being downloaded. - - - - Gets or sets the current file being downloaded. - - - This property is only valid if DownloadDirectory is used without enabling concurrent file downloads (by default concurrent download is disabled). - If concurrent file downloads are enabled by setting TransferUtilityDownloadDirectoryRequest.DownloadFilesConcurrently to true, this property - will return null. - - The current file being downloaded. - - - - Gets or sets the transferred bytes for the current file. - - - This property is only valid if DownloadDirectory is used without enabling concurrent file downloads (by default concurrent download is disabled). - If concurrent file downloads are enabled by setting TransferUtilityDownloadDirectoryRequest.DownloadFilesConcurrently to true, this property - will return 0. - - The transferred bytes for the current file. - - - - Gets or sets the total number of bytes for the current file. - - - This property is only valid if DownloadDirectory is used without enabling concurrent file downloads (by default concurrent download is disabled). - If concurrent file downloads are enabled by setting TransferUtilityDownloadDirectoryRequest.DownloadFilesConcurrently to true, this property - will return 0. - - The total number of bytes for the current file. - - - - The string representation of this instance of DownloadDirectoryProgressArgs. - - The string representation of this instance of DownloadDirectoryProgressArgs. - - - - Contains all the parameters - that can be set when making a this request with the - TransferUtility method. - - - - - Gets or sets the directory where files are uploaded from. - - - The directory where files are uploaded from. - - - - - Checks if Directory property is set. - - true if Directory property is set. - - - - Gets or sets the KeyPrefix property. As object keys are generated for the - files being uploaded this value will prefix the key. This is useful when a directory - needs to be uploaded into sub directory in the S3 Bucket. - - - The directory where files are uploaded from. - - - - - Checks if KeyPrefix property is set. - - true if KeyPrefix property is set. - - - - Gets and sets the search pattern used to determine which - files in the directory are uploaded. - - - The search pattern used to deterimine which - files in the directory are uploaded. - The default value is "*", specifying that all files - in the directory will be uploaded. - - - - - Checks if SearchPattern property is set. - - true if SearchPattern property is set. - - - - Gets or sets the recursive options for the directory upload. - - - The recursive options for the directory upload. - Set by default to TopDirectoryOnly, - specifying that files will be uploaded from the root directory only. - - - - - Gets or sets the name of the bucket. - - - The name of the bucket. - - - - - Checks if BucketName property is set. - - true if BucketName property is set. - - - - Gets or sets the canned access control list (ACL) - for the uploaded objects. - Please refer to - for - information on Amazon S3 canned ACLs. - - - The canned access control list (ACL) - for the uploaded objects. - - - - - Checks if the CannedACL property is set. - - true if there is the CannedACL property is set. - - - - Gets or sets the storage class for the uploaded Amazon S3 objects. - Please refer to - for - information on S3 Storage Classes. - - - The storage class for the uploaded Amazon S3 objects. - - - - - The collection of meta data for the request. - - - - - Gets or sets the ServerSideEncryptionMethod property. - Specifies the encryption used on the server to - store the content. - - - - - The id of the AWS Key Management Service key that Amazon S3 should use to encrypt and decrypt the object. - If a key id is not specified, the default key will be used for encryption and decryption. - - - - - Gets or sets the UploadFilesConcurrently property. - Specifies if multiple files will be uploaded concurrently. - The number of concurrent web requests used is controlled - by the TransferUtilityConfig.ConcurrencyLevel property. - - - - - The event for UploadDirectoryProgressEvent notifications. All - subscribers will be notified when a new progress - event is raised. - - The UploadDirectoryProgressEvent is fired as data - is uploaded to S3. The delegates attached to the event - will be passed information detailing how much data - has been uploaded as well as how much will be uploaded. - - - - Subscribe to this event if you want to receive - UploadDirectoryProgressEvent notifications. Here is how:
- 1. Define a method with a signature similar to this one: - - private void displayProgress(object sender, UploadDirectoryProgressArgs args) - { - Console.WriteLine(args); - } - - 2. Add this method to the UploadDirectoryProgressEvent delegate's invocation list - - TransferUtilityUploadDirectoryRequest request = new TransferUtilityUploadDirectoryRequest(); - request.UploadDirectoryProgressEvent += displayProgress; - -
-
- - - The event for modifying individual TransferUtilityUploadRequest for each file - being uploaded. - - - - - Causes the UploadDirectoryProgressEvent event to be fired. - - Progress data for files currently being uploaded. - - - - Encapsulates the information needed to provide - transfer progress to subscribers of the UploadDirectory - event. - - - - - Constructs a new instance of UploadDirectoryProgressArgs. - - - The number of files uploaded. - - - The total number of files to upload. - - - The current file - - - The number of transferred bytes for current file. - - - The size of the current file in bytes. - - - - - Constructs a new instance of UploadDirectoryProgressArgs. - - - The number of files uploaded. - - - The total number of files to upload. - - - The bytes transferred across all files being uploaded. - - - The total number of bytes across all files being uploaded. - - - The current file being uploaded. - - - The number of transferred bytes for current file. - - - The size of the current file in bytes. - - - - - Gets or sets the total number of files. - - The total number of files. - - - - Gets or sets the number of files uploaded. - - The number of files uploaded. - - - - Gets or sets the total number of bytes across all files being uploaded. - - The total number of bytes across all files being uploaded. - - - - Gets or sets the bytes transferred across all files being uploaded. - - The bytes transferred across all files being uploaded. - - - - Gets or sets the current file. - - - This property is only valid if UploadDirectory is used without enabling concurrent file uploads (by default concurrent upload is disabled). - If concurrent file uploads are enabled by setting TransferUtilityUploadDirectoryRequest.UploadFilesConcurrently to true, this property - will return null. - - The current file. - - - - Gets or sets the transferred bytes for current file. - - - This property is only valid if UploadDirectory is used without enabling concurrent file uploads (by default concurrent upload is disabled). - If concurrent file uploads are enabled by setting TransferUtilityUploadDirectoryRequest.UploadFilesConcurrently to true, this property - will return 0. - - The transferred bytes for current file. - - - - Gets or sets the total number of bytes for current file. - - - This property is only valid if UploadDirectory is used without enabling concurrent file uploads (by default concurrent upload is disabled). - If concurrent file uploads are enabled by setting TransferUtilityUploadDirectoryRequest.UploadFilesConcurrently to true, this property - will return 0. - - The total number of bytes for current file. - - - - The string representation of this instance of UploadDirectoryProgressArgs. - - The string representation of this instance of UploadDirectoryProgressArgs. - - - - Contains a single TransferUtilityUploadRequest corresponding - to a single file about to be uploaded, allowing changes to - the request before it is executed. - - - - - Constructs a new UploadDirectoryFileRequestArgs instance. - - Request being processed. - - - - Gets and sets the UploadRequest property. - - - - - This class extends the AmazonS3Client and provides client side encryption when reading or writing S3 objects. - - - - - Constructs AmazonS3EncryptionClient with the Encryption materials and credentials loaded from the application's - default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. - - Example App.config with credentials set. - - <?xml version="1.0" encoding="utf-8" ?> - <configuration> - <appSettings> - <add key="AWSProfileName" value="AWS Default"/> - </appSettings> - </configuration> - - - - - The encryption materials to be used to encrypt and decrypt envelope key. - - - - - Constructs AmazonS3EncryptionClient with the Encryption materials and credentials loaded from the application's - default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. - - Example App.config with credentials set. - - <?xml version="1.0" encoding="utf-8" ?> - <configuration> - <appSettings> - <add key="AWSProfileName" value="AWS Default"/> - </appSettings> - </configuration> - - - - - The region to connect. - - - The encryption materials to be used to encrypt and decrypt envelope key. - - - - - Constructs AmazonS3EncryptionClient with the Encryption materials, - AmazonS3 CryptoConfiguration object and credentials loaded from the application's - default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. - - Example App.config with credentials set. - - <?xml version="1.0" encoding="utf-8" ?> - <configuration> - <appSettings> - <add key="AWSProfileName" value="AWS Default"/> - </appSettings> - </configuration> - - - - - The AmazonS3EncryptionClient CryptoConfiguration Object - - - The encryption materials to be used to encrypt and decrypt envelope key. - - - - - Constructs AmazonS3EncryptionClient with AWS Credentials and Encryption materials. - - - The encryption materials to be used to encrypt and decrypt envelope key. - - AWS Credentials - - - - Constructs AmazonS3EncryptionClient with AWS Credentials, Region and Encryption materials - - AWS Credentials - The region to connect. - - The encryption materials to be used to encrypt and decrypt envelope key. - - - - - Constructs AmazonS3EncryptionClient with AWS Credentials, AmazonS3CryptoConfiguration Configuration object - and Encryption materials - - AWS Credentials - The AmazonS3EncryptionClient CryptoConfiguration Object - - The encryption materials to be used to encrypt and decrypt envelope key. - - - - - Constructs AmazonS3EncryptionClient with AWS Access Key ID, - AWS Secret Key and Encryption materials - - AWS Access Key ID - AWS Secret Access Key - The encryption materials to be used to encrypt and decrypt envelope key. - - - - Constructs AmazonS3EncryptionClient with AWS Access Key ID, - AWS Secret Key, Region and Encryption materials - - AWS Access Key ID - AWS Secret Access Key - The region to connect. - The encryption materials to be used to encrypt and decrypt envelope key. - - - - Constructs AmazonS3EncryptionClient with AWS Access Key ID, Secret Key, - AmazonS3 CryptoConfiguration object and Encryption materials. - - AWS Access Key ID - AWS Secret Access Key - The AmazonS3EncryptionClient CryptoConfiguration Object - The encryption materials to be used to encrypt and decrypt envelope key. - - - - Constructs AmazonS3EncryptionClient with AWS Access Key ID, Secret Key, - SessionToken and Encryption materials. - - AWS Access Key ID - AWS Secret Access Key - AWS Session Token - - The encryption materials to be used to encrypt and decrypt envelope key. - - - - - Constructs AmazonS3EncryptionClient with AWS Access Key ID, Secret Key, - SessionToken, Region and Encryption materials. - - AWS Access Key ID - AWS Secret Access Key - AWS Session Token - The region to connect. - The encryption materials to be used to encrypt and decrypt envelope key. - - - - Constructs AmazonS3EncryptionClient with AWS Access Key ID, Secret Key, SessionToken - AmazonS3EncryptionClient CryptoConfiguration object and Encryption materials. - - AWS Access Key ID - AWS Secret Access Key - AWS Session Token - The AmazonS3EncryptionClient CryptoConfiguration Object - - The encryption materials to be used to encrypt and decrypt envelope key. - - - - - Turn off response logging because it will interfere with decrypt of the data coming back from S3. - - - - - Customize the pipeline to allow encryption. - - - - - - AmazonS3CryptoConfiguration allows customers - to set storage mode for encryption credentials - - - - - Default Constructor. - - - - - Gets and sets the StorageMode property. This determines if the crypto metadata is stored as metadata on the object or as a separate object in S3. - The default is ObjectMetadata. - - - - - Mode for string the encryption information for an object. - - - - - Store the information in a separate S3 Object. - - - - - Store the information as metadata on the encrypted object. - - - - - Encryption Instructions store the encryption credentials - - - - - Construct an instance EncryptionInstructions. - - - - - - - - - Construct an instance EncryptionInstructions. - - - - - - - - The "key encrypting key" materials used in encrypt/decryption. These - materials may be either an asymmetric key or a symmetric key but not - both. - - - - - Constructs a new EncryptionMaterials object, storing an asymmetric key. - - - - - - Constructs a new EncryptionMaterials object, storing a symmetric key. - - - - - - The EncryptionUtils class encrypts and decrypts data stored in S3. - It can be used to prepare requests for encryption before they are stored in S3 - and to decrypt objects that are retrieved from S3. - - - - - Encrypts a Envelope key using the provided encryption materials - and returns it in raw byte array form. - - - - - Decrypts an encrypted Envelope key using the provided encryption materials - and returns it in raw byte array form. - - Encrypted envelope key - Encryption materials needed to decrypt the encrypted envlelope key - - - - - Returns an updated stream where the stream contains the encrypted object contents. - The specified instruction will be used to encrypt data. - - - The stream whose contents are to be encrypted. - - - The instruction that will be used to encrypt the object data. - - - Encrypted stream, i.e input stream wrapped into encrypted stream - - - - - Returns an updated input stream where the input stream contains the encrypted object contents. - The specified instruction will be used to encrypt data. - - - The stream whose contents are to be encrypted. - - - The instruction that will be used to encrypt the object data. - - - Encrypted stream, i.e input stream wrapped into encrypted stream - - - - - Updates object where the object - input stream contains the decrypted contents. - - - The getObject response whose contents are to be decrypted. - - - The instruction that will be used to encrypt the object data. - - - - - Generates an instruction that will be used to encrypt an object. - - - The encryption materials to be used to encrypt and decrypt data. - - - The instruction that will be used to encrypt an object. - - - - - Builds an instruction object from the object metadata. - - - A non-null object response that contains encryption information in its metadata. - - - The non-null encryption materials to be used to encrypt and decrypt Envelope key. - - - - - - - Builds an instruction object from the instruction file. - - Instruction file GetObject response - - The non-null encryption materials to be used to encrypt and decrypt Envelope key. - - - A non-null instruction object containing encryption information. - - - - - Update the request's ObjectMetadata with the necessary information for decrypting the object. - - - AmazonWebServiceRequest encrypted using the given instruction - - - Non-null instruction used to encrypt the data in this AmazonWebServiceRequest . - - - - - Adds UnEncrypted content length to object metadata - - - - - - checks if encryption credentials are in object metadata - - Response of the object - - - - - checks if encryption credentials are in the instructionfile - - Instruction file response that contains encryption information - - - - - Custom the pipeline handler to decrypt objects. - - - - - Construct instance of SetupDecryptionHandler. - - - - - - Gets the EncryptionClient property which is the AmazonS3EncryptionClient that is decrypting the object. - - - - - Calls the post invoke logic after calling the next handler - in the pipeline. - - The execution context which contains both the - requests and response context. - - - - Calls the and post invoke logic after calling the next handler - in the pipeline. - - The response type for the current request. - The execution context, it contains the - request and response context. - A task that represents the asynchronous operation. - - - - Decrypt the object being downloaded. - - - - - - Updates object where the object input stream contains the decrypted contents. - - - The getObject response of InstructionFile. - - - The getObject response whose contents are to be decrypted. - - - - - Updates object where the object input stream contains the decrypted contents. - - - The getObject response whose contents are to be decrypted. - - - - - Custom pipeline handler to encrypt the data as it is being uploaded to S3. - - - - - Construct an instance SetupEncryptionHandler. - - - - - - Gets the EncryptionClient property which is the AmazonS3EncryptionClient that is encrypting the object. - - - - - Calls pre invoke logic before calling the next handler - in the pipeline. - - The execution context which contains both the - requests and response context. - - - - Calls pre invoke logic before calling the next handler - in the pipeline. - - The response type for the current request. - The execution context, it contains the - request and response context. - A task that represents the asynchronous operation. - - - - Encrypts the S3 object being uploaded. - - - - - - Updates the request where the metadata contains encryption information - and the input stream contains the encrypted object contents. - - - The request whose contents are to be encrypted. - - - - - Updates the request where the instruction file contains encryption information - and the input stream contains the encrypted object contents. - - - - - - Updates the request where the input stream contains the encrypted object contents. - - - - - - Adds the crypto token to the user agent - - - - - Calls pre invoke logic before calling the next handler - in the pipeline. - - The execution context which contains both the - requests and response context. - - - - Calls pre invoke logic before calling the next handler - in the pipeline. - - The response type for the current request. - The execution context, it contains the - request and response context. - A task that represents the asynchronous operation. - - - - Customize the user agent. - - - - - - Mimics the System.IO.DirectoryInfo for a virtual directory in S3. It exposes properties and methods for enumerating directories and files as well as - methods manipulate directories. - - - It is important to keep in mind that S3 is not a filesystem. It is possible for S3 object keys to contain - characters which are not not legal file path characters, and so some pre-existing objects in a bucket that were created with - other software may not be compatible with this class. - - - - - Initialize a new instance of the S3DirectoryInfo class for the specified S3 bucket. - - S3 client which is used to access the S3 resources. - Name of the S3 bucket. - - - - - Initialize a new instance of the S3DirectoryInfo class for the specified S3 bucket and S3 object key. - - S3 client which is used to access the S3 resources. - Name of the S3 bucket. - The S3 object key. - - - - - The S3DirectoryInfo for the root of the S3 bucket. - - - - - Checks with S3 to see if the directory exists and if so returns true. - - Due to Amazon S3's eventual consistency model this property can return false for newly created buckets. - - - - - - - Returns empty string for directories. - - - - - The full path of the directory including bucket name. - - - - - Returns the last write time of the the latest file written to the directory. - - - - - - - UTC converted version of LastWriteTime. - - - - - - - Returns the name of the folder. - - - - - Return the S3DirectoryInfo of the parent directory. - - - - - Returns the S3DirectroyInfo for the S3 account. - - - - - Returns the type of file system element. - - - - - Creates the directory in S3. If no object key was specified when creating the S3DirectoryInfo then the bucket will be created. - - - - - - - Creates a sub directory inside the instance of S3DirectoryInfo. - - - - - - - - - Deletes all the files in this directory as well as this directory. - - - - - - - - Deletes all the files in this directory as well as this directory. If recursive is set to true then all sub directories will be - deleted as well. - - - - - If true then sub directories will be deleted as well. - - - - Enumerate the sub directories of this directory. - - - - An enumerable collection of directories. - - - - Enumerate the sub directories of this directory. - - The search string. The default pattern is "*", which returns all directories. - - - An enumerable collection of directories that matches searchPattern. - - - - Enumerate the sub directories of this directory. - - The search string. The default pattern is "*", which returns all directories. - One of the enumeration values that specifies whether the search operation should include only the current directory or all subdirectories. The default value is TopDirectoryOnly. - - - An enumerable collection of directories that matches searchPattern and searchOption. - - - - Enumerate the files of this directory. - - - - An enumerable collection of files. - - - - Enumerate the sub directories of this directory. - - The search string. The default pattern is "*", which returns all files. - - - An enumerable collection of files that matches searchPattern. - - - - Enumerate the files of this directory. - - The search string. The default pattern is "*", which returns all files. - One of the enumeration values that specifies whether the search operation should include only the current directory or all subdirectories. The default value is TopDirectoryOnly. - - - An enumerable collection of files that matches searchPattern and searchOption. - - - - Enumerate the files of this directory. - - - - An enumerable collection of files. - - - - Enumerate the files of this directory. - - The search string. The default pattern is "*", which returns all files. - - - An enumerable collection of files that matches searchPattern. - - - - Enumerate the files of this directory. - - The search string. The default pattern is "*", which returns all files. - One of the enumeration values that specifies whether the search operation should include only the current directory or all subdirectories. The default value is TopDirectoryOnly. - - - An enumerable collection of files that matches searchPattern and searchOption. - - - - Returns the S3DirectoryInfo for the specified sub directory. - - Directory to get the S3DirectroyInfo for. - The S3DirectoryInfo for the specified sub directory. - - - - Returns an array of S3DirectoryInfos for the directories in this directory. - - - - An array of directories. - - - - Returns an array of S3DirectoryInfos for the directories in this directory. - - The search string. The default pattern is "*", which returns all files. - An array of files that matches searchPattern. - - - - Returns an array of S3DirectoryInfos for the directories in this directory. - - The search string. The default pattern is "*", which returns all directories. - One of the enumeration values that specifies whether the search operation should include only the current directory or all subdirectories. The default value is TopDirectoryOnly. - - - An array of directories that matches searchPattern and searchOption. - - - - Returns the S3FileInfo for the specified file. - - File to get the S3FileInfo for. - The S3FileInfo for the specified file. - - - - Returns an array of S3FileInfos for the files in this directory. - - - - An array of files. - - - - Returns an array of S3FileInfos for the files in this directory. - - The search string. The default pattern is "*", which returns all files. - - - An array of files that matches searchPattern. - - - - Returns an array of S3FileInfos for the files in this directory. - - The search string. The default pattern is "*", which returns all files. - One of the enumeration values that specifies whether the search operation should include only the current directory or all subdirectories. The default value is TopDirectoryOnly. - - - An array of files that matches searchPattern and searchOption. - - - - Returns an array of IS3FileSystemInfos for the files in this directory. - - - - An array of files. - - - - Returns an array of IS3FileSystemInfos for the files in this directory. - - The search string. The default pattern is "*", which returns all files. - - - An array of files that matches searchPattern. - - - - Returns an array of IS3FileSystemInfos for the files in this directory. - - The search string. The default pattern is "*", which returns all files. - One of the enumeration values that specifies whether the search operation should include only the current directory or all subdirectories. The default value is TopDirectoryOnly. - - - An array of files that matches searchPattern and searchOption. - - - - Copies the files from this directory to the target directory specified by the bucket and object key. - - The target bucket to copy to. - The target object key which represents a directory in S3. - - - - S3DirectoryInfo for the target location. - - - - Copies the files from this directory to the target directory specified by the bucket and object key. Only - files that have changed since the changeSince date will be copied. - - The target bucket to copy to. - The target object key which represents a directory in S3. - Date which files must have changed since in ordered to be copied. - - - - S3DirectoryInfo for the target location. - - - - Copies the files from this directory to the target directory. - - The target directory to copy to. - - - - S3DirectoryInfo for the target location. - - - - Copies the files from this directory to the target directory. Only - files that have changed since the changeSince date will be copied. - - The target directory to copy to. - Date which files must have changed since in ordered to be copied. - - - - S3DirectoryInfo for the target location. - - - - Copies the files from the S3 directory to the local file system in the location indicated by the path parameter. - - The location on the local file system to copy the files to. - - - DirectoryInfo for the local directory where files are copied to. - - - - Copies the files from the S3 directory to the local file system in the location indicated by the path parameter. - Only files that have been modified since the changesSince property will be copied. - - The location on the local file system to copy the files to. - Date which files must have changed since in ordered to be copied. - - - - DirectoryInfo for the local directory where files are copied to. - - - - Copies files from the local file system to S3 in this directory. Sub directories are copied as well. - - The local file system path where the files are to be copied. - - - - S3DirectoryInfo where the files are copied to. - - - - Copies files from the local file system to S3 in this directory. Sub directories are copied as well. - Only files that have been modified since the changesSince property will be copied. - - The local file system path where the files are to copy. - Date which files must have changed since in ordered to be copied. - - - - S3DirectoryInfo where the files are copied to. - - - - Moves the directory to the target directory specified by the bucket and object key. - - The target bucket to move to. - The target object key which represents a directory in S3. - - - - S3DirectoryInfo for the target location. - - - - Moves the directory to the target S3 directory. - - The target directory to copy to. - - - - S3DirectoryInfo for the target location. - - - - Moves the files from the S3 directory to the local file system in the location indicated by the path parameter. - - The location on the local file system to move the files to. - - - - DirectoryInfo for the local directory where files are moved to. - - - - Moves files from the local file system to S3 in this directory. Sub directories are moved as well. - - The local file system path where the files are to be moved. - - - - S3DirectoryInfo where the files are moved to. - - - - Implement the ToString method. - - - - - - Creating and deleting buckets can sometimes take a little bit of time. To make sure - users of this API do not experience the side effects of the eventual consistency - we block until the state change has happened. - - - - - - Mimics the System.IO.FileInfo for a file in S3. It exposes properties and methods manipulating files in S3. - - - - - Initialize a new instance of the S3FileInfo class for the specified S3 bucket and S3 object key. - - S3 client which is used to access the S3 resources. - Name of the S3 bucket. - The S3 object key. - - - - - Returns the parent S3DirectoryInfo. - - - - - The full name of parent directory. - - - - - Checks S3 if the file exists in S3 and return true if it does. - - - - - - - Gets the file's extension. - - - - - Returns the full path including the bucket. - - - - - Returns the last time the file was modified. - - - - - - - Returns the last time the fule was modified in UTC. - - - - - - - Returns the content length of the file. - - - - - - - Returns the file name without its directory name. - - - - - Returns the type of file system element. - - - - - Copies this file's content to the file indicated by the S3 bucket and object key. - If the file already exists in S3 than an ArgumentException is thrown. - - S3 bucket to copy the file to. - S3 object key to copy the file to. - - - - S3FileInfo of the newly copied file. - - - - Copies this file's content to the file indicated by the S3 bucket and object key. - If the file already exists in S3 and overwrite is set to false than an ArgumentException is thrown. - - S3 bucket to copy the file to. - S3 object key to copy the file to. - Determines whether the file can be overwritten. - If the file already exists in S3 and overwrite is set to false. - - - - S3FileInfo of the newly copied file. - - - - Copies this file to the target directory. - If the file already exists in S3 than an ArgumentException is thrown. - - Target directory where to copy the file to. - If the directory does not exist. - If the file already exists in S3. - - - S3FileInfo of the newly copied file. - - - - Copies this file to the target directory. - If the file already exists in S3 and overwrite is set to false than an ArgumentException is thrown. - - Target directory where to copy the file to. - Determines whether the file can be overwritten. - If the directory does not exist. - If the file already exists in S3 and overwrite is set to false. - - - S3FileInfo of the newly copied file. - - - - Copies this file to the location indicated by the passed in S3FileInfo. - If the file already exists in S3 than an ArgumentException is thrown. - - The target location to copy this file to. - If the file already exists in S3. - - - S3FileInfo of the newly copied file. - - - - Copies this file to the location indicated by the passed in S3FileInfo. - If the file already exists in S3 and overwrite is set to false than an ArgumentException is thrown. - - The target location to copy this file to. - Determines whether the file can be overwritten. - If the file already exists in S3 and overwrite is set to false. - - - S3FileInfo of the newly copied file. - - - - Copies from S3 to the local file system. - If the file already exists on the local file system than an ArgumentException is thrown. - - The path where to copy the file to. - If the file already exists locally. - - - FileInfo for the local file where file is copied to. - - - - Copies from S3 to the local file system. - If the file already exists on the local file system and overwrite is set to false than an ArgumentException is thrown. - - The path where to copy the file to. - Determines whether the file can be overwritten. - If the file already exists locally and overwrite is set to false. - - - FileInfo for the local file where file is copied to. - - - - Copies the file from the local file system to S3. - If the file already exists in S3 than an ArgumentException is thrown. - - Location of the file on the local file system to copy. - If the file already exists in S3. - - - S3FileInfo where the file is copied to. - - - - Copies the file from the local file system to S3. - If the file already exists in S3 and overwrite is set to false than an ArgumentException is thrown. - - Location of the file on the local file system to copy. - Determines whether the file can be overwritten. - If the file already exists in S3 and overwrite is set to false. - - - S3FileInfo where the file is copied to. - - - - Returns a Stream that can be used to write data to S3. - - - The content will not be written to S3 until the Stream is closed. - - - - Stream to write content to. - - - - Returns a StreamWriter that can be used to write data to S3. - - - The content will not be written to S3 until the Stream is closed. - - - - Stream to write content to. - - - - Deletes the from S3. - - - - - - - Moves the file to a a new location in S3. - - Bucket to move the file to. - Object key to move the file to. - If the file already exists in S3. - - - - S3FileInfo for the target location. - - - - Moves the file to a a new location in S3. - - The target directory to copy to. - If the file already exists in S3. - - - - S3FileInfo for the target location. - - - - Moves the file to a a new location in S3. - - The target file to copy to. - If the file already exists in S3. - - - - S3FileInfo for the target location. - - - - Moves the file from S3 to the local file system in the location indicated by the path parameter. - - The location on the local file system to move the file to. - If the file already exists locally. - - - - FileInfo for the local file where file is moved to. - - - - Moves the file from the local file system to S3 in this directory. - If the file already exists in S3 than an ArgumentException is thrown. - - The local file system path where the files are to be moved. - If the file already exists locally. - - - - S3FileInfo where the file is moved to. - - - - Moves the file from the local file system to S3 in this directory. - If the file already exists in S3 and overwrite is set to false than an ArgumentException is thrown. - - The local file system path where the files are to be moved. - Determines whether the file can be overwritten. - If the file already exists in S3 and overwrite is set to false. - - - - S3FileInfo where the file is moved to. - - - - Returns a Stream for reading the contents of the file. - - The file is already open. - - - Stream to read from. - - - - Returns a StreamReader for reading the contents of the file. - - The file is already open. - - - StreamReader to read from. - - - - Returns a Stream for writing to S3. If the file already exists it will be overwritten. - - - The content will not be written to S3 until the Stream is closed. - - The file is already open. - - - Stream to write from. - - - - Replaces the destination file with the content of this file and then deletes the orignial file. If a backup location is specifed then the content of destination file is - backup to it. - - Destination bucket of this file will be copy to. - Destination object key of this file will be copy to. - Backup bucket to store the contents of the destination file. - Backup object key to store the contents of the destination file. - - - - - S3FileInfo of the destination file. - - - - Replaces the destination file with the content of this file and then deletes the orignial file. If a backupDir is specifed then the content of destination file is - backup to it. - - Where the contents of this file will be copy to. - If specified the destFile is backup to it. - - - - - S3FileInfo of the destination file. - - - - Replaces the destination file with the content of this file and then deletes the orignial file. If a backupFile is specifed then the content of destination file is - backup to it. - - Where the contents of this file will be copy to. - If specified the destFile is backup to it. - - - - - S3FileInfo of the destination file. - - - - Replaces the content of the destination file on the local file system with the content from this file from S3. - If a backup file is specified then the content of the destination file is backup to it. - - - - - - - - - - - - Implement the ToString method. - - - - - - Enumeration indicated whether a file system element is a file or directory. - - - - - Type is a directory. - - - - - Type is a file. - - - - - Common interface for both S3FileInfo and S3DirectoryInfo. - - - - - Returns true if the item exists in S3. - - - - - Returns the extension of the item. - - - - - Returns the fully qualified path to the item. - - - - - Returns the last modified time for this item from S3 in local timezone. - - - - - Returns the last modified time for this item from S3 in UTC timezone. - - - - - Returns the name of the item without parent information. - - - - - Indicates what type of item this object represents. - - - - - Deletes this item from S3. - - - - - Configuration for the S3 section of AWS configuration. - Changes to some settings may not take effect until a new client is constructed. - - Example section: - - <configSections> - <section name="aws" type="Amazon.AWSSection, AWSSDK"/> - </configSections> - <aws> - <s3 useSignatureVersion4="true" /> - </aws> - - - - - - Key for the S3UseSignatureVersion4Key property. - - - - - - Configures if the S3 client should use Signature Version 4 signing with requests. - By default, this setting is true. - When the setting is true, Signature Version 4 will be used for all requests. - When it is false, Signature Version 2 will be used. - Note that when the setting is false, Signature Version 4 may still be used by - default in some cases or with some regions. - - - - - Was the value of the UseSignatureVersion4 property set explicitly? - This can be done via configuration or by directly setting the property. - - This is used to determine if the user set UseSignatureVersion4 to true, - or if it's true because the default was changed to true in the SDK. - - - - - V4-enabling section - - -
-
diff --git a/site/trunk/Bin/Antlr3.Runtime.dll b/site/trunk/Bin/Antlr3.Runtime.dll deleted file mode 100644 index 34bd478..0000000 Binary files a/site/trunk/Bin/Antlr3.Runtime.dll and /dev/null differ diff --git a/site/trunk/Bin/Antlr3.Runtime.dll.refresh b/site/trunk/Bin/Antlr3.Runtime.dll.refresh deleted file mode 100644 index 339a52f..0000000 Binary files a/site/trunk/Bin/Antlr3.Runtime.dll.refresh and /dev/null differ diff --git a/site/trunk/Bin/CryptSharp.dll b/site/trunk/Bin/CryptSharp.dll deleted file mode 100644 index 439f42f..0000000 Binary files a/site/trunk/Bin/CryptSharp.dll and /dev/null differ diff --git a/site/trunk/Bin/CryptSharp.xml b/site/trunk/Bin/CryptSharp.xml deleted file mode 100644 index f8c370a..0000000 --- a/site/trunk/Bin/CryptSharp.xml +++ /dev/null @@ -1,1334 +0,0 @@ - - - - CryptSharp - - - - - LDAP password schemes. - - - - - Salted SHA-1. This is the default. - - - - - Unsalted SHA-1. Used in htpasswd files. - - - - - Salted SHA-256. - - - - - Unsalted SHA-256. - - - - - Salted SHA-384. - - - - - Unsalted SHA-384. - - - - - Salted SHA-512. - - - - - Unsalted SHA-512. - - - - - Salted MD-5. - - - - - Unsalted MD-5. - - - - - No crypt operation is performed. The password can be read easily. - - - - - Any crypt algorithm. - - If you specify this for , - you must also set - and may optionally set . - - - - - Base-16 binary-to-text encodings. - - - - - Hexadecimal base-16 uses the numbers 0-9 for 0-9, and the letters A-F for 10-15. - - - - - Options that modify the LDAP crypt operation. - - - - - Options that modify the crypt operation. - - - - - The number of rounds to iterate. - - - - - The variant of the crypt algorithm to use. - - - - - The crypter to use with . - - - - - The options to pass to the crypter specified by . - - - - - Implements the SCrypt key derivation function. - - - - - Computes a derived key. - - The key to derive from. - - The salt. - A unique salt means a unique SCrypt stream, even if the original key is identical. - - - The cost parameter, typically a fairly large number such as 262144. - Memory usage and CPU time scale approximately linearly with this parameter. - - - The mixing block size, typically 8. - Memory usage and CPU time scale approximately linearly with this parameter. - - - The level of parallelism, typically 1. - CPU time scales approximately linearly with this parameter. - - - The maximum number of threads to spawn to derive the key. - This is limited by the value. - null will use as many threads as possible. - - The desired length of the derived key. - The derived key. - - - - The SCrypt algorithm creates a salt which it then uses as a one-iteration - PBKDF2 key stream with SHA256 HMAC. This method lets you retrieve this intermediate salt. - - The key to derive from. - - The salt. - A unique salt means a unique SCrypt stream, even if the original key is identical. - - - The cost parameter, typically a fairly large number such as 262144. - Memory usage and CPU time scale approximately linearly with this parameter. - - - The mixing block size, typically 8. - Memory usage and CPU time scale approximately linearly with this parameter. - - - The level of parallelism, typically 1. - CPU time scales approximately linearly with this parameter. - - - The maximum number of threads to spawn to derive the key. - This is limited by the value. - null will use as many threads as possible. - - The effective salt. - - - - Creates a derived key stream from which a derived key can be read. - - The key to derive from. - - The salt. - A unique salt means a unique scrypt stream, even if the original key is identical. - - - The cost parameter, typically a fairly large number such as 262144. - Memory usage and CPU time scale approximately linearly with this parameter. - - - The mixing block size, typically 8. - Memory usage and CPU time scale approximately linearly with this parameter. - - - The level of parallelism, typically 1. - CPU time scales approximately linearly with this parameter. - - - The maximum number of threads to spawn to derive the key. - This is limited by the value. - null will use as many threads as possible. - - The derived key stream. - - - - Base-64 binary-to-text encodings. - - - - - Blowfish crypt orders characters differently from standard crypt, and begins encoding from - the most-significant bit instead of the least-significant bit. - - - - - Traditional DES crypt base-64, as seen on Unix /etc/passwd, many websites, database servers, etc. - - - - - MD5, SHA256, and SHA512 crypt base-64, as seen on Unix /etc/passwd, many websites, database servers, etc. - - - - - Properties inherent to particular crypt algorithms. - - - - - The maximum password length. Bytes beyond this length will have no effect. - - - - - The minimum number for . - - - - - The maximum number for . - - - - - Variations of the Blowfish crypt algorithm. - - You only need concern yourself with Blowfish crypt variations if you have passwords - generated pre-2011 using the C-language crypt_blowfish library or a port thereof. - - CryptSharp was implemented from specification and is not a port, and therefore never had the bug - these variants pertain to. - - - - - The $2a$ prefix indicates nothing about whether or not the crypted password was created with - a pre-2011 version of the C-language crypt_blowfish library. Pre-2011, that library had a - sign extension bug affecting non-ASCII passwords. - - See - for a more detailed explanation of the bug in question. - - - - - The $2x$ prefix indicates that these passwords were generated with pre-2011 crypt_blowfish - or a port originating from it. - - If you have old crypted non-ASCII passwords you can't re-derive, and still want to verify them with CryptSharp, - ensure that they have the $2x$ prefix instead of the $2a$ prefix. This will indicate to CryptSharp - that it should emulate the bug when verifying the password. - - - - - The $2y$ prefix indicates that pre-2011 crypt_blowfish's sign extension bug does not affect - these crypted passwords. - - For passwords crypted with CryptSharp, this has always been true and as such selecting this - variant changes the prefix but otherwise does not affect the output. - - - - - Crypts and verifies passwords. The main class for most uses of this library. - - - - - using CryptSharp; - - // Crypt using the Blowfish crypt ("BCrypt") algorithm. - string cryptedPassword = Crypter.Blowfish.Crypt(password); - - - using CryptSharp; - - // Do the passwords match? - // You can also check a password using the Crypt method, but this approach way is easier. - bool matches = Crypter.CheckPassword(testPassword, cryptedPassword); - - - using CryptSharp; - - // Specify the $apr1$ Apache htpasswd variant of the MD5 crypt algorithm. - string cryptedPassword = Crypter.MD5.Crypt(password, new CrypterOptions() - { - { CrypterOption.Variant, MD5CrypterVariant.Apache } - }); - - - - - - Checks if the crypted password matches the given password string. - - The password string to test. Characters are UTF-8 encoded. - The crypted password. - true if the passwords match. - - - - Checks if the crypted password matches the given password bytes. - - The password bytes to test. - The crypted password. - true if the passwords match. - - - - Searches for a crypt algorithm compatible with the specified crypted password or prefix. - - The crypted password or prefix. - A compatible crypt algorithm. - No compatible crypt algorithm was found. - - - - Checks if the particular crypt algorithm is compatible with the salt string or crypted password. - - The salt string or crypted password. - true if the algorithm is compatible. - - - - Creates a one-way password hash (crypted password) from a password string. - - The password string. Characters are UTF-8 encoded. - The crypted password. - - - - Creates a one-way password hash (crypted password) from a password string. - Options modify the crypt operation. - - The password string. Characters are UTF-8 encoded. - Options modifying the crypt operation. - The crypted password. - - - - Creates a one-way password hash (crypted password) from a password string and a salt string. - - The salt can be produced using . - Because crypted passwords take the form algorithm+salt+hash, if you pass - a crypted password as the salt parameter, the same algorithm and salt will be used to re-crypt the - password. Since randomness comes from the salt, the same salt means the same hash, and so the - same crypted password will result. Therefore, this method can both generate *and* verify crypted passwords. - - The password string. Characters are UTF-8 encoded. - The salt string or crypted password containing a salt string. - The crypted password. - - - - Creates a one-way password hash (crypted password) from password bytes. - - The bytes of the password. - The crypted password. - - - - Creates a one-way password hash (crypted password) from password bytes. - Options modify the crypt operation. - - The bytes of the password. - Options modifying the crypt operation. - The crypted password. - - - - Creates a one-way password hash (crypted password) from password bytes and a salt string. - - The salt can be produced using . - Because crypted passwords take the form algorithm+salt+hash, if you pass - a crypted password as the salt parameter, the same algorithm and salt will be used to re-crypt the - password. Since randomness comes from the salt, the same salt means the same hash, and so the - same crypted password will result. Therefore, this method can both generate *and* verify crypted passwords. - - The bytes of the password. - The salt string or crypted password containing a salt string. - The crypted password. - - - - Generates a salt string with default options. - The purpose of salt is to make dictionary attacks against a whole password database much harder, - by causing the crypted password to be different even if two users have the same uncrypted password. - - The salt string. - - - - Generates a salt string using the specified number of rounds. - The purpose of salt is to make dictionary attacks against a whole password database much harder, - by causing the crypted password to be different even if two users have the same uncrypted password. - - The salt string. - - - - Generates a salt string. Options are used to modify the salt generation. - The purpose of salt is to make dictionary attacks against a whole password database much harder, - by causing the crypted password to be different even if two users have the same uncrypted password. - - Randomness in a crypted password comes from its salt string, as do all recorded options. - The same salt string, when combined with the same password, will generate the same crypted password. - If the salt string differs, the same password will generate a different crypted password - (crypted passwords have the form algorithm+salt+hash, so the salt is always carried along - with the crypted password). - - Options modifying the salt generation. - The salt string. - - - - Blowfish crypt, sometimes called BCrypt. A very good choice. - - - - - Traditional DES crypt. - - - - - Extended DES crypt. - - - - - LDAP schemes such as {SHA}. - - - - - MD5 crypt, supported by nearly all systems. A variant supports Apache htpasswd files. - - - - - PHPass crypt. Used by WordPress. Variants support phpBB and Drupal 7+. - - - - - SHA256 crypt. A reasonable choice if you cannot use Blowfish crypt for policy reasons. - - - - - SHA512 crypt. A reasonable choice if you cannot use Blowfish crypt for policy reasons. - - - - - Properties inherent to the particular crypt algorithm. These cannot be modified. - See for possible keys. - - - - - LDAP schemes such as {SHA}. - - - - - Initializes a new instance of the class. - The specified environment is searched for the {CRYPT} password scheme. - - The environment for the {CRYPT} passwod scheme. - - - - - - - - - - - - - Lets you customize the list of crypt algorithms your program will accept. - - - - - Checks if the crypted password matches the given password string. - - The password string to test. Characters are UTF-8 encoded. - The crypted password. - true if the passwords match. - - - - Checks if the crypted password matches the given password bytes. - - The password bytes to test. - The crypted password. - true if the passwords match. - - - - Searches for a crypt algorithm compatible with the specified crypted password or prefix. - - The crypted password or prefix. - A compatible crypt algorithm. - No compatible crypt algorithm was found. - - - - Searches for a crypt algorithm compatible with the specified crypted password or prefix, - - The crypted password or prefix. - A compatible crypt algorithm. - true if a compatible crypt algorithm was found. - - - - Prevents future changes to the environment. - - The same . - - - - The collection of crypters in this environment. - - - - - - - The default environment. - - - - - true if the environment cannot be changed. - - - - - Performs generic binary-to-text encoding. - - - - - - - - - - - Converts bytes from their binary representation to a text representation. - - An input array of bytes. - The index of the first byte. - The number of bytes to read. - An output array of characters. - The index of the first character. - The number of characters to write. - The number of characters written. - - - - - - - - - - - - - Converts characters from their text representation to a binary representation. - - An input array of characters. - The index of the first character. - The number of characters to read. - An output array of bytes. - The index of the first byte. - The number of bytes to write. - The number of bytes written. - - - - - - - Defines a binary-to-text encoding. - - The characters of the encoding. - - true to begin with the most-significant bit of each byte. - Otherwise, the encoding begins with the least-significant bit. - - - - - Defines a binary-to-text encoding. - Additional decode characters let you add aliases, and a filter callback can be used - to make decoding case-insensitive among other things. - - The characters of the encoding. - - true to begin with the most-significant bit of each byte. - Otherwise, the encoding begins with the least-significant bit. - - - A dictionary of alias characters, or null if no aliases are desired. - - - A callback to map arbitrary characters onto the characters that can be decoded. - - - - - Gets the value corresponding to the specified character. - - A character. - A value, or -1 if the character is not part of the encoding. - - - - Gets the character corresponding to the specified value. - - A value. - A character. - - - - The bit mask for a single character in the current encoding. - - - - - The number of bits per character in the current encoding. - - - - - true if the encoding begins with the most-significant bit of each byte. - Otherwise, the encoding begins with the least-significant bit. - - - - - The key type for options. - - - - - Creates a new option key. - - A description of the option. - The type of the option's value. - - - - Throws an exception if the value is incompatible with this option. - - The value to check. - - - - Override this to provide additional validation for an option. - - The value to check. - - - - - - - A description of the option. - - - - - The type of the option's value. - - - - - Implements the Salsa20 hash function. - - - - - Applies the Salsa20 hash function. - It maps a 16 element input to an output of the same size. - - The number of rounds. SCrypt uses 8. - The input buffer. - The offset into the input buffer. - The output buffer. - The offset into the output buffer. - - - - SHA256 crypt. A reasonable choice if you cannot use Blowfish crypt for policy reasons. - - - - - Base class for Sha256Crypter and Sha512Crypter. - - - - - - - - - - - - - - - - - Provides comparison methods resistant to timing attack. - - - - - Compares two strings in a timing-insensitive manner. - - The string controlled by a potential attacker. - The string not controlled by a potential attacker. - true if the strings are equal. - - If the reference string is zero-length, this method does not protect it against timing attacks. - If the reference string is extremely long, memory caching effects may reveal that fact. - - - - - Performs low-level encryption and decryption using the Blowfish cipher. - - - - - Clears all memory used by the cipher. - - - - - Creates a Blowfish cipher using the provided key. - - The Blowfish key. This must be between 4 and 56 bytes. - A Blowfish cipher. - - - - Performs an Expensive Key Schedule (EKS) Blowfish key expansion and - creates a Blowfish cipher using the result. - - - The key. This must be between 1 and 72 bytes. - Unlike , this method does NOT automatically add a null byte to the key. - - The salt. This must be 16 bytes. - - The expansion cost. This is a value between 4 and 31, - specifying the logarithm of the number of iterations. - - A Blowfish cipher. - - - - Performs an Expensive Key Schedule (EKS) Blowfish key expansion and - creates a Blowfish cipher using the result. Flags may modify the key expansion. - - - The key. This must be between 1 and 72 bytes. - Unlike , this method does NOT automatically add a null byte to the key. - - The salt. This must be 16 bytes. - - The expansion cost. This is a value between 4 and 31, - specifying the logarithm of the number of iterations. - - Flags modifying the key expansion. - A Blowfish cipher. - - - - Uses the given key, salt, and cost to generate a BCrypt hash. - - - The key. This must be between 1 and 72 bytes. - Unlike , this method does NOT automatically add a null byte to the key. - - The salt. This must be 16 bytes. - - The expansion cost. This is a value between 4 and 31, - specifying the logarithm of the number of iterations. - - A BCrypt hash. - - - - Uses the given key, salt, and cost to generate a BCrypt hash. - Flags may modify the key expansion. - - - The key. This must be between 1 and 72 bytes. - Unlike , this method does NOT automatically add a null byte to the key. - - The salt. This must be 16 bytes. - - The expansion cost. This is a value between 4 and 31, - specifying the logarithm of the number of iterations. - - Flags modifying the key expansion. - A BCrypt hash. - - - - Uses the cipher to generate a BCrypt hash. - - A BCrypt hash. - - - - Enciphers eight bytes of data in-place. - - The buffer containing the data. - The offset of the first byte to encipher. - - - - Enciphers eight bytes of data from one buffer and places the result in another buffer. - - The buffer to read plaintext data from. - The offset of the first plaintext byte. - The buffer to write enciphered data to. - The offset at which to place the first enciphered byte. - - - - Enciphers eight bytes of data. - - The first four bytes. - The last four bytes. - - - - Reverses the encipherment of eight bytes of data in-place. - - The buffer containing the data. - The offset of the first byte to decipher. - - - - Reverses the encipherment of eight bytes of data from one buffer and places the result in another buffer. - - The buffer to read enciphered data from. - The offset of the first enciphered byte. - The buffer to write plaintext data to. - The offset at which to place the first plaintext byte. - - - - Reverses the encipherment of eight bytes of data. - - The first four bytes. - The last four bytes. - - - - The special string used encrypted in the BCrypt algorithm. - - - - - The number of bytes returned by . - - - - - A Blowfish key is weak if one of its S-boxes has a duplicate entry. - See http://www.schneier.com/paper-blowfish-oneyear.html for more information. - - - - - Modified versions of the PHPass crypt algorithm. - - - - - Standard PHPass. WordPress uses this. - - - - - phpBB changes the prefix but the algorithm is otherwise identical. - - - - - Drupal 7+ uses SHA512 instead of MD5. - - - - - Extended DES crypt. - - - - - - - - - - - - - - - - - Performs low-level encryption and decryption using the DES cipher. - - - - - Clears all memory used by the cipher. - - - - - Creates a DES cipher using the provided key. - - The DES key. This must be eight bytes. - A DES cipher. - - - - Enciphers eight bytes of data from one buffer and places the result in another buffer. - - The buffer to read plaintext data from. - The offset of the first plaintext byte. - The buffer to write enciphered data to. - The offset at which to place the first enciphered byte. - - - - Reverses the encipherment of eight bytes of data from one buffer and places the result in another buffer. - - The buffer to read enciphered data from. - The offset of the first enciphered byte. - The buffer to write plaintext data to. - The offset at which to place the first plaintext byte. - - - - Crypts eight bytes of data in-place. - - The buffer to crypt. For traditional DES crypt, this is zero-initialized. - The offset into the buffer. - The number of iterations to run. - The salt, up to 24 bits. - - - - Base-32 binary to text encodings. - - I needed multiple variations of base-64 for the various crypt algorithms, and base-16 (hex) for test vectors, - so base-32 is mostly a freebie. It's great for e-mail verifications, product keys - really anywhere you need - someone to type in a randomly-generated code. - - - - - Crockford base-32 is somewhat traditional, but still better than the RFC 4648 standard. - It is specified at http://www.crockford.com/wrmg/base32.html. - - - - - z-base-32 is a lowercase base-32 encoding designed to be easily hand-written and read. - It is specified at http://www.zer7.com/files/oss/cryptsharp/zbase32.txt. - - - - - SHA512 crypt. A reasonable choice if you cannot use Blowfish crypt for policy reasons. - - - - - Implements the PBKDF2 key derivation function. - - - - - using System.Security.Cryptography; - using CryptSharp.Utility; - - // Compute a 128-byte derived key using HMAC-SHA256, 1000 iterations, and a given key and salt. - byte[] derivedKey = Pbkdf2.ComputeDerivedKey(new HMACSHA256(key), salt, 1000, 128); - - - using System.IO; - using System.Security.Cryptography; - using CryptSharp.Utility; - - // Create a stream using HMAC-SHA512, 1000 iterations, and a given key and salt. - Stream derivedKeyStream = new Pbkdf2(new HMACSHA512(key), salt, 1000); - - - - - - Creates a new PBKDF2 stream. - - - The HMAC algorithm to use, for example . - Make sure to set . - - - The salt. - A unique salt means a unique PBKDF2 stream, even if the original key is identical. - - The number of iterations to apply. - - - - Reads from the derived key stream. - - The number of bytes to read. - Bytes from the derived key stream. - - - - Computes a derived key. - - - The HMAC algorithm to use, for example . - Make sure to set . - - - The salt. - A unique salt means a unique derived key, even if the original key is identical. - - The number of iterations to apply. - The desired length of the derived key. - The derived key. - - - - Closes the stream, clearing memory and disposing of the HMAC algorithm. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The maximum number of bytes that can be derived is 2^32-1 times the HMAC size. - - - - - The position within the derived key stream. - - - - - Base-2 binary-to-text encodings. - - - - - Binary. Useful for debugging. - - - - - Traditional DES crypt. - - - - - - - - - - - - - - - - - Blowfish crypt, sometimes called BCrypt. A very good choice. - - - - - - - - - - - - - - - - - A callback to map arbitrary characters onto the characters that can be decoded. - - The original character. - the replacement character. - - - - PHPass crypt. Used by WordPress. Variants support phpBB and Drupal 7+. - - - - - - - - - - - - - - - - - Modified versions of the MD5 crypt algorithm. - - - - - Standard MD5 crypt. - - - - - Apache htpasswd files have a different prefix. - Due to the nature of MD5 crypt, this also affects the crypted password. - - - - - Stores options for the crypt operation. - - - - - Sets the value of an option, if the option has not already been set. - - The key of the option. - The value of the option. - - - - Clears all options. - - - - - Checks if an option is set. - - The key of the option. - true if the option is set. - - - - Returns an enumerator that iterates through all options. - - An enumerator for the options. - - - - Gets the value of an option, if the option is set, or a default value otherwise. - - The type of the option's value. - The key of the option. - The option's value. - - - - Gets the value of an option, if the option is set, or a specified default value otherwise. - - The type of the option's value. - The key of the option. - The default value if the option is not set. - The option's value. - - - - Clears an option. - - The key of the option. - true if the option was found and cleared. - - - - Gets the value of an option, if the option is set. - - The key of the option. - The value, or null if the option is not set. - true if the option is set. - - - - Prevents future changes to the options. - - The same . - - - - The number of options that have been set. - - - - - Gets or sets an option. - - The key of the option. - The value of the option. - - - - No options. - - - - - true if the options cannot be changed. - - - - - Modifiers for Expensive Key Schedule (EKS) Blowfish key expansion behavior. - - - - - Default behavior. - - - - - The EksBlowfish code in CryptSharp was implemented as per the specification - at http://static.usenix.org/event/usenix99/provos/provos_html/node4.html. - - Many other BCrypt implementations, however, are ports originating - originating with the crypt_blowfish C implementation. Pre-2011, crypt_blowfish - had a sign extension bug that caused up to three characters previous to any - 8-bit character to match 0xFF. - - CryptSharp never had this bug. However, for those who need backwards - compatibility for old password databases created with one of these libraries, - I have added *support* for the bug. You can enable it with this flag. - - - - - MD5 crypt, supported by nearly all systems. A variant supports Apache htpasswd files. - - - - - - - - - - - - - diff --git a/site/trunk/Bin/Google.Authenticator.dll b/site/trunk/Bin/Google.Authenticator.dll deleted file mode 100644 index 0d9772d..0000000 Binary files a/site/trunk/Bin/Google.Authenticator.dll and /dev/null differ diff --git a/site/trunk/Bin/ICSharpCode.SharpZipLib.dll b/site/trunk/Bin/ICSharpCode.SharpZipLib.dll deleted file mode 100644 index fe643eb..0000000 Binary files a/site/trunk/Bin/ICSharpCode.SharpZipLib.dll and /dev/null differ diff --git a/site/trunk/Bin/MailChimp.Net.dll b/site/trunk/Bin/MailChimp.Net.dll deleted file mode 100644 index 46838c8..0000000 Binary files a/site/trunk/Bin/MailChimp.Net.dll and /dev/null differ diff --git a/site/trunk/Bin/Markdig.dll b/site/trunk/Bin/Markdig.dll deleted file mode 100644 index b650e05..0000000 Binary files a/site/trunk/Bin/Markdig.dll and /dev/null differ diff --git a/site/trunk/Bin/Markdig.xml b/site/trunk/Bin/Markdig.xml deleted file mode 100644 index c5b593f..0000000 --- a/site/trunk/Bin/Markdig.xml +++ /dev/null @@ -1,5393 +0,0 @@ - - - - Markdig - - - - - An abbreviation object stored at the document level. See extension methods in . - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Gets or sets the label. - - - - - The text associated to this label. - - - - - The label span - - - - - Extension to allow abbreviations. - - - - - - Extension methods for . - - - - - The inline abbreviation. - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The abbreviation. - - - - A block parser for abbreviations. - - - - - - Initializes a new instance of the class. - - - - - A HTML renderer for a . - - - - - - The auto-identifier extension - - - - - - Initializes a new instance of the class. - - The options. - - - - Process on a new - - The processor. - The heading block. - - - - Callback when there is a reference to found to a heading. - Note that reference are only working if they are declared after. - - - - - Process the inlines of the heading to create a unique identifier - - The processor. - The inline. - - - - Options for the . - - - - - No options - - - - - Default () - - - - - Allows to link to a header by using the same text as the header for the link label. Default is true - - - - - Allows only ASCII characters in the url (HTML 5 allows to have UTF8 characters). Default is true - - - - - Renders auto identifiers like GitHub. - - - - - A link reference definition to a stored at the level. - - - - - - Gets or sets the heading related to this link reference definition. - - - - - Extension to automatically create when a link url http: or mailto: is found. - - - - - - The inline parser used to for autolinks. - - - - - - Initializes a new instance of the class. - - - - - Extension for tagging some HTML elements with bootstrap classes. - - - - - - Extension for cite ""..."" - - - - - - A block custom container. - - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Extension to allow custom containers. - - - - - - An inline custom container - - - - - - - The block parser for a . - - - - - - Initializes a new instance of the class. - - - - - A HTML renderer for a . - - - - - - A HTML renderer for a . - - - - - - A definition item contains zero to multiple - and definitions (any ) - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Gets or sets the opening character for this definition item (either `:` or `~`) - - - - - A definition list contains children. - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Extension to allow definition lists - - - - - - The block parser for a . - - - - - - Initializes a new instance of the class. - - - - - A definition term contains a single line with the term to define. - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - A HTML renderer for , and . - - - - - - Extension to allow diagrams. - - - - - - Extension to allow emoji and smiley replacement. - - - - - - An emoji inline - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The content. - - - - Gets or sets the original match string (either an emoji or a text smiley) - - - - - The inline parser used to for emoji. - - - - - - Initializes a new instance of the class. - - - - - Gets or sets a boolean indicating whether to process smiley. - - - - - Gets the emoji to unicode mapping. This can be modified before this parser is initialized. - - - - - Gets the smiley to emoji mapping. This can be modified before this parser is initialized. - - - - - Extension for strikethrough, subscript, superscript, inserted and marked. - - - - - - Initializes a new instance of the class. - - The options. - - - - Gets the options. - - - - - Options for enabling support for extra emphasis. - - - - - Allows all extra emphasis (default). - - - - - A text that can be strikethrough using the double character ~~ - - - - - A text that can be rendered as a subscript using the character ~ - - - - - A text that can be rendered as a superscript using the character ^ - - - - - A text that can be rendered as a inserted using the character ++ - - - - - A text that can be rendered as a inserted using the character == - - - - - Defines a figure container. - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Gets or sets the opening character count used to open this figure code block. - - - - - Gets or sets the opening character used to open and close this figure code block. - - - - - The block parser for a block. - - - - - - Initializes a new instance of the class. - - - - - Defines a figure caption. - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Extension to allow usage of figures and figure captions. - - - - - - A HTML renderer for a . - - - - - - A HTML renderer for a . - - - - - - A block elemeent for a footer. - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Gets or sets the opening character used to match this footer (by default it is ^) - - - - - A block parser for a . - - - - - - Initializes a new instance of the class. - - - - - Extension that provides footer. - - - - - - A HTML renderer for a . - - - - - - A block for a footnote. - - - - - - Gets or sets the label used by this footnote. - - - - - Gets or sets the order of this footnote (determined by the order of the in the document) - - - - - Gets the links referencing this footnote. - - - - - The label span - - - - - Extension to allow footnotes. - - - - - - A block that contains all the footnotes at the end of a . - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - A inline link to a . - - - - - - Gets or sets a value indicating whether this instance is back link (from a footnote to the link) - - - - - Gets or sets the global index number of this link. - - - - - Gets or sets the footnote this link refers to. - - - - - A link reference definition stored at the level. - - - - - - Gets or sets the footnote related to this link reference definition. - - - - - The block parser for a . - - - - - - The key used to store at the document level the pending - - - - - Add footnotes to the end of the document - - The processor. - The inline. - - - - A HTML renderer for a . - - - - - - Initializes a new instance of the class. - - - - - Gets or sets the CSS group class used when rendering the <div> of this instance. - - - - - A HTML renderer for a . - - - - - - Extension that allows to attach HTML attributes to the previous or current . - This extension should be enabled last after enabling other extensions. - - - - - - An inline parser used to parse a HTML attributes that can be attached to the previous or current . - - - - - - Initializes a new instance of the class. - - - - - Tries to extra from the current position of a slice an HTML attributes {...} - - The slice to parse. - The output attributes or null if not found or invalid - true if parsing the HTML attributes was succsesfull - - - - Extension to generate hardline break for softline breaks. - - - - - - Model for a JIRA link item - - - - - JIRA Project Key - - - - - JIRA Issue Number - - - - - Simple inline parser extension for Markdig to find, and - automatically add links to JIRA issue numbers. - - - - - Finds and replaces JIRA links inline - - - - - Available options for replacing JIRA links - - - - - The base Url (e.g. `https://mycompany.atlassian.net`) - - - - - The base path after the base url (default is `/browse`) - - - - - Should the link open in a new window when clicked - - - - - Gets the full url composed of the and with no trailing `/` - - - - - Extension for adding new type of list items (a., A., i., I.) - - - - - - Parser that adds supports for parsing alpha/roman list items (e.g: `a)` or `a.` or `ii.` or `II.`) - - - Note that we don't validate roman numbers. - - - - - - Initializes a new instance of the class. - - - - - A HTML renderer for a . - - - - - - A HTML renderer for a . - - - - - - A math block. - - - - - - Initializes a new instance of the class. - - The parser. - - - - The block parser for a . - - - - - - Initializes a new instance of the class. - - - - - Extension for adding inline mathematics $...$ - - - - - - A math inline element. - - - - - - Gets or sets the delimiter character used by this code inline. - - - - - Gets or sets the delimiter count. - - - - - The content as a . - - - - - An inline parser for . - - - - - - - Initializes a new instance of the class. - - - - - Gets or sets the default class to use when creating a math inline block. - - - - - Extension for extending image Markdown links in case a video or an audio file is linked and output proper link. - - - - - - Options for the . - - - - - Extension that will disable URI escape with % characters for non-US-ASCII characters in order to workaround a bug under IE/Edge with local file links containing non US-ASCII chars. DO NOT USE OTHERWISE. - - - - - Extension to automatically render rel=nofollow to all links in an HTML output. - - - - - Extension to a span for each line containing the original line id (using id = pragma-line#line_number_zero_based) - - - - - - Extension to enable SelfPipeline, to configure a Markdown parsing/convertion to HTML automatically - from an embedded special tag in the input text <!--markdig:extensions--> where extensions is a string - that specifies the extensions to use for the pipeline as exposed by extension method - on the . This extension will invalidate all other extensions and will override them. - - - - - - Gets the default pipeline to configure if no tag was found in the input text. Default is null (core pipeline). - - - - - Gets the self pipeline hint tag start that will be matched. - - - - - Creates a pipeline automatically configured from an input markdown based on the presence of the configuration tag. - - The input text. - The pipeline configured from the input - - - - - A HTML renderer for a . - - - - - - Initializes a new instance of the class. - - The options. - - - - - An inline for SmartyPant. - - - - - Converts this instance to a literal text. - - - - - - The options used for . - - - - - Initializes a new instance of the class. - - - - - Gets the mapping between a and its textual representation - (usually an HTML entity). - - - - - Extension to enable SmartyPants. - - - - - Initializes a new instance of the class. - - The options. - - - - Gets the options. - - - - - The inline parser for SmartyPants. - - - - - Initializes a new instance of the class. - - - - - Types of a . - - - - - This is a single quote ' - - - - - - - This is a double quote " - - - - - - - - - - - - Extension that allows to use grid tables. - - - - - - Internal state used by the - - - - - Gets or sets the index position of this column (after the |) - - - - - A HTML renderer for a - - - - - - This block parsers for pipe tables is used to by-pass list items that could start by a single '-' - and would disallow to detect a pipe tables at inline parsing time, so we are basically forcing a line - that starts by a '-' and have at least a '|' (and have optional spaces) and is a continuation of a - paragraph. - - - - - - Initializes a new instance of the class. - - - - - The delimiter used to separate the columns of a pipe table. - - - - - - Gets or sets the index of line where this delimiter was found relative to the current block. - - - - - Extension that allows to use pipe tables. - - - - - - Initializes a new instance of the class. - - The options. - - - - Gets the options. - - - - - Options for the extension - - - - - Initializes a new instance of the class. - - - - - Gets or sets a value indicating whether to require header separator. true by default (Kramdown is using false) - - - - - The inline parser used to transform a into a at inline parsing time. - - - - - - - Initializes a new instance of the class. - - The linebreak parser to use - The options. - - - - Gets the options. - - - - - Defines a table that contains an optional . - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Gets or sets the column alignments. May be null. - - - - - Checks if the table structure is valid. - - True if the table has rows and the number of cells per row is correct, other wise false. - - - - Normalizes the number of columns of this table by taking the maximum columns and appending empty cells. - - - - - Defines a cell in a - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Gets or sets the index of the column to which this cell belongs. - - - - - Gets or sets the column span this cell is covering. Default is 1. - - - - - Gets or sets the row span this cell is covering. Default is 1. - - - - - Gets or sets whether this cell can be closed. - - - - - Defines the alignment of a column - - - - - Align the column to the left - - - - - Align the column to the center - - - - - Align the column to the right - - - - - Defines a column. - - - - - Gets or sets the width (in percentage) of this column. A value of 0 is unspecified. - - - - - Gets or sets the column alignment. - - - - - Helper methods for parsing tables. - - - - - Parses a column header equivalent to the regexp: \s*:\s*[delimiterChar]+\s*:\s* - - The text slice. - The delimiter character (either `-` or `=`). - The alignment of the column. - - true if parsing was successfull - - - - - Parses a column header equivalent to the regexp: \s*:\s*[delimiterChar]+\s*:\s* - - The text slice. - The delimiter character (either `-` or `=`). - The alignment of the column. - - true if parsing was successfull - - - - - Parses a column header equivalent to the regexp: \s*:\s*[delimiterChar]+\s*:\s* - - The text slice. - The delimiter character (either `-` or `=`). If `\0`, it will detect the character (either `-` or `=`) - The alignment of the column. - - true if parsing was successfull - - - - - Defines a row in a , contains , parent is . - - - - - - Initializes a new instance of the class. - - - - - Gets or sets a value indicating whether this instance is header row. - - - - - A HTML renderer for a . - - - - - - An inline for TaskList. - - - - - Extension to enable TaskList. - - - - - The inline parser for SmartyPants. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the list class used for a task list. - - - - - Gets or sets the list item class used for a task list. - - - - - Extension that allows setting line-endings for any IMarkdownRenderer - that inherits from - - - - - - A YAML frontmatter block. - - - - - - Initializes a new instance of the class. - - The parser. - - - - Extension to discard a YAML frontmatter at the beginning of a Markdown document. - - - - - Block parser for a YAML frontmatter. - - - - - - Initializes a new instance of the class. - - - - - Creates the front matter block. - - The block processor - The front matter block - - - - Tries to match a block opening. - - The parser processor. - The result of the match - - - - Tries to continue matching a block already opened. - - The parser processor. - The block already opened. - The result of the match. By default, don't expect any newline - - - - Empty renderer for a - - - - - - Helper class for defining Empty arrays. - - Type of an element of the array - - - - An empty array. - - - - - Allows to associate characters to a data structures and query efficiently for them. - - - - - - Initializes a new instance of the class. - - The states. - - - - - Gets all the opening characters defined. - - - - - Gets the list of parsers valid for the specified opening character. - - The opening character. - A list of parsers valid for the specified opening character or null if no parsers registered. - - - - Searches for an opening character from a registered parser in the specified string. - - The text. - The start. - The end. - Index position within the string of the first opening character found in the specified text; if not found, returns -1 - - - - Helper class for handling characters. - - - - - Class used to simplify a unicode char to a simple ASCII string - - - - - Converts a unicode char to a simple ASCII string. - - The input char. - The simple ASCII string or null if the char itself cannot be simplified - - - - A default object cache that expect the type {T} to provide a parameter less constructor - - The type of item to cache - - - - - Helper class to decode an entity. - - - - - Decodes the given HTML entity to the matching Unicode characters. - - The entity without & and ; symbols, for example, copy. - The unicode character set or null if the entity was not recognized. - - - - Decodes the given UTF-32 character code to the matching set of UTF-16 characters. - - The unicode character set or null if the entity was not recognized. - - - - Source: http://www.w3.org/html/wg/drafts/html/master/syntax.html#named-character-references - - - - - Helper to parse several HTML tags. - - - - - Destructively unescape a string: remove backslashes before punctuation or symbol characters. - - The string data that will be changed by unescaping any punctuation or symbol characters. - if set to true [remove back slash]. - - - - - Scans an entity. - Returns number of chars matched. - - - - - Provides a common interface for iterating characters - over a or . - - - - - Gets the current start character position. - - - - - Gets the current character. - - - - - Gets the end character position. - - - - - Goes to the next character, incrementing the position. - - The next character. `\0` is end of the iteration. - - - - Peeks at the next character, without incrementing the position. - - - The next character. `\0` is end of the iteration. - - - - Gets a value indicating whether this instance is empty. - - - - - Trims whitespaces at the beginning of this slice starting from position. - - true if it has reaches the end of the iterator - - - - A line reader from a that can provide precise source position - - - - - Initializes a new instance of the class. - - - bufferSize cannot be <= 0 - - - - Gets the char position of the line. Valid for the next line before calling . - - - - - Reads a new line from the underlying and update the for the next line. - - A new line or null if the end of has been reached - - - - Helpers to parse Markdown links. - - - - - Internal helper to allow to declare a method using AggressiveInlining without being .NET 4.0+ - - - - - A simple object recycling system. - - Type of the object to cache - - - - Initializes a new instance of the class. - - - - - Clears this cache. - - - - - Gets a new instance. - - - - - - Releases the specified instance. - - The instance. - if instance is null - - - - Creates a new instance of {T} - - A new instance of {T} - - - - Resets the specified instance when is called before storing back to this cache. - - The instance. - - - - A List that provides methods for inserting/finding before/after. See remarks. - - Type of the list item - - We use a typed list and don't use extension methods because it would pollute all list implemts and the top level namespace. - - - - Replaces with . - - Element type to find in the list - Object to replace this element with - true if a replacement was made; otherwise false. - - - - An implementation of for - - - - - - A StringBuilder that can be used locally in a method body only. - - - - - Provides a string builder that can only be used locally in a method. This StringBuilder MUST not be stored. - - - - - - Extensions for StringBuilder with - - - - - Appends the specified slice to this instance. - - The builder. - The slice. - - - - A struct representing a text line. - - - - - Initializes a new instance of the struct. - - The slice. - - - - Initializes a new instance of the struct. - - The slice. - The line. - The column. - - - - Initializes a new instance of the struct. - - The slice. - The line. - The column. - - - - The slice used for this line. - - - - - The line position. - - - - - The position of the start of this line within the original source code - - - - - The column position. - - - - - Performs an implicit conversion from to . - - The line. - - The result of the conversion. - - - - - A group of . - - - - - - Initializes a new instance of the class. - - - - - - Initializes a new instance of the class. - - The text. - - - - - Gets the lines. - - - - - Gets the number of lines. - - - - - Clears this instance. - - - - - Removes the line at the specified index. - - The index. - - - - Adds the specified line to this instance. - - The line. - - - - Adds the specified slice to this instance. - - The slice. - - - - Converts the lines to a single by concatenating the lines. - - The position of the `\n` line offsets from the beginning of the returned slice. - A single slice concatenating the lines of this instance - - - - Converts this instance into a . - - - - - - Trims each lines of the specified . - - - - - The iterator used to iterate other the lines. - - - - - - A lightweight struct that represents a slice of a string. - - - - - - An empty string slice. - - - - - Initializes a new instance of the struct. - - The text. - - - - Initializes a new instance of the struct. - - The text. - The start. - The end. - - - - - The text of this slice. - - - - - Gets or sets the start position within . - - - - - Gets or sets the end position (inclusive) within . - - - - - Gets the length. - - - - - Gets the current character. - - - - - Gets a value indicating whether this instance is empty. - - - - - Gets the at the specified index. - - The index. - A character in the slice at the specified index (not from but from the begining of the slice) - - - - Goes to the next character, incrementing the position. - - - The next character. `\0` is end of the iteration. - - - - - Peeks a character at the specified offset from the current position - inside the range and , returns `\0` if outside this range. - - The offset. - The character at offset, returns `\0` if none. - - - - Peeks a character at the specified offset from the current beginning of the string, without taking into account and - - The character at offset, returns `\0` if none. - - - - Peeks a character at the specified offset from the current begining of the slice - without using the range or , returns `\0` if outside the . - - The offset. - The character at offset, returns `\0` if none. - - - - Matches the specified text. - - The text. - The offset. - true if the text matches; false otherwise - - - - Matches the specified text. - - The text. - The end. - The offset. - true if the text matches; false otherwise - - - - Expect spaces until a end of line. Return false otherwise. - - true if whitespaces where matched until a end of line - - - - Matches the specified text using lowercase comparison. - - The text. - The offset. - true if the text matches; false otherwise - - - - Matches the specified text using lowercase comparison. - - The text. - The end. - The offset. - true if the text matches; false otherwise - - - - Searches the specified text within this slice. - - The text. - The offset. - true if ignore case - true if the text was found; false otherwise - - - - Searches for the specified character within this slice. - - A value >= 0 if the character was found, otherwise < 0 - - - - Trims whitespaces at the beginning of this slice starting from position. - - - true if it has reaches the end of the iterator - - - - - Trims whitespaces at the beginning of this slice starting from position. - - The number of spaces trimmed. - - - - Trims whitespaces at the end of this slice, starting from position. - - - - - - Trims whitespaces from both the start and end of this slice. - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Determines whether this slice is empty or made only of whitespaces. - - true if this slice is empty or made only of whitespaces; false otherwise - - - - Match a text against a list of ASCII string using internally a tree to speedup the lookup - - - - - Initializes a new instance of the class. - - The matches to match against. - - - - - Tries to match in the text, at offset position, the list of string matches registered to this instance. - - The text. - The offset. - The length. - The match string if the match was successfull. - - true if the match was successfull; false otherwise - - - - - - Base interface for an extension. - - - - - Setups this extension for the specified pipeline. - - The pipeline. - - - - Setups this extension for the specified renderer. - - The pipeline used to parse the document. - The renderer. - - - - Provides methods for parsing a Markdown string to a syntax tree and converting it to other formats. - - - - - Normalizes the specified markdown to a normalized markdown text. - - The markdown. - The normalize options - The pipeline. - A normalized markdown text. - - - - Normalizes the specified markdown to a normalized markdown text. - - The markdown. - The destination that will receive the result of the conversion. - The normalize options - The pipeline. - A normalized markdown text. - - - - Converts a Markdown string to HTML. - - A Markdown text. - The pipeline used for the conversion. - The result of the conversion - if markdown variable is null - - - - Converts a Markdown string to HTML and output to the specified writer. - - A Markdown text. - The destination that will receive the result of the conversion. - The pipeline used for the conversion. - The Markdown document that has been parsed - if reader or writer variable are null - - - - Converts a Markdown string using a custom . - - A Markdown text. - The renderer to convert Markdown to. - The pipeline used for the conversion. - if markdown or writer variable are null - - - - Parses the specified markdown into an AST - - The markdown text. - An AST Markdown document - if markdown variable is null - - - - Parses the specified markdown into an AST - - The markdown text. - The pipeline used for the parsing. - An AST Markdown document - if markdown variable is null - - - - Converts a Markdown string to Plain text and output to the specified writer. - - A Markdown text. - The destination that will receive the result of the conversion. - The pipeline used for the conversion. - The Markdown document that has been parsed - if reader or writer variable are null - - - - Converts a Markdown string to HTML. - - A Markdown text. - The pipeline used for the conversion. - The result of the conversion - if markdown variable is null - - - - Provides extension methods for to enable several Markdown extensions. - - - - - Adds the specified extension to the extensions collection. - - The type of the extension. - The instance of - - - - Adds the specified extension instance to the extensions collection. - - The pipeline. - The instance of the extension to be added. - The type of the extension. - The modified pipeline - - - - Uses all extensions except the BootStrap, Emoji, SmartyPants and soft line as hard line breaks extensions. - - The pipeline. - The modified pipeline - - - - Uses this extension to enable autolinks from text `http://`, `https://`, `ftp://`, `mailto:`, `www.xxx.yyy` - - The pipeline. - The modified pipeline - - - - Uses this extension to disable URI escape with % characters for non-US-ASCII characters in order to workaround a bug under IE/Edge with local file links containing non US-ASCII chars. DO NOT USE OTHERWISE. - - The pipeline. - The modified pipeline - - - - Uses YAML frontmatter extension that will parse a YAML frontmatter into the MarkdownDocument. Note that they are not rendered by any default HTML renderer. - - The pipeline. - The modified pipeline - - - - Uses the self pipeline extension that will detect the pipeline to use from the markdown input that contains a special tag. See - - The pipeline. - The default tag to use to match the self pipeline configuration. By default, , meaning that the HTML tag will be <--markdig:extensions--> - The default extensions to configure if no pipeline setup was found from the Markdown document - The modified pipeline - - - - Uses pragma lines to output span with an id containing the line number (pragma-line#line_number_zero_based`) - - The pipeline. - The modified pipeline - - - - Uses the diagrams extension - - The pipeline. - The modified pipeline - - - - Uses precise source code location (useful for syntax highlighting). - - The pipeline. - The modified pipeline - - - - Uses the task list extension. - - The pipeline. - The modified pipeline - - - - Uses the custom container extension. - - The pipeline. - The modified pipeline - - - - Uses the media extension. - - The pipeline. - The options. - - The modified pipeline - - - - - Uses the auto-identifier extension. - - The pipeline. - The options. - - The modified pipeline - - - - - Uses the SmartyPants extension. - - The pipeline. - The options. - - The modified pipeline - - - - - Uses the bootstrap extension. - - The pipeline. - The modified pipeline - - - - Uses the math extension. - - The pipeline. - The modified pipeline - - - - Uses the figure extension. - - The pipeline. - The modified pipeline - - - - Uses the custom abbreviation extension. - - The pipeline. - The modified pipeline - - - - Uses the definition lists extension. - - The pipeline. - The modified pipeline - - - - Uses the pipe table extension. - - The pipeline. - The options. - - The modified pipeline - - - - - Uses the grid table extension. - - The pipeline. - The modified pipeline - - - - Uses the cite extension. - - The pipeline. - The modified pipeline - - - - Uses the footer extension. - - The pipeline. - The modified pipeline - - - - Uses the footnotes extension. - - The pipeline. - The modified pipeline - - - - Uses the softline break as hardline break extension - - The pipeline. - The modified pipeline - - - - Uses the strikethrough superscript, subscript, inserted and marked text extensions. - - The pipeline. - The options to enable. - - The modified pipeline - - - - - Uses the list extra extension to add support for `a.`, `A.`, `i.` and `I.` ordered list items. - - The pipeline. - - The modified pipeline - - - - - Uses the generic attributes extension. - - The pipeline. - The modified pipeline - - - - Uses the emoji and smiley extension. - - The pipeline. - Enable smiley in addition to Emoji, true by default. - The modified pipeline - - - - Add rel=nofollow to all links rendered to HTML. - - - - - - - Automatically link references to JIRA issues - - The pipeline - Set of required options - The modified pipeline - - - - This will disable the HTML support in the markdown processor (for constraint/safe parsing). - - The pipeline. - The modified pipeline - - - - Configures the pipeline using a string that defines the extensions to activate. - - The pipeline (e.g: advanced for , pipetables+gridtables for and - The extensions to activate as a string - The modified pipeline - - - - Configures the string to be used for line-endings, when writing. - - The pipeline. - The string to be used for line-endings. - The modified pipeline - - - - This class is the Markdown pipeline build from a . - - - - - Initializes a new instance of the class. - - - - - The read-only list of extensions used to build this pipeline. - - - - - Allows to setup a . - - The markdown renderer to setup - - - - This class allows to modify the pipeline to parse and render a Markdown document. - - NOTE: A pipeline is not thread-safe. - - - - Initializes a new instance of the class. - - - - - Gets the block parsers. - - - - - Gets the inline parsers. - - - - - Gets the register extensions. - - - - - Gets or sets the string builder cache used by the parsers. - - - - - Gets or sets a value indicating whether to enable precise source location (slower parsing but accurate position for block and inline elements) - - - - - Gets or sets the debug log. - - - - - Occurs when a document has been processed after the method. - - - - - Builds a pipeline from this instance. Once the pipeline is build, it cannot be modified. - - An extension cannot be null - - - - Delegates called when processing a block - - - - - Base class for a parser of a - - - - - - Determines whether the specified char is an opening character. - - The character. - true if the specified char is an opening character. - - - - Determines whether this instance can interrupt the specified block being processed. - - The parser processor. - The block being processed. - true if this parser can interrupt the specified block being processed. - - - - Tries to match a block opening. - - The parser processor. - The result of the match - - - - Tries to continue matching a block already opened. - - The parser processor. - The block already opened. - The result of the match. By default, don't expect any newline - - - - Called when a block matched by this parser is being closed (to allow final computation on the block). - - The parser processor. - The block being closed. - true to keep the block; false to remove it. True by default. - - - - A List of . - - - - - - Initializes a new instance of the class. - - The parsers. - - - - The block processor. - - - - - Initializes a new instance of the class. - - The string builders cache. - The document to build blocks into. - The list of parsers. - - - - - - Gets the new blocks to push. A is required to push new blocks that it creates to this property. - - - - - Gets the list of configured with this parser state. - - - - - Gets the current active container. - - - - - Gets the last block that is opened. - - - - - Gets the last block that is created. - - - - - Gets the next block in a . - - - - - Gets the root document. - - - - - The current line being processed. - - - - - Gets or sets the current line start position. - - - - - Gets the index of the line in the source text. - - - - - Gets a value indicating whether the line is blank (valid only after has been called). - - - - - Gets the current character being processed. - - - - - Gets or sets the column. - - - - - Gets the position of the current character in the line being processed. - - - - - Gets the current indent position (number of columns between the previous indent and the current position). - - - - - Gets a value indicating whether a code indentation is at the beginning of the line being processed. - - - - - Gets the column position before the indent occured. - - - - - Gets the character position before the indent occured. - - - - - Gets the cache of string builders. - - - - - Gets the current stack of being processed. - - - - - Gets or sets a value indicating whether to continue processing the current line. - - - - - Returns the next character in the line being processed. Update and . - - The next character or `\0` if end of line is reached - - - - Returns the next character in the line taking into space taken by tabs. Update and . - - - - - Peeks a character at the specified offset from the current position in the line. - - The offset. - A character peeked at the specified offset - - - - Restarts the indent from the current position. - - - - - Parses the indentation from the current position in the line, updating , - , and accordingly - taking into account space taken by tabs. - - - - - Moves to the position to the specified column position, taking into account spaces in tabs. - - The new column position to move the cursor to. - - - - Unwind any previous indent from the current character back to the first space. - - - - - Moves to the position to the code indent ( + 4 spaces). - - The column offset to apply to this indent. - - - - Opens the specified block. - - The block. - - The block must be opened - - - - Force closing the specified block. - - The block. - - - - Discards the specified block from the stack, remove from its parent. - - The block. - - - - Processes a new line. - - The new line. - - - - Closes a block at the specified index. - - The index. - - - - Closes all the blocks opened. - - if set to true [force]. - - - - Mark all blocks in the stack as opened. - - - - - Updates the and . - - Index of a block in a stack considered as the last block to update from. - - - - Tries to continue matching existing opened . - - - A pending parser cannot add a new block when it is not the last pending block - or - The NewBlocks is not empty. This is happening if a LeafBlock is not the last to be pushed - - - - - First phase of the process, try to open new blocks. - - - - - Tries to open new blocks using the specified list of - - The parsers. - true to continue processing the current line - - - - Processes any new blocks that have been pushed to . - - The last result of matching. - if set to true the processing of a new block will close existing opened blocks]. - The NewBlocks is not empty. This is happening if a LeafBlock is not the last to be pushed - - - - Defines the result of parsing a line for a . - - - - - A line is not accepted by this parser. - - - - - The parser is skipped. - - - - - The parser accepts a line and instruct to continue. - - - - - The parser accepts a line, instruct to continue but discard the line (not stored on the block) - - - - - The parser is ending a block, instruct to stop and keep the line being processed. - - - - - The parser is ending a block, instruct to stop and discard the line being processed. - - - - - Extensions used by . - - - - - Determines whether this is discarded. - - State of the block. - true if the block state is in discard state - - - - Determines whether this is in a continue state. - - State of the block. - true if the block state is in continue state - - - - Determines whether this is in a break state. - - State of the block. - true if the block state is in break state - - - - Delegate used to parse the string on the first line after the fenced code block special characters (usually ` or ~) - - The parser processor. - The being processed line. - The fenced code block. - true if parsing of the line is successfull; false otherwise - - - - Gets or sets the information parser. - - - - - A delegates that allows to process attached attributes - - - - - Base parser for fenced blocks (opened by 3 or more character delimiters on a first line, and closed by at least the same number of delimiters) - - - - - - Initializes a new instance of the class. - - - - - Gets or sets the language prefix (default is "language-") - - - - - The default parser for the information after the fenced code block special characters (usually ` or ~) - - The parser processor. - The line. - The fenced code block. - true if parsing of the line is successfull; false otherwise - - - - Parser for a . - - - - - - Initializes a new instance of the class. - - - - - Block parser for a . - - - - - - Initializes a new instance of the class. - - - - - A delegates that allows to process attached attributes after # - - - - - Block parser for a . - - - - - - Initializes a new instance of the class. - - - - - A delegates that allows to porcess attached attributes at time. - - The processor. - The slice to look for attached attributes. - The block. - true if attributes were found; otherwise false - - - - An interface used to tag that supports parsing - - - - - A delegates that allows to process attached attributes - - - - - Base interface for a . - - - - - - - Determines whether this instance can interrupt the specified block being processed. - - The parser processor. - The block being processed. - true if this parser can interrupt the specified block being processed. - - - - Tries to match a block opening. - - The parser processor. - The result of the match - - - - Tries to continue matching a block already opened. - - The parser processor. - The block already opened. - The result of the match. By default, don't expect any newline - - - - Called when a block matched by this parser is being closed (to allow final computation on the block). - - The parser processor. - The block being closed. - true to keep the block; false to remove it. True by default. - - - - Base interface for parsing an . - - - - - - - Tries to match the specified slice. - - The parser processor. - The text slice. - true if this parser found a match; false otherwise - - - - Base interface for a block or inline parser. - - The type of processor. - - - - Gets the opening characters this parser will be triggered if the character is found. - - - - - Initializes this parser with the specified parser processor. - - - - - Gets the index of this parser in or . - - - - - Block parser for an indented . - - - - - - Base class for parsing an . - - - - - - Tries to match the specified slice. - - The parser processor. - The text slice. - true if this parser found a match; false otherwise - - - - A list of . - - - - - - Gets the registered post inline processors. - - - - - A delegate called at inline processing stage. - - The processor. - The inline being processed. - - - - The inline parser state used by all . - - - - - Initializes a new instance of the class. - - The string builders. - The document. - The parsers. - The inline created event. - - - - - - Gets the current block being proessed. - - - - - Gets a value indicating whether to provide precise source location. - - - - - Gets or sets the new block to replace the block being processed. - - - - - Gets or sets the current inline. Used by to return a new inline if match was successfull - - - - - Gets the root container of the current . - - - - - Gets the list of inline parsers. - - - - - Gets the root document. - - - - - Gets the cache string builders. - - - - - Gets or sets the index of the line from the begining of the document being processed. - - - - - Gets the parser states that can be used by using their property. - - - - - Gets or sets the debug log writer. No log if null. - - - - - Gets the literal inline parser. - - - - - Gets the source position for the specified offset within the current slice. - - The slice offset. - The source position - - - - Processes the inline of the specified . - - The leaf block. - - - - An inline parser for parsing . - - - - - - Initializes a new instance of the class. - - - - - Gets or sets a value indicating whether to enable HTML parsing. Default is true - - - - - An inline parser for a . - - - - - - Initializes a new instance of the class. - - - - - Descriptor for an emphasis. - - - - - Initializes a new instance of the class. - - The character used for this emphasis. - The minimum number of character. - The maximum number of characters. - if set to true the emphasis can be used inside a word. - - - - The character of this emphasis. - - - - - The minimum number of character this emphasis is expected to have (must be >=1) - - - - - The maximum number of character this emphasis is expected to have (must be >=1 and >= minumunCount and <= 2) - - - - - This emphasis can be used within a word. - - - - - An inline parser for . - - - - - - - Initializes a new instance of the class. - - - - - Gets the emphasis descriptors. - - - - - Determines whether this parser is using the specified character as an emphasis delimiter. - - The character to look for. - true if this parser is using the specified character as an emphasis delimiter; otherwise false - - - - Gets or sets the create emphasis inline delegate (allowing to create a different emphasis inline class) - - - - - An inline parser for escape characters. - - - - - - An inline parser for HTML entities. - - - - - - Initializes a new instance of the class. - - - - - An inline parser for . - - - - - - Initializes a new instance of the class. - - - - - Gets or sets a value indicating whether to interpret softline breaks as hardline breaks. Default is false - - - - - An inline parser for . - - - - - - Initializes a new instance of the class. - - - - - An inline parser for parsing . - - - - - - We don't expect the LiteralInlineParser to be instantiated a end-user, as it is part - of the default parser pipeline (and should always be the last), working as a literal character - collector. - - - - - Gets or sets the post match delegate called after the inline has been processed. - - - - - A procesor called at the end of processing all inlines. - - - - - Processes the delimiters. - - The parser state. - The root inline. - The last child. - Index of this delimiter processor. - - true to continue to the next delimiter processor; - false to stop the process (in case a processor is perfoming sub-sequent processor itself) - - - - A parser for a list block and list item block. - - - - - - Initializes a new instance of the class. - - - - - Gets the parsers for items. - - - - - Defines list information returned when trying to parse a list item with - - - - - Initializes a new instance of the struct. - - Type of the bullet (e.g: '1', 'a', 'A', 'i', 'I'). - - - - Initializes a new instance of the struct. - - Type of the bullet (e.g: '1', 'a', 'A', 'i', 'I') - The string used as a starting sequence for an ordered list. - The ordered delimiter found when parsing this list (e.g: the character `)` after `1)`) - The default string used as a starting sequence for the ordered list (e.g: '1' for an numbered ordered list) - - - - Gets or sets the type of the bullet (e.g: '1', 'a', 'A', 'i', 'I'). - - - - - Gets or sets the string used as a starting sequence for an ordered list - - - - - Gets or sets the ordered delimiter found when parsing this list (e.g: the character `)` after `1)`) - - - - - Gets or sets default string used as a starting sequence for the ordered list (e.g: '1' for an numbered ordered list) - - - - - A parser base class for a list item. - - - - - Defines the characters that are used for detecting this list item. - - - - - Tries to parse the current input as a list item for this particular instance. - - The block processor - The type of the current bullet type - The result of parsing - true if parsing was sucessfull; false otherwise - - - - Delegates called when processing a document - - The markdown document. - - - - The Markdown parser. - - - - - Initializes a new instance of the class. - - The reader. - The pipeline. - - - - - - Parses the specified markdown into an AST - - A Markdown text - The pipeline used for the parsing. - An AST Markdown document - if reader variable is null - - - - Parses the current into a Markdown . - - A document instance - - - - Fixups the zero character by replacing it to a secure character (Section 2.3 Insecure characters, CommonMark specs) - - The text to secure. - - - - The default parser for parsing numbered list item (e.g: 1) or 1.) - - - - - - Initializes a new instance of the class. - - - - - Base class for an ordered list item parser. - - - - - - Initializes a new instance of the class. - - - - - Gets or sets the ordered delimiters used after a digit/number (by default `.` and `)`) - - - - - Utility method that tries to parse the delimiter coming after an ordered list start (e.g: the `)` after `1)`). - - The state. - The ordered delimiter found if this method is successful. - true if parsing was successful; false otherwise. - - - - Block parser for a . - - - - - - Base class for a or . - - Type of the parser processor - - - - - Gets the opening characters this parser will be triggered if the character is found. - - - - - Initializes this parser with the specified parser processor. - - - - - Gets the index of this parser in or . - - - - - Base class for a list of parsers. - - Type of the parser - The type of the parser state. - - - - - Gets the list of global parsers (that don't have any opening characters defined) - - - - - Gets all the opening characters defined. - - - - - Gets the list of parsers valid for the specified opening character. - - The opening character. - A list of parsers valid for the specified opening character or null if no parsers registered. - - - - Searches for an opening character from a registered parser in the specified string. - - The text. - The start. - The end. - Index position within the string of the first opening character found in the specified text; if not found, returns -1 - - - - Initializes this instance with specified parser state. - - - Unexpected null parser found - or - - - - - A block parser for a . - - - - - - Initializes a new instance of the class. - - - - - A block parser for a . - - - - - - A singleton instance used by other parsers. - - - - - Initializes a new instance of the class. - - - - - The default parser used to parse unordered list item (-, +, *) - - - - - - Initializes a new instance of the class. - - - - - Default HTML renderer for a Markdown object. - - - - - - Initializes a new instance of the class. - - The writer. - - - - Gets or sets a value indicating whether to output HTML tags when rendering. See remarks. - - - This is used by some renderers to disable HTML tags when rendering some inline elements (for image links). - - - - - Gets or sets a value indicating whether to output HTML tags when rendering. See remarks. - - - This is used by some renderers to disable HTML tags when rendering some block elements (for image links). - - - - - Gets or sets a value indicating whether to use implicit paragraph (optional <p>) - - - - - Gets a value to use as the base url for all relative links - - - - - Allows links to be rewritten - - - - - Writes the content escaped for HTML. - - The content. - This instance - - - - Writes the content escaped for HTML. - - The slice. - Only escape < and & - This instance - - - - Writes the content escaped for HTML. - - The slice. - Only escape < and & - This instance - - - - Writes the content escaped for HTML. - - The content. - The offset. - The length. - Only escape < and & - This instance - - - - Writes the URL escaped for HTML. - - The content. - This instance - - - - Writes the attached on the specified . - - The object. - - - - - Writes the specified . - - The attributes to render. - A class filter used to transform a class into another class at writing time - This instance - - - - Writes the lines of a - - The leaf block. - if set to true write end of lines. - if set to true escape the content for HTML - Only escape < and & - This instance - - - - An HTML renderer for a and . - - - - - - Initializes a new instance of the class. - - - - - Gets a map of fenced code block infos that should be rendered as div blocks instead of pre/code blocks. - - - - - An HTML renderer for a . - - - - - - Attached HTML attributes to a . - - - - - Initializes a new instance of the class. - - - - - Gets or sets the HTML id/identifier. May be null. - - - - - Gets or sets the CSS classes attached. May be null. - - - - - Gets or sets the additional properties. May be null. - - - - - Adds a CSS class. - - The css class name. - - - - Adds a property. - - The name. - The value. - - - - Adds the specified property only if it does not already exist. - - The name. - The value. - - - - Copies/merge the values from this instance to the specified instance. - - The HTML attributes. - If set to true it will merge properties to the target htmlAttributes. Default is false - If set to true it will try to share Classes and Properties if destination don't have them, otherwise it will make a copy. Default is true - - - - - Extensions for a to allow accessing - - - - - Tries the get stored on a . - - The markdown object. - The attached html attributes or null if not found - - - - Gets or creates the stored on a - - The markdown object. - The attached html attributes - - - - Sets to the - - The markdown object. - The attributes to attach. - - - - A HTML renderer for a . - - - - - - A base class for HTML rendering and Markdown objects. - - The type of the object. - - - - - A HTML renderer for an . - - - - - - Gets or sets a value indicating whether to always add rel="nofollow" for links or not. - - - - - A HTML renderer for a . - - - - - - A HTML renderer for a . - - - - - - A HTML renderer for an . - - - - - - Delegates to get the tag associated to an object. - - The object. - The HTML tag associated to this object - - - - Initializes a new instance of the class. - - - - - Gets or sets the GetTag delegate. - - - - - Gets the default HTML tag for ** and __ emphasis. - - The object. - - - - - A HTML renderer for a . - - - - - - A HTML renderer for a . - - - - - - A HTML renderer for a . - - - - - - Gets or sets a value indicating whether to render this softline break as a HTML hardline break tag (<br />) - - - - - A HTML renderer for a . - - - - - - Gets or sets a value indicating whether to always add rel="nofollow" for links or not. - - - - - A HTML renderer for a . - - - - - - A HTML renderer for a . - - - - - - A HTML renderer for a . - - - - - - A HTML renderer for a . - - - - - - A HTML renderer for a . - - - - - - Base interface for the renderer of a . - - - - - Accepts the specified . - - The renderer. - The Markdown object. - true If this renderer is accepting to render the specified Markdown object - - - - Writes the specified to the . - - The renderer. - The object to render. - - - - Base interface for a renderer for a Markdown . - - - - - Occurs when before writing an object. - - - - - Occurs when after writing an object. - - - - - Gets the object renderers that will render and elements. - - - - - Renders the specified markdown object. - - The markdown object. - The result of the rendering. - - - - A base class for rendering and Markdown objects. - - The type of the renderer. - The type of the object. - - - - - Gets the optional writers attached to this instance. - - - - - Writes the specified Markdown object to the renderer. - - The renderer. - The markdown object. - - - - An Normalize renderer for a and . - - - - - - An Normalize renderer for a . - - - - - - A Normalize renderer for an . - - - - - - A Normalize renderer for a . - - - - - - A Normalize renderer for a . - - - - - - A Normalize renderer for an . - - - - - - A Normalize renderer for a . - - - - - - Gets or sets a value indicating whether to render this softline break as a Normalize hardline break tag (<br />) - - - - - A Normalize renderer for a . - - - - - - A Normalize renderer for a . - - - - - - A Normalize renderer for a . - - - - - A Normalize renderer for a . - - - - - A Normalize renderer for a . - - - - - - A base class for Normalize rendering and Markdown objects. - - The type of the object. - - - - - Defines the options used by - - - - - Initialize a new instance of - - - - - Adds a space after a QuoteBlock >. Default is true - - - - - Adds an empty line after a code block (fenced and tabbed). Default is true - - - - - Adds an empty line after an heading. Default is true - - - - - Adds an empty line after an thematic break. Default is true - - - - - The bullet character used for list items. Default is null leaving the original bullet character as-is. - - - - - Expands AutoLinks to the normal inline representation. Default is true - - - - - Default HTML renderer for a Markdown object. - - - - - - Initializes a new instance of the class. - - The writer. - The normalize options - - - - Writes the lines of a - - The leaf block. - if set to true write end of lines. - This instance - - - - A Normalize renderer for a . - - - - - - A Normalize renderer for a . - - - - - - A Normalize renderer for a . - - - - - - A collection of . - - - - - - Base class for a . - - - - - - Initializes a new instance of the class. - - - - - Occurs when before writing an object. - - - - - Occurs when after writing an object. - - - - - Writes the children of the specified . - - The container block. - - - - Writes the children of the specified . - - The container inline. - - - - Writes the specified Markdown object. - - A MarkdownObject type - The Markdown object to write to this renderer. - - - - A text based . - - - - - - Initializes a new instance of the class. - - The writer. - - - - - Gets or sets the writer. - - if the value is null - - - - Renders the specified markdown object (returns the as a render object). - - The markdown object. - - - - - Typed . - - Type of the renderer - - - - - Initializes a new instance of the class. - - The writer. - - - - Ensures a newline. - - This instance - - - - Writes the specified content. - - The content. - This instance - - - - Writes the specified slice. - - The slice. - This instance - - - - Writes the specified slice. - - The slice. - This instance - - - - Writes the specified character. - - The content. - This instance - - - - Writes the specified content. - - The content. - The offset. - The length. - This instance - - - - Writes a newline. - - This instance - - - - Writes a content followed by a newline. - - The content. - This instance - - - - Writes the inlines of a leaf inline. - - The leaf block. - This instance - - - - A blank line, used internally by some parsers to store blank lines in a container. They are removed before the end of the document. - - - - - - Initializes a new instance of the class. - - - - - Base class for a block structure. Either a or a . - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Gets the parent of this container. May be null. - - - - - Gets the parser associated to this instance. - - - - - Gets or sets a value indicating whether this instance is still open. - - - - - Gets or sets a value indicating whether this block is breakable. Default is true. - - - - - Gets or sets a value indicating whether this block must be removed from its container after inlines have been processed. - - - - - Occurs when the process of inlines begin. - - - - - Occurs when the process of inlines ends for this instance. - - - - - Called when the process of inlines begin. - - The inline parser state. - - - - Called when the process of inlines ends. - - The inline parser state. - - - - Extensions for - - - - - Helpers for the class. - - - - - Repressents an indented code block. - - - Related to CommonMark spec: 4.4 Indented code blocks - - - - - Initializes a new instance of the class. - - The parser. - - - - A base class for container blocks. - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Gets the last child. - - - - - Specialize enumerator. - - - - - - Repressents a fenced code block. - - - Related to CommonMark spec: 4.5 Fenced code blocks - - - - - Initializes a new instance of the class. - - The parser. - - - - Gets or sets the language parsed after the first line of - the fenced code block. May be null. - - - - - Gets or sets the arguments after the . - May be null. - - - - - Gets or sets the fenced character count used to open this fenced code block. - - - - - Gets or sets the fenced character used to open and close this fenced code block. - - - - - Gets or sets the indent count when the fenced code block was indented - and we need to remove up to indent count chars spaces from the begining of a line. - - - - - Repressents a heading. - - - - - Initializes a new instance of the class. - - The parser. - - - - Gets or sets the header character used to defines this heading (usually #) - - - - - Gets or sets the level of heading (starting at 1 for the lowest level). - - - - - Represents a group of lines that is treated as raw HTML (and will not be escaped in HTML output). - - - - - - Initializes a new instance of the class. - - The parser. - - - - Gets or sets the type of block. - - - - - Defines the type of - - - - - A SGML document type starting by <!LETTER. - - - - - A raw CDATA sequence. - - - - - A HTML comment. - - - - - A SGM processing instruction tag <? - - - - - A script pre or style tag. - - - - - An HTML interrupting block - - - - - An HTML non-interrupting block - - - - - Base interface for a block structure. Either a or a . - - - - - - Gets or sets the text column this instance was declared (zero-based). - - - - - Gets or sets the text line this instance was declared (zero-based). - - - - - Gets the parent of this container. May be null. - - - - - Gets the parser associated to this instance. - - - - - Gets or sets a value indicating whether this instance is still open. - - - - - Gets or sets a value indicating whether this block is breakable. Default is true. - - - - - Gets or sets a value indicating whether this block must be removed from its container after inlines have been processed. - - - - - Occurs when the process of inlines begin. - - - - - Occurs when the process of inlines ends for this instance. - - - - - A common interface for fenced block (e.g: or ) - - - - - Gets or sets the language parsed after the first line of - the fenced code block. May be null. - - - - - Gets or sets the arguments after the . - May be null. - - - - - Gets or sets the fenced character count used to open this fenced code block. - - - - - Gets or sets the fenced character used to open and close this fenced code block. - - - - - Base interface for a the Markdown syntax tree - - - - - Stores a key/value pair for this instance. - - The key. - The value. - if key is null - - - - Determines whether this instance contains the specified key data. - - The key. - true if a data with the key is stored - if key is null - - - - Gets the associated data for the specified key. - - The key. - The associated data or null if none - if key is null - - - - Removes the associated data for the specified key. - - The key. - true if the data was removed; false otherwise - - - - - An autolink (Section 6.7 CommonMark specs) - - - - - - Gets or sets a value indicating whether this instance is an email link. - - - - - Gets or sets the URL of this link. - - - - - Represents a code span (Section 6.3 CommonMark specs) - - - - - - Gets or sets the delimiter character used by this code inline. - - - - - Gets or sets the content of the span. - - - - - A base class for container for . - - - - - - Gets the first child. - - - - - Gets the last child. - - - - - Clears this instance by removing all its children. - - - - - Appends a child to this container. - - The child to append to this container.. - This instance - If child is null - Inline has already a parent - - - - Checks if this instance contains the specified child. - - The child to find. - true if this instance contains the specified child; false otherwise - - - - Finds all the descendants. - - Type of the descendants to find - An enumeration of T - - - - Moves all the children of this container after the specified inline. - - The parent. - - - - Embraces this instance by the specified container. - - The container to use to embrace this instance. - If the container is null - - - - Internal delimiter used by some parsers (e.g emphasis, tables). - - - - - - Gets the parser. - - - - - Gets or sets the type of this delimiter. - - - - - Gets or sets a value indicating whether this instance is active. - - - - - Converts this delimiter to a literal. - - The string representation of this delimiter - - - - Gets the type of a . - - - - - An undefined open or close delimiter. - - - - - An open delimiter. - - - - - A close delimiter. - - - - - A delimiter used for parsing emphasis. - - - - - - Initializes a new instance of the class. - - The parser. - The descriptor. - - - - - Gets the descriptor for this emphasis. - - - - - The delimiter character found. - - - - - The number of delimiter characters found for this delimiter. - - - - - An emphasis and strong emphasis (Section 6.4 CommonMark specs). - - - - - - Gets or sets the delimiter character of this emphasis. - - - - - Gets or sets a value indicating whether this is strong. - - - - - An entity HTML. - - - - - - Gets or sets the original HTML entity name - - - - - Gets or sets the transcoded literal that will be used for output - - - - - A Raw HTML (Section 6.8 CommonMark specs). - - - - - - Gets or sets the full declaration of this tag. - - - - - Base interface for all syntax tree inlines. - - - - - - Gets the parent container of this inline. - - - - - Gets the previous inline. - - - - - Gets the next sibling inline. - - - - - Gets or sets a value indicating whether this instance is closed. - - - - - Base class for all syntax tree inlines. - - - - - - Gets the parent container of this inline. - - - - - Gets the previous inline. - - - - - Gets the next sibling inline. - - - - - Gets or sets a value indicating whether this instance is closed. - - - - - Inserts the specified inline after this instance. - - The inline to insert after this instance. - - Inline has already a parent - - - - Inserts the specified inline before this instance. - - The inlnie previous to insert before this instance. - - Inline has already a parent - - - - Removes this instance from the current list and its parent - - - - - Replaces this inline by the specified inline. - - The inline. - if set to true the children of this instance are copied to the specified inline. - The last children - If inlnie is null - - - - Determines whether this instance contains a parent of the specified type. - - Type of the parent to check - true if this instance contains a parent of the specified type; false otherwise - - - - Iterates on parents of the specified type. - - Type of the parent to iterate over - An enumeration on the parents of the specified type - - - - Dumps this instance to . - - The writer. - - - - - Dumps this instance to . - - The writer. - The level of indent. - if writer is null - - - - A base class for a leaf inline. - - - - - - A base class for a line break. - - - - - - A delimiter for a link. - - - - - - Gets or sets a value indicating whether this delimiter is an image link. - - - - - Gets or sets the label of this link. - - - - - The label span - - - - - A Link inline (Section 6.5 CommonMark specs) - - - - - - A delegate to use if it is setup on this instance to allow late binding - of a Url. - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The URL. - The title. - - - - Gets or sets the URL. - - - - - Gets or sets the GetDynamicUrl delegate. If this property is set, - it is used instead of to get the Url from this instance. - - - - - Gets or sets the title. - - - - - Gets or sets the label. - - - - - Gets or sets a value indicating whether this instance is an image link. - - - - - Gets or sets a boolean indicating if this link is a shortcut link to a - - - - - Gets or sets a boolean indicating whether the inline link was parsed using markdown syntax or was automatic recognized. - - - - - Gets or sets the reference this link is attached to. May be null. - - - - - The URL source span. - - - - - The title source span. - - - - - The label span - - - - - A literal inline. - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The content. - - - - Initializes a new instance of the class. - - The text. - - - - - The content as a . - - - - - A boolean indicating whether the first character of this literal is escaped by `\`. - - - - - Base class for all leaf blocks. - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Gets or sets the string lines accumulated for this leaf block. - May be null after process inlines have occured. - - - - - Gets or sets the inline syntax tree (may be null). - - - - - Gets or sets a value indicating whether must be processed - as inline into the property. - - - - - Appends the specified line to this instance. - - The slice. - The column. - The line. - - - - - A link reference definition (Section 4.7 CommonMark specs) - - - - - - Creates an inline link for the specified . - - State of the inline. - The link reference. - The child. - An inline link or null to use the default implementation - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The label. - The URL. - The title. - - - - Gets or sets the label. - - - - - Gets or sets the URL. - - - - - Gets or sets the title. - - - - - The label span - - - - - The URL span - - - - - The title span - - - - - Gets or sets the create link inline callback for this instance. - - - This callback is called when an inline link is matching this reference definition. - - - - - Tries to the parse the specified text into a definition. - - Type of the text - The text. - The block. - true if parsing is successful; false otherwise - - - - Extension methods for accessing attached at the document level. - - - - - Contains all the found in a document. - - - - - - Initializes a new instance of the class. - - - - - Gets an association between a label and the corresponding - - - - - A list (Section 5.3 CommonMark specs) - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Gets or sets a value indicating whether the list is ordered. - - - - - Gets or sets the bullet character used by this list. - - - - - Gets or sets the ordered start number (valid when is true) - - - - - Gets or sets the default ordered start ("1" for BulletType = '1') - - - - - Gets or sets the ordered delimiter character (usually `.` or `)`) found after an ordered list item. - - - - - Gets or sets a value indicating whether this instance is loose. - - - - - A list item (Section 5.2 CommonMark specs) - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - The root Markdown document. - - - - - - Initializes a new instance of the class. - - - - - Base implementation for a the Markdown syntax tree. - - - - - The attached datas. Use internally a simple array instead of a Dictionary{Object,Object} - as we expect less than 5~10 entries, usually typically 1 (HtmlAttributes) - so it will gives faster access than a Dictionary, and lower memory occupation - - - - - Gets or sets the text column this instance was declared (zero-based). - - - - - Gets or sets the text line this instance was declared (zero-based). - - - - - The source span - - - - - Gets a string of the location in the text. - - - - - - Stores a key/value pair for this instance. - - The key. - The value. - if key is null - - - - Determines whether this instance contains the specified key data. - - The key. - true if a data with the key is stored - if key is null - - - - Gets the associated data for the specified key. - - The key. - The associated data or null if none - if key is null - - - - Removes the associated data for the specified key. - - The key. - true if the data was removed; false otherwise - - - - - Store a Key/Value pair. - - - - - Extensions for visiting or - - - - - Iterates over the descendant elements for the specified markdown element, including and . - - The markdown object. - An iteration over the descendant elements - - - - Iterates over the descendant elements for the specified markdown element and filters by the type {T}. - - Type to use for filtering the descendants - The inline markdown object. - - An iteration over the descendant elements - - - - - Iterates over the descendant elements for the specified markdown element and filters by the type {T}. - - Type to use for filtering the descendants - The markdown object. - - An iteration over the descendant elements - - - - - Repressents a paragraph. - - - Related to CommonMark spec: 4.8 Paragraphs - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - A block quote (Section 5.1 CommonMark specs) - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Gets or sets the quote character (usually `>`) - - - - - A span of text. - - - - - Initializes a new instance of the struct. - - The start. - The end. - - - - Gets or sets the starting character position from the original text source. - Note that for inline elements, this is only valid if is setup on the pipeline. - - - - - Gets or sets the ending character position from the original text source. - Note that for inline elements, this is only valid if is setup on the pipeline. - - - - - Gets the character length of this element within the original source code. - - - - - Repressents a thematic break (Section 4.1 CommonMark specs). - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - diff --git a/site/trunk/Bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll b/site/trunk/Bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll deleted file mode 100644 index 3a817a9..0000000 Binary files a/site/trunk/Bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll and /dev/null differ diff --git a/site/trunk/Bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.xml b/site/trunk/Bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.xml deleted file mode 100644 index 37ba9e7..0000000 --- a/site/trunk/Bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - Microsoft.CodeDom.Providers.DotNetCompilerPlatform - - - - - Provides access to instances of the .NET Compiler Platform C# code generator and code compiler. - - - - - Default Constructor - - - - - Gets an instance of the .NET Compiler Platform C# code compiler. - - An instance of the .NET Compiler Platform C# code compiler - - - - Provides access to instances of the .NET Compiler Platform VB code generator and code compiler. - - - - - Default Constructor - - - - - Gets an instance of the .NET Compiler Platform VB code compiler. - - An instance of the .NET Compiler Platform VB code compiler - - - diff --git a/site/trunk/Bin/Microsoft.IO.RecyclableMemoryStream.dll b/site/trunk/Bin/Microsoft.IO.RecyclableMemoryStream.dll deleted file mode 100644 index ea4a1fc..0000000 Binary files a/site/trunk/Bin/Microsoft.IO.RecyclableMemoryStream.dll and /dev/null differ diff --git a/site/trunk/Bin/Microsoft.Web.Infrastructure.dll b/site/trunk/Bin/Microsoft.Web.Infrastructure.dll deleted file mode 100644 index 85f1138..0000000 Binary files a/site/trunk/Bin/Microsoft.Web.Infrastructure.dll and /dev/null differ diff --git a/site/trunk/Bin/Microsoft.Web.Infrastructure.dll.refresh b/site/trunk/Bin/Microsoft.Web.Infrastructure.dll.refresh deleted file mode 100644 index 1f63527..0000000 --- a/site/trunk/Bin/Microsoft.Web.Infrastructure.dll.refresh +++ /dev/null @@ -1 +0,0 @@ -..\..\..\Users\Adam\Documents\Visual Studio 2013\Projects\localhost_8994\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll \ No newline at end of file diff --git a/site/trunk/Bin/MirrorControl.dll b/site/trunk/Bin/MirrorControl.dll deleted file mode 100644 index 8f1df51..0000000 Binary files a/site/trunk/Bin/MirrorControl.dll and /dev/null differ diff --git a/site/trunk/Bin/NPOI.OOXML.dll b/site/trunk/Bin/NPOI.OOXML.dll deleted file mode 100644 index 3e5512d..0000000 Binary files a/site/trunk/Bin/NPOI.OOXML.dll and /dev/null differ diff --git a/site/trunk/Bin/NPOI.OpenXml4Net.dll b/site/trunk/Bin/NPOI.OpenXml4Net.dll deleted file mode 100644 index 6ebca8a..0000000 Binary files a/site/trunk/Bin/NPOI.OpenXml4Net.dll and /dev/null differ diff --git a/site/trunk/Bin/NPOI.OpenXmlFormats.dll b/site/trunk/Bin/NPOI.OpenXmlFormats.dll deleted file mode 100644 index ea3db09..0000000 Binary files a/site/trunk/Bin/NPOI.OpenXmlFormats.dll and /dev/null differ diff --git a/site/trunk/Bin/NPOI.dll b/site/trunk/Bin/NPOI.dll deleted file mode 100644 index a18a4c9..0000000 Binary files a/site/trunk/Bin/NPOI.dll and /dev/null differ diff --git a/site/trunk/Bin/NPOI.xml b/site/trunk/Bin/NPOI.xml deleted file mode 100644 index 9ab337e..0000000 --- a/site/trunk/Bin/NPOI.xml +++ /dev/null @@ -1,43571 +0,0 @@ - - - - NPOI - - - - Common abstract class for {@link EscherOptRecord} and - {@link EscherTertiaryOptRecord} - - @author Sergey Vladimirov (vlsergey {at} gmail {dot} com) - @author Glen Stampoultzis - - - - The base abstract record from which all escher records are defined. Subclasses will need - to define methods for serialization/deserialization and for determining the record size. - @author Glen Stampoultzis - - - - - Initializes a new instance of the class. - - - - - Delegates to FillFields(byte[], int, EscherRecordFactory) - - The data. - The f. - - - - - The contract of this method is to deSerialize an escher record including - it's children. - - The byte array containing the Serialized escher - records. - The offset into the byte array. - A factory for creating new escher records. - The number of bytes written. - - - - Reads the 8 byte header information and populates the - options - and - recordId - records. - - the byte array to Read from - the offset to start Reading from - the number of bytes remaining in this record. This - - - - Read the options field from header and return instance part of it. - - the byte array to read from - the offset to start reading from - value of instance part of options field - - - - Serializes to a new byte array. This is done by delegating to - Serialize(int, byte[]); - - the Serialized record. - - - - Serializes to an existing byte array without serialization listener. - This is done by delegating to Serialize(int, byte[], EscherSerializationListener). - - the offset within the data byte array. - the data array to Serialize to. - The number of bytes written. - - - - Serializes the record to an existing byte array. - - the offset within the byte array. - the offset within the byte array - a listener for begin and end serialization events. This. - is useful because the serialization is - hierarchical/recursive and sometimes you need to be able - break into that. - - - - - - Creates a new object that is a copy of the current instance. - - - A new object that is a copy of this instance. - - - - - Returns the indexed child record. - - The index. - - - - - The display methods allows escher variables to print the record names - according to their hierarchy. - - The current indent level. - - - @param tab - each children must be a right of his parent - @return xml representation of this record - - - - Determine whether this is a container record by inspecting the option - field. - - - true if this instance is container record; otherwise, false. - - - - - Gets or sets the options field for this record. All records have one - - The options. - - - - Subclasses should effeciently return the number of bytes required to - Serialize the record. - - number of bytes - - - - Return the current record id. - - The 16 bit record id. - - - - Gets or sets the child records. - - Returns the children of this record. By default this will - be an empty list. EscherCotainerRecord is the only record that may contain children. - - - - Gets the name of the record. - - The name of the record. - - - - Get or set the instance part of the option record. - - - - - Get or set the version part of the option record. - - - - - This class Reads the standard escher header. - - - - - Reads the header. - - The data. - The off set. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Gets the options. - - The options. - - - - Gets the record id. - - The record id. - - - - Gets the remaining bytes. - - The remaining bytes. - - - Add a property to this record. - - - The list of properties stored by this record. - - - Records should be sorted by property number before being stored. - - - * Set an escher property. If a property with given propId already - exists it is replaced. - * - * @param value the property to set. - - - Retrieve the string representation of this record. - - - The list of properties stored by this record. - - - The following enum specifies values that indicate special procedural properties that - are used to modify the color components of another color. These values are combined with - those of the {@link SysIndexSource} enum or with a user-specified color. - The first six values are mutually exclusive. - - - An OfficeArtCOLORREF structure entry which also handles color extension opid data - - - @return {@link SysIndexSource} if {@link #hasSysIndexFlag()} is {@code true}, otherwise null - - - Return the {@link SysIndexProcedure} - for invert flag use {@link #getSysIndexInvert()} - @return {@link SysIndexProcedure} if {@link #hasSysIndexFlag()} is {@code true}, otherwise null - - - @return 0 for no invert flag, 1 for {@link SysIndexProcedure#INVERT_AFTER} and - 2 for {@link SysIndexProcedure#INVERT_HIGHBIT_AFTER} - - - @return index of the scheme color or -1 if {@link #hasSchemeIndexFlag()} is {@code false} - - @see NPOI.HSLF.Record.ColorSchemeAtom#getColor(int) - - - @return index of current palette (color) or -1 if {@link #hasPaletteIndexFlag()} is {@code false} - - - "The OfficeArtTertiaryFOPT record specifies a table of OfficeArtRGFOPTE properties, as defined in section 2.3.1." - -- [MS-ODRAW] -- v20110608; Office Drawing Binary File Format - - @author Sergey Vladimirov (vlsergey {at} gmail {dot} com) - - - A version of {@link POIDocument} which allows access to the - HPSF Properties, but no other document contents. - Normally used when you want to read or alter the Document Properties, - without affecting the rest of the file - - - - This holds the common functionality for all POI - Document classes. - Currently, this relates to Document Information Properties - - @author Nick Burch - - - Holds metadata on our document - - - Holds further metadata on our document - - - The directory that our document lives in - - - For our own logging use - - - - Initializes a new instance of the class. - - The dir. - The fs. - - - - Initializes a new instance of the class. - - The fs. - - - Will create whichever of SummaryInformation - and DocumentSummaryInformation (HPSF) properties - are not already part of your document. - This is normally useful when creating a new - document from scratch. - If the information properties are already there, - then nothing will happen. - - - - Find, and Create objects for, the standard - Documment Information Properties (HPSF). - If a given property Set is missing or corrupt, - it will remain null; - - - - - For a given named property entry, either return it or null if - if it wasn't found - - Name of the set. - - - - - Writes out the standard Documment Information Properties (HPSF) - - the POIFSFileSystem to Write the properties into - - - - Writes out the standard Documment Information Properties (HPSF) - - the POIFSFileSystem to Write the properties into. - a list of POIFS entries to Add the property names too. - - - - Writes out a given ProperySet - - the (POIFS Level) name of the property to Write. - the PropertySet to Write out. - the POIFSFileSystem to Write the property into. - - - - Writes the document out to the specified output stream - - The out1. - - - - Copies nodes from one POIFS to the other minus the excepts - - the source POIFS to copy from. - the target POIFS to copy to - a list of Strings specifying what nodes NOT to copy - - - - Copies nodes from one POIFS to the other minus the excepts - - the source POIFS to copy from. - the target POIFS to copy to - a list of Strings specifying what nodes NOT to copy - - - - Checks to see if the String is in the list, used when copying - nodes between one POIFS and another - - The entry. - The list. - - true if [is in list] [the specified entry]; otherwise, false. - - - - - Copies an Entry into a target POIFS directory, recursively - - The entry. - The target. - - - - Fetch the Document Summary Information of the document - - The document summary information. - - - - Fetch the Summary Information of the document - - The summary information. - - - Write out, with any properties changes, but nothing else - - - Checks to see if the specified length seems valid, - given the amount of data available still to read, - and the requirement that the string be NULL-terminated - - - The Character Encoding is not supported. - - @author Asmus Freytag - @since JDK1.1 - - - Constructs an UnsupportedEncodingException without a detail message. - - - Constructs an UnsupportedEncodingException with a detail message. - @param s Describes the reason for the exception. - - - A text extractor for old Excel files, which are too old for - HSSFWorkbook to handle. This includes Excel 95, and very old - (pre-OLE2) Excel files, such as Excel 4 files. -

- Returns much (but not all) of the textual content of the file, - suitable for indexing by something like Apache Lucene, or used - by Apache Tika, but not really intended for display to the user. -

-
- - The Biff version, largely corresponding to the Excel version - - - The kind of the file, one of {@link BOFRecord#TYPE_WORKSHEET}, - {@link BOFRecord#TYPE_CHART}, {@link BOFRecord#TYPE_EXCEL_4_MACRO} - or {@link BOFRecord#TYPE_WORKSPACE_FILE} - - - Retrieves the text contents of the file, as best we can - for these old file formats - - - - ATTACHEDLABEL = Text Begin Pos [FontX] [AlRuns] AI [FRAME] [ObjectLink] [DataLabExtContents] [CrtLayout12] [TEXTPROPS] [CRTMLFRT] End - AI = BRAI [SeriesText] - - - - RecordAggregates are groups of of BIFF Records that are typically stored - together and/or updated together. Workbook / Sheet records are typically stored in a sequential - list, which does not provide much structure to coordinate updates. - - @author Josh Micich - - - Common base class of {@link Record} and {@link RecordAggregate} - - @author Josh Micich - - - called by the class that is responsible for writing this sucker. - Subclasses should implement this so that their data is passed back in a - byte array. - - @param offset to begin writing at - @param data byte array containing instance data - @return number of bytes written - - - gives the current serialized size of the record. Should include the sid - and reclength (4 bytes). - - - Visit each of the atomic BIFF records contained in this {@link RecordAggregate} in the order - that they should be written to file. Implementors may or may not return the actual - {@link Record}s being used to manage POI's internal implementation. Callers should not - assume either way, and therefore only attempt to modify those {@link Record}s after cloning - - - Implementors may call non-mutating methods on Record r. - @param r must not be null - - - - AXES = [IVAXIS DVAXIS [SERIESAXIS] / DVAXIS DVAXIS] *3ATTACHEDLABEL [PlotArea FRAME] - - - - - AXISPARENT = AxisParent Begin Pos [AXES] 1*4CRT End - - - - - AXM = YMult StartObject ATTACHEDLABEL EndObject - - - - - AXS = [IFmtRecord] [Tick] [FontX] *4(AxisLine LineFormat) [AreaFormat] - [GELFRAME] *4SHAPEPROPS [TextPropsStream *ContinueFrt12] - - - - - CHARTFOMATS = Chart Begin *2FONTLIST Scl PlotGrowth [FRAME] *SERIESFORMAT *SS ShtProps - *2DFTTEXT AxesUsed 1*2AXISPARENT [CrtLayout12A] [DAT] *ATTACHEDLABEL [CRTMLFRT] - *([DataLabExt StartObject] ATTACHEDLABEL [EndObject]) [TEXTPROPS] *2CRTMLFRT End - - - - - CHARTSHEET = BOF CHARTSHEETCONTENT - CHARTSHEETCONTENT = [WriteProtect] [SheetExt] [WebPub] *HFPicture PAGESETUP PrintSize - [HeaderFooter] [BACKGROUND] *Fbi *Fbi2 [ClrtClient] [PROTECTION] [Palette] [SXViewLink] - [PivotChartBits] [SBaseRef] [MsoDrawingGroup] OBJECTS Units CHARTFOMATS SERIESDATA - *WINDOW *CUSTOMVIEW [CodeName] [CRTMLFRT] EOF - - - - All the records between BOF and EOF - - - - CRT = ChartFormat Begin (Bar / Line / (BopPop [BopPopCustom]) / Pie / Area / Scatter / Radar / - RadarArea / Surf) CrtLink [SeriesList] [Chart3d] [LD] [2DROPBAR] *4(CrtLine LineFormat) - *2DFTTEXT [DataLabExtContents] [SS] *4SHAPEPROPS End - - - - - CRTMLFRT = CrtMlFrt *CrtMlFrtContinue - - - - - DAT = Dat Begin LD End - - - - - DFTTEXT = [DataLabExt StartObject] DefaultText ATTACHEDLABEL [EndObject] - - - - - DROPBAR = DropBar Begin LineFormat AreaFormat [GELFRAME] [SHAPEPROPS] End - - - - - DVAXIS = Axis Begin [ValueRange] [AXM] AXS [CRTMLFRT] End - - - - - FONTLIST = FrtFontList StartObject *(Font [Fbi]) EndObject - - - - - FRAME = Frame Begin LineFormat AreaFormat [GELFRAME] [SHAPEPROPS] End - - - - - GELFRAME = 1*2GelFrame *Continue [PICF] - PICF = Begin PicF End - - - - - IVAXIS = Axis Begin [CatSerRange] AxcExt [CatLab] AXS [CRTMLFRT] End - - - - - LD = Legend Begin Pos ATTACHEDLABEL [FRAME] [CrtLayout12] [TEXTPROPS] [CRTMLFRT] End - - - - - SERIESAXIS = Axis Begin [CatSerRange] AXS [CRTMLFRT] End - - - - - SERIESDATA = Dimensions 3(SIIndex *(Number / BoolErr / Blank / Label)) - - - - - SERIESFORMAT = Series Begin 4AI *SS (SerToCrt / (SerParent (SerAuxTrend / SerAuxErrBar))) - *(LegendException [Begin ATTACHEDLABEL [TEXTPROPS] End]) End - - - - - LegendException [Begin ATTACHEDLABEL [TEXTPROPS] End] - - - - - SHAPEPROPS = ShapePropsStream *ContinueFrt12 - - - - - SS = DataFormat Begin [Chart3DBarShape] [LineFormat AreaFormat PieFormat] [SerFmt] - [GELFRAME] [MarkerFormat] [AttachedLabel] *2SHAPEPROPS [CRTMLFRT] End - - - - - TEXTPROPS = (RichTextStream / TextPropsStream) *ContinueFrt12 - - - - - The AlRuns record specifies Rich Text Formatting within chart - titles (section 2.2.3.3), trendline (section 2.2.3.12), and - data labels (section 2.2.3.11). - - - - Subclasses of this class (the majority of BIFF records) are non-continuable. This allows for - some simplification of serialization logic - - @author Josh Micich - - - Title: Record - Description: All HSSF Records inherit from this class. It - populates the fields common to all records (id, size and data). - Subclasses should be sure to validate the id, - Company: - @author Andrew C. Oliver - @author Marc Johnson (mjohnson at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - instantiates a blank record strictly for ID matching - - - called by the class that is responsible for writing this sucker. - Subclasses should implement this so that their data is passed back in a - byte array. - - @return byte array containing instance data - - - return the non static version of the id for this record. - - - - Write the data content of this BIFF record including the sid and record length. - The subclass must write the exact number of bytes as reported by Record#getRecordSize() - - offset - data - - - - Write the data content of this BIFF record. The 'ushort sid' and 'ushort size' header fields - have already been written by the superclass.
- - The number of bytes written must equal the record size reported by - {@link Record#getDataSize()} minus four - ( record header consiting of a 'ushort sid' and 'ushort reclength' has already been written - by thye superclass). -
- - * The series label record defines the type of label associated with the data format record. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a SeriesLabels record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the format flags field for the SeriesLabels record. - - - show actual value of the data point - @return the show actual field value. - - - show value as percentage of total (pie charts only) - @return the show percent field value. - - - show category label/value as percentage (pie charts only) - @return the label as percentage field value. - - - show smooth line - @return the smoothed line field value. - - - Display category label - @return the show label field value. - - - ?? - @return the show bubble sizes field value. - - - - The AxcExt record specifies additional extension properties of a date axis (section 2.2.3.6), - along with a CatSerRange record (section 2.4.39). - - - - - specifies the interval at which the major tick marks are displayed on the axis (section 2.2.3.6), - in the unit defined by duMajor. - - - - - specifies the unit of time to use for catMajor when the axis (section 2.2.3.6) is a date axis (section 2.2.3.6). - If fDateAxis is set to 0, MUST be ignored. - - - - - specifies the interval at which the minor tick marks are displayed on the axis (section 2.2.3.6), - in a unit defined by duMinor. - - - - - specifies the smallest unit of time used by the axis (section 2.2.3.6). - - - - - specifies at which date, as a date in the date system specified by the Date1904 record (section 2.4.77), - in the units defined by duBase, the value axis (section 2.2.3.6) crosses this axis (section 2.2.3.6). - - - - - specifies whether MinimumDate is calculated automatically. - - - - - specifies whether MaximumDate is calculated automatically. - - - - * The number of axes used on a chart. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a AxisUsed record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the num axis field for the AxisUsed record. - - - - The axis (section 2.2.3.6) line itself. - - - - - The major gridlines along the axis - - - - - The minor gridlines along the axis - - - - - The walls or floor of a 3-D chart - - - - - The AxisLine record specifies which part of the axis (section 2.2.3.6) is - specified by the LineFormat record (section 2.4.156) that follows. - - Excel Binary File Format (.xls) Structure Specification - - - - Constructs a AxisLineFormat record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - - - - - - - The BopPopCustom record specifies which data points in the series are contained - in the secondary bar/pie instead of the primary pie. MUST follow a BopPop record - that has its split field set to Custom (0x0003). - - - author: Antony liu (antony.apollo at gmail.com) - - - - - this record only used for record that has name and not implemented. - - - - - The BopPop record specifies that the chart group is a bar of pie chart group or - a pie of pie chart group and specifies the chart group attributes. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - The BRAI record specifies a reference to data in a sheet (1) that is used by a part of a series, - legend entry, trendline or error bars. - - - - - A ChartParsedFormula structure that specifies the formula (section 2.2.2) that specifies the reference. - - - - Constructs a LinkedData record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - - specifies the part of the series, trendline, or error bars the referenced data specifies. - - - - - specifies the number format to use for the data. - - - - - specifies the properties of a category (3) axis, a date axis, or a series axis. - - - - Constructs a CategorySeriesAxis record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - - specifies where the value axis crosses this axis, based on the following table. - If fMaxCross is set to 1, the value this field MUST be ignored. - Category (3) axis This field specifies the category (3) at which the value axis crosses. - For example, if this field is 2, the value axis crosses this axis at the second category (3) - on this axis. MUST be greater than or equal to 1 and less than or equal to 31999. - Series axis MUST be 0. - Date axis catCross MUST be equal to the value given by the following formula: - catCross = catCrossDate – catMin + 1 - Where catCrossDate is the catCrossDate field of the AxcExt record - and catMin is the catMin field of the AxcExt record. - - - - - specifies the interval between axis labels on this axis. MUST be greater than or equal to 1 and - less than or equal to 31999. MUST be ignored for a date axis. - - - - - specifies the interval at which major tick marks and minor tick marks are displayed on the axis. - Major tick marks and minor tick marks that would have been visible are hidden unless they are - located at a multiple of this field. - - - - - specifies whether the value axis crosses this axis between major tick marks. MUST be a value from to following table: - 0 The value axis crosses this axis on a major tick mark. - 1 The value axis crosses this axis between major tick marks. - - - - - specifies whether the value axis crosses this axis at the last category (3), the last series, - or the maximum date. MUST be a value from the following table: - 0 The value axis crosses this axis at the value specified by catCross. - 1 The value axis crosses this axis at the last category (3), the last series, or the maximum date. - - - - - specifies whether the axis is displayed in reverse order. MUST be a value from the following table: - 0 The axis is displayed in order. - 1 The axis is display in reverse order. - - - - - the shape of the base of the data points in a bar or column chart group. - MUST be a value from the following table - 0x00 The base of the data point is a rectangle. - 0x01 The base of the data point is an ellipse. - - - - - how the data points in a bar or column chart group taper from base to tip. - MUST be a value from the following - 0x00 The data points of the bar or column chart group do not taper. - The shape at the maximum value of the data point is the same as the shape at the base.: - 0x01 The data points of the bar or column chart group taper to a point at the maximum value of each data point. - 0x02 The data points of the bar or column chart group taper towards a projected point at the position of - the maximum value of all of the data points in the chart group, but are clipped at the value of each data point. - - - - - The CrtLine record specifies the presence of drop lines, high-low lines, series lines - or leader lines on the chart group. This record is followed by a LineFormat record - which specifies the format of the lines. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - The CrtMlFrtContinue record specifies additional data for a CrtMlFrt record, as specified in the CrtMlFrt record. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - The DataLabExtContents record specifies the contents of an extended data label. - - - - DATALABEXT - Chart Data Label Extension (0x086A)
- - @author Patrick Cheng -
- - - specifies the text elements that are formatted using the position and appearance information - specified by the Text record immediately following this record. - - - - - Format all Text records in the chart group where fShowPercent is equal to 0 or fShowValue is equal to 0. - - - - - Format all Text records in the chart group where fShowPercent is equal to 1 or fShowValue is equal to 1. - - - - - Format all Text records in the chart where the value of fScaled of the associated FontInfo structure is equal to 0. - - - - - Format all Text records in the chart where the value of fScaled of the associated FontInfo structure is equal to 1. - - - - - specifies the text elements that are formatted using the information specified by - the Text record immediately following this record. - - - - Constructs a DefaultDataLabelTextProperties record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - - specifies the text elements that are formatted using the position and appearance - information specified by the Text record immediately following this record. - - - - - The DropBar record specifies the attributes of the up bars or the down bars between multiple - series of a line chart group and specifies the beginning of a collection of records as - defined by the Chart Sheet Substream ABNF. The first of these collections in the line chart - group specifies the attributes of the up bars. The second specifies the attributes of the - down bars. If this record exists, then the chart group type MUST be line and the field cSer - in the record SeriesList MUST be greater than 1. - - - author: Antony liu (antony.apollo at gmail.com) - - - - ENDBLOCK - Chart Future Record Type End Block (0x0853)
- - @author Patrick Cheng -
- - - The Fbi2 record specifies the font information at the time the scalable font is added to the chart. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - The Fbi record specifies the font information at the time the scalable font is added to the chart. - - - - Constructs a FontBasis record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the x Basis field for the FontBasis record. - - - Get the y Basis field for the FontBasis record. - - - Get the height basis field for the FontBasis record. - - - Get the scale field for the FontBasis record. - - - Get the index to font table field for the FontBasis record. - - - - The FontX record specifies the font for a given text element. - The Font record referenced by iFont can exist in this chart sheet substream or the workbook. - - - - Constructs a FontIndex record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - - specifies the font to use for subsequent records. - This font can either be the default font of the chart, part of the collection of Font records following - the FrtFontList record, or part of the collection of Font records in the globals substream. - If iFont is 0x0000, this record specifies the default font of the chart. - If iFont is less than or equal to the number of Font records in the globals substream, - iFont is a one-based index to a Font record in the globals substream. - Otherwise iFont is a one-based index into the collection of Font records in this chart sheet substream - where the index is equal to iFont – n, where n is the number of Font records in the globals substream. - - - - - The FrtFontList record specifies font information used on the chart and specifies the - beginning of a collection of Font records as defined by the Chart Sheet Substream ABNF. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - specifies the properties of a fill pattern for parts of a chart. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - The IFmtRecord record specifies the number format to use for the text on an axis. - - - - Constructs a NumberFormatIndex record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the format index field for the NumberFormatIndex record. - - - - The LegendException record specifies information about a legend entry which was - changed from the default legend entry settings, and specifies the beginning of - a collection of records as defined by the Chart Sheet Substream ABNF. - The collection of records specifies legend entry formatting. On a chart where - the legend contains legend entries for the series and trendlines, as defined - in the legend overview, there MUST be zero instances or one instance of this - record in the sequence of records that conform to the SERIESFORMAT rule. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - The PicF record specifies the layout of a picture that is attached to a picture-filled chart element. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - The RadarArea record specifies that the chart group is a filled radar chart group and specifies the chart group attributes. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - The Radar record specifies that the chart group is a radar chart group and specifies the chart group attributes. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - The RichTextStream record specifies additional text properties for the text in - the entire chart, text in the current legend, text in the current legend entry, - or text in the attached label. These text properties are a superset of the - properties stored in the Text, Font, FontX, BRAI, and ObjectLink records based - on the following table, as specified by the Chart Sheet Substream ABNF. In each - case, the associated Font record is specified by the associated FontX record. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - The Scatter record specifies that the chart group is a scatter chart group or - a bubble chart group, and specifies the chart group attributes. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - The SerAuxErrBar record specifies properties of an error bar. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - The SerAuxTrend record specifies a trendline. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - The SerFmt record specifies properties of the associated data points, data markers, - or lines of the series. The associated data points, data markers, or lines of the - series are specified by the preceding DataFormat record. If this record is not - present in the sequence of records that conforms to the SS rule of the Chart Sheet - Substream ABNF, then the properties of the associated data points, data markers, - or lines of the series are specified by the default values of the fields of this record. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - The SerParent record specifies the series to which the current trendline or error bar corresponds. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - The SerToCrt record specifies the chart group for the current series. - - - - Constructs a SeriesChartGroupIndex record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the chart Group index field for the SeriesChartGroupIndex record. - - - - The ShapePropsStream record specifies the shape formatting properties for chart elements. - These shape formatting properties are a superset of the properties stored in the LineFormat, - AreaFormat, MarkerFormat, and GelFrame records. They are stored in the rgb field, which is an - XML stream (section 2.1.7.22), as defined in [ECMA-376] Part 4, section 5.7.2.198. - - - author: Antony liu (antony.apollo at gmail.com) - - - - * Describes a chart sheet properties record. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - specifies properties of a chart as defined by the Chart Sheet Substream ABNF - - - - Constructs a SheetProperties record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the flags field for the SheetProperties record. - - - Get the empty field for the SheetProperties record. - - @return One of - EMPTY_NOT_PLOTTED - EMPTY_ZERO - EMPTY_INTERPOLATED - - specifies how the empty cells are plotted be a value from the following table: - 0x00 Empty cells are not plotted. - 0x01 Empty cells are plotted as zero. - 0x02 Empty cells are plotted as interpolated. - - - - - whether series are automatically allocated for the chart. - - - - - whether to plot visible cells only. - - - - - whether to size the chart with the window. - - - - - If fAlwaysAutoPlotArea is 1, then this field MUST be 1. - If fAlwaysAutoPlotArea is 0, then this field MUST be ignored. - - - - - specifies whether the default plot area dimension (2) is used. - 0 Use the default plot area dimension (2) regardless of the Pos record information. - 1 Use the plot area dimension (2) of the Pos record; and fManPlotArea MUST be 1. - - - - STARTBLOCK - Chart Future Record Type Start Block (0x0852)
- - @author Patrick Cheng -
- - - The Surf record specifies that the chart group is a surface chart group and specifies the chart group attributes. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - The RichTextStream record specifies additional text properties for the text - in the entire chart, text in the current legend, text in the current legend - entry, or text in the attached label. These text properties are a superset - of the properties stored in the Text, Font, FontX, BRAI, and ObjectLink records - based on the following table, as specified by the Chart Sheet Substream ABNF. - In each case, the associated Font record is specified by the associated FontX record. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - The YMult record specifies properties of the value multiplier for a value axis and - that specifies the beginning of a collection of records as defined by the Chart Sheet - substream ABNF. The collection of records specifies a display units label. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - The ContinueFrt12 record specifies a continuation of the data in a preceding Future Record - Type record that has data longer than 8,224 bytes. Such records are split into several records. - The first section of the data appears in the base record and subsequent sections appear in - one or more ContinueFrt12 records that appear after the base record. The preceding base record - MUST contain a FrtRefHeader or a FrtHeader field. - - - author: Antony liu (antony.apollo at gmail.com) - - - - DConRef records specify a range in a workbook (internal or external) that serves as a data source - for pivot tables or data consolidation. - - Represents a DConRef Structure - [MS-XLS s. - 2.4.86], and the contained DConFile structure - - [MS-XLS s. 2.5.69]. This in turn contains a XLUnicodeStringNoCch - - [MS-XLS s. 2.5.296]. - -
-                     _______________________________
-                    |          DConRef              |
-            (bytes) +-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+
-                    |    ref    |cch|  stFile   | un|
-                    +-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+
-                                          |
-                                 _________|_____________________
-                                |DConFile / XLUnicodeStringNoCch|
-                                +-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+
-                         (bits) |h|   reserved  |      rgb      |
-                                +-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+
-             
- Where -
    -
  • DConFile.h = 0x00 if the characters inrgb are single byte, and - DConFile.h = 0x01 if they are double byte.
    - If they are double byte, then
    -
      -
    • If it exists, the length of DConRef.un = 2. Otherwise it is 1.
    • -
    • The length of DConFile.rgb = (2 * DConRef.cch). Otherwise it is equal to - DConRef.cch
    • . -
    -
  • -
  • DConRef.rgb starts with 0x01 if it is an external reference, - and with 0x02 if it is a self-reference.
  • -
- - At the moment this class is read-only. - - @author Niklas Rehfeld -
- - The id of the record type, - sid = {@value} - - - A RefU structure specifying the range of cells if this record is part of an SXTBL. - - [MS XLS s.2.5.211] - - - A RefU structure specifying the range of cells if this record is part of an SXTBL. - - [MS XLS s.2.5.211] - - - A RefU structure specifying the range of cells if this record is part of an SXTBL. - - [MS XLS s.2.5.211] - - - A RefU structure specifying the range of cells if this record is part of an SXTBL. - - [MS XLS s.2.5.211] - - - the number of chars in the link - - - the type of characters (single or double byte) - - - The link's path string. This is the rgb field of a - XLUnicodeStringNoCch. Therefore it will contain at least one leading special - character (0x01 or 0x02) and probably other ones.

- @see - DConFile [MS-XLS s. 2.5.77] and - - VirtualPath [MS-XLS s. 2.5.69] -

- - - unused bits at the end, must be set to 0. - - - Read constructor. - - @param data byte array containing a DConRef Record, including the header. - - - Read Constructor. - - @param inStream RecordInputStream containing a DConRefRecord structure. - - - - @return raw path byte array. - - - @return The first column of the range. - - - @return The first row of the range. - - - @return The last column of the range. - - - @return The last row of the range. - - - @return the link's path, with the special characters stripped/replaced. May be null. - See MS-XLS 2.5.277 (VirtualPath) - - - Checks if the data source in this reference record is external to this sheet or internal. - - @return true iff this is an external reference. - - - The FtCf structure specifies the clipboard format of the picture-type Obj record Containing this FtCf. - - - Subrecords are part of the OBJ class. - - - Wether this record terminates the sub-record stream. - There are two cases when this method must be overridden and return true - - EndSubRecord (sid = 0x00) - - LbsDataSubRecord (sid = 0x12) - - @return whether this record is the last in the sub-record stream - - - Specifies the format of the picture is an enhanced metafile. - - - Specifies the format of the picture is a bitmap. - - - Specifies the picture is in an unspecified format that is - neither and enhanced metafile nor a bitmap. - - - Construct a new FtPioGrbitSubRecord and - fill its data with the default values - - - Convert this record to string. - Used by BiffViewer and other utilities. - - - Serialize the record data into the supplied array of bytes - - @param out the stream to serialize into - - - @return id of this record. - - - This structure appears as part of an Obj record that represents image display properties. - - - A bit that specifies whether the picture's aspect ratio is preserved when rendered in - different views (Normal view, Page Break Preview view, Page Layout view and printing). - - - A bit that specifies whether the pictFmla field of the Obj record that Contains - this FtPioGrbit specifies a DDE reference. - - - A bit that specifies whether this object is expected to be updated on print to - reflect the values in the cell associated with the object. - - - A bit that specifies whether the picture is displayed as an icon. - - - A bit that specifies whether this object is an ActiveX control. - It MUST NOT be the case that both fCtl and fDde are equal to 1. - - - A bit that specifies whether the object data are stored in an - embedding storage (= 0) or in the controls stream (ctls) (= 1). - - - A bit that specifies whether this is a camera picture. - - - A bit that specifies whether this picture's size has been explicitly Set. - 0 = picture size has been explicitly Set, 1 = has not been Set - - - A bit that specifies whether the OLE server for the object is called - to load the object's data automatically when the parent workbook is opened. - - - Construct a new FtPioGrbitSubRecord and - fill its data with the default values - - - Use one of the bitmasks MANUAL_ADVANCE_BIT ... CURSOR_VISIBLE_BIT - @param bitmask - @param enabled - - - Convert this record to string. - Used by BiffViewer and other utilities. - - - Serialize the record data into the supplied array of bytes - - @param out the stream to serialize into - - - @return id of this record. - - - Base class for all old (Biff 2 - Biff 4) cell value records - (implementors of {@link CellValueRecordInterface}). - Subclasses are expected to manage the cell data values (of various types). - - - Append specific debug info (used by {@link #ToString()} for the value - Contained in this record. Trailing new-line should not be Appended - (superclass does that). - - - Get the index to the ExtendedFormat, for non-Biff2 - - @see NPOI.HSSF.Record.ExtendedFormatRecord - @return index to the XF record - - - Is this a Biff2 record, or newer? - - - Gets the debug info BIFF record type name (used by {@link #ToString()}. - - - Formula Record (0x0006 / 0x0206 / 0x0406) - holds a formula in - encoded form, along with the value if a number - - - Get the calculated value of the formula - - @return calculated value - - - Get the option flags - - @return bitmask - - - @return the formula tokens. never null - - - Biff2 - Biff 4 Label Record (0x0004 / 0x0204) - read only support for - strings stored directly in the cell, from the older file formats that - didn't use {@link LabelSSTRecord} - - - @param in the RecordInputstream to read the record from - - - Not supported - - - Get the number of characters this string Contains - @return number of characters - - - Get the String of the cell - - - Title: Bound Sheet Record (aka BundleSheet) (0x0085) for BIFF 5
- Description: Defines a sheet within a workbook. Basically stores the sheet name - and tells where the Beginning of file record is within the HSSF - file. -
- - Get the offset in bytes of the Beginning of File Marker within the HSSF Stream part of the POIFS file - - @return offset in bytes - - - Get the sheetname for this sheet. (this appears in the tabs at the bottom) - @return sheetname the name of the sheet - - - Biff2 - Biff 4 Label Record (0x0007 / 0x0207) - read only support for - formula string results. - - - @param in the RecordInputstream to read the record from - - - @return The string represented by this record. - - -

- Represents a simple shape such as a line, rectangle or oval. - @author Glen Stampoultzis (glens at apache.org) - -
- - - An abstract shape. - - Note: Microsoft Excel seems to sometimes disallow - higher y1 than y2 or higher x1 than x2 in the anchor, you might need to - reverse them and draw shapes vertically or horizontally flipped! - - - - creates shapes from existing file - @param spContainer - @param objRecord - - - - Create a new shape with the specified parent and anchor. - - The parent. - The anchor. - - - - Sets the color applied to the lines of this shape - - The red. - The green. - The blue. - - - - Sets the color used to fill this shape. - - The red. - The green. - The blue. - - - - Gets the parent shape. - - The parent. - - - - Gets or sets the anchor that is used by this shape. - - The anchor. - - - - The color applied to the lines of this shape. - - The color of the line style. - - - - Gets or sets the color used to fill this shape. - - The color of the fill. - - - - Gets or sets with width of the line in EMUs. 12700 = 1 pt. - - The width of the line. - - - - Gets or sets One of the constants in LINESTYLE_* - - The line style. - - - - Gets or sets a value indicating whether this instance is no fill. - - - true if this shape Is not filled with a color; otherwise, false. - - - - - whether this shape is vertically flipped. - - - - - whether this shape is horizontally flipped. - - - - - get or set the rotation, in degrees, that is applied to a shape. - Negative values specify rotation in the counterclockwise direction. - Rotation occurs around the center of the shape. - The default value for this property is 0x00000000 - - - - - Count of all children and their childrens children. - - The count of all children. - - - - Initializes a new instance of the class. - - The parent. - The anchor. - - - - Gets the shape type. - - One of the OBJECT_TYPE_* constants. - @see #OBJECT_TYPE_LINE - @see #OBJECT_TYPE_OVAL - @see #OBJECT_TYPE_RECTANGLE - @see #OBJECT_TYPE_PICTURE - @see #OBJECT_TYPE_COMMENT - - - - Get or set the rich text string used by this object. - - - - @author Evgeniy Berlog - date: 05.06.12 - - - build shape tree from escher container - @param container root escher container from which escher records must be taken - @param agg - EscherAggregate - @param out - shape container to which shapes must be added - @param root - node to create HSSFObjectData shapes - - - Copies an Entry into a target POIFS directory, recursively - - - Copies all the nodes from one POIFS Directory to another - - @param sourceRoot - is the source Directory to copy from - @param targetRoot - is the target Directory to copy to - - - Copies nodes from one Directory to the other minus the excepts - - @param filteredSource The filtering source Directory to copy from - @param filteredTarget The filtering target Directory to copy to - - - Copies nodes from one Directory to the other minus the excepts - - @param sourceRoot - is the source Directory to copy from - @param targetRoot - is the target Directory to copy to - @param excepts - is a list of Strings specifying what nodes NOT to copy - @deprecated use {@link FilteringDirectoryNode} instead - - - Copies all nodes from one POIFS to the other - - @param source - is the source POIFS to copy from - @param target - is the target POIFS to copy to - - - Copies nodes from one POIFS to the other, minus the excepts. - This delegates the filtering work to {@link FilteringDirectoryNode}, - so excepts can be of the form "NodeToExclude" or - "FilteringDirectory/ExcludedChildNode" - - @param source is the source POIFS to copy from - @param target is the target POIFS to copy to - @param excepts is a list of Entry Names to be excluded from the copy - - - Checks to see if the two Directories hold the same contents. - For this to be true, they must have entries with the same names, - no entries in one but not the other, and the size+contents - of each entry must match, and they must share names. - To exclude certain parts of the Directory from being checked, - use a {@link FilteringDirectoryNode} - - - Checks to see if two Documents have the same name - and the same contents. (Their parent directories are - not checked) - - - - A DirectoryEntry filter, which exposes another DirectoryEntry less certain parts. - This is typically used when copying or comparing Filesystems. - - - - - This interface defines methods specific to Directory objects - managed by a Filesystem instance. - @author Marc Johnson (mjohnson at apache dot org) - - - - - This interface provides access to an object managed by a Filesystem - instance. Entry objects are further divided into DocumentEntry and - DirectoryEntry instances. - @author Marc Johnson (mjohnson at apache dot org) - - - - - Delete this Entry. ThIs operation should succeed, but there are - special circumstances when it will not: - If this Entry Is the root of the Entry tree, it cannot be - deleted, as there Is no way to Create another one. - If this Entry Is a directory, it cannot be deleted unless it Is - empty. - - true if the Entry was successfully deleted, else false - - - - Rename this Entry. ThIs operation will fail if: - There Is a sibling Entry (i.e., an Entry whose parent Is the - same as this Entry's parent) with the same name. - ThIs Entry Is the root of the Entry tree. Its name Is dictated - by the Filesystem and many not be Changed. - - the new name for this Entry - true if the operation succeeded, else false - - - - Get the name of the Entry - - The name. - - - - Is this a DirectoryEntry? - - - true if the Entry Is a DirectoryEntry; otherwise, false. - - - - - Is this a DocumentEntry? - - - true if the Entry Is a DocumentEntry; otherwise, false. - - - - - Get this Entry's parent (the DirectoryEntry that owns this - Entry). All Entry objects, except the root Entry, has a parent. - - this Entry's parent; null iff this Is the root Entry - This property is moved to EntryNode - - - - get a specified Entry by name - - the name of the Entry to obtain. - the specified Entry, if it is directly contained in - this DirectoryEntry - - - - Create a new DocumentEntry - - the name of the new DocumentEntry - the Stream from which to Create the new DocumentEntry - the new DocumentEntry - - - - Create a new DocumentEntry; the data will be provided later - - the name of the new DocumentEntry - the size of the new DocumentEntry - BeforeWriting event handler - the new DocumentEntry - - - - Create a new DirectoryEntry - - the name of the new DirectoryEntry - the name of the new DirectoryEntry - - - - Checks if entry with specified name present - - entry name - true if have - - - - get an iterator of the Entry instances contained directly in - this instance (in other words, children only; no grandchildren - etc.) - - The entries.never null, but hasNext() may return false - immediately (i.e., this DirectoryEntry is empty). All - objects retrieved by next() are guaranteed to be - implementations of Entry. - - - - get the names of all the Entries contained directly in this - instance (in other words, names of children only; no grandchildren etc). - - the names of all the entries that may be retrieved with - getEntry(String), which may be empty (if this DirectoryEntry is empty - - - - - is this DirectoryEntry empty? - - true if this instance contains no Entry instances; otherwise, false. - - - - find out how many Entry instances are contained directly within - this DirectoryEntry - - number of immediately (no grandchildren etc.) contained - Entry instances - - - - Gets or sets the storage ClassID. - - The storage ClassID. - - - - Creates a filter round the specified directory, which will exclude entries such as - "MyNode" and "MyDir/IgnoreNode". The excludes can stretch into children, if they contain a /. - - The Directory to filter - The Entries to exclude - - - This class provides methods to write a DocumentEntry managed by a - {@link NPOIFSFileSystem} instance. - - - the Document's size - - - have we been closed? - - - the actual Document - - - and its Property - - - our buffer, when null we're into normal blocks - - - our main block stream, when we're into normal blocks - - - Create an OutputStream from the specified DocumentEntry. - The specified entry will be emptied. - - @param document the DocumentEntry to be written - - - Create an OutputStream to create the specified new Entry - - @param parent Where to create the Entry - @param name Name of the new entry - - - This exception is thrown when we try to open a file that doesn't - seem to actually be an OLE2 file After all - - - Copies an Entry into a target POIFS directory, recursively - - - Copies nodes from one POIFS to the other minus the excepts - - @param source - is the source POIFS to copy from - @param target - is the target POIFS to copy to - @param excepts - is a list of Strings specifying what nodes NOT to copy - - - Copies nodes from one POIFS to the other minus the excepts - - @param source - is the source POIFS to copy from - @param target - is the target POIFS to copy to - @param excepts - is a list of Strings specifying what nodes NOT to copy - - - Evaluator for formula arguments. - - @author jfaenomoto@gmail.com - - - Evaluate a generic {@link ValueEval} argument to a double value that represents a date in POI. - - @param arg {@link ValueEval} an argument. - @param srcCellRow number cell row. - @param srcCellCol number cell column. - @return a double representing a date in POI. - @throws EvaluationException exception upon argument evaluation. - - - Evaluate a generic {@link ValueEval} argument to an array of double values that represents dates in POI. - - @param arg {@link ValueEval} an argument. - @param srcCellRow number cell row. - @param srcCellCol number cell column. - @return an array of doubles representing dates in POI. - @throws EvaluationException exception upon argument evaluation. - - - Evaluate a generic {@link ValueEval} argument to a double value. - - @param arg {@link ValueEval} an argument. - @param srcCellRow number cell row. - @param srcCellCol number cell column. - @return a double value. - @throws EvaluationException exception upon argument evaluation. - - - Parser for java dates. - - @author jfaenomoto@gmail.com - - - Parses a date from a string. - - @param strVal a string with a date pattern. - @return a date parsed from argument. - @throws EvaluationException exception upon parsing. - - - @param month 1-based - - - For most Excel functions, involving references ((cell, area), (2d, 3d)), the references are - passed in as arguments, and the exact location remains fixed. However, a select few Excel - functions have the ability to access cells that were not part of any reference passed as an - argument.
- Two important functions with this feature are INDIRECT and OFFSet

- - In POI, the HSSFFormulaEvaluator Evaluates every cell in each reference argument before - calling the function. This means that functions using fixed references do not need access to - the rest of the workbook to execute. Hence the Evaluate() method on the common - interface Function does not take a workbook parameter. - - This interface recognises the requirement of some functions to freely Create and Evaluate - references beyond those passed in as arguments. - - @author Josh Micich - - - @param args the pre-Evaluated arguments for this function. args is never null, - nor are any of its elements. - @param ec primarily used to identify the source cell Containing the formula being Evaluated. - may also be used to dynamically create reference evals. - @return never null. Possibly an instance of ErrorEval in the case of - a specified Excel error (Exceptions are never thrown to represent Excel errors). - - - Implementation of Excel 'Analysis ToolPak' function NETWORKDAYS()
- Returns the number of workdays given a starting and an ending date, considering an interval of holidays. A workday is any non - saturday/sunday date. -

- Syntax
- NETWORKDAYS(startDate, endDate, holidays) -

- - @author jfaenomoto@gmail.com - - - Constructor. - - @param anEvaluator an injected {@link ArgumentsEvaluator}. - - - Evaluate for NETWORKDAYS. Given two dates and a optional date or interval of holidays, determines how many working days are there - between those dates. - - @return {@link ValueEval} for the number of days between two dates. - - - An exception thrown by implementors of {@link FormulaEvaluator} when - attempting to evaluate a formula which requires a function that POI - does not (yet) support. - - - A calculator for workdays, considering dates as excel representations. - - @author jfaenomoto@gmail.com - - - Constructor. - - - Calculate how many workdays are there between a start and an end date, as excel representations, considering a range of holidays. - - @param start start date. - @param end end date. - @param holidays an array of holidays. - @return number of workdays between start and end dates, including both dates. - - - Calculate the workday past x workdays from a starting date, considering a range of holidays. - - @param start start date. - @param workdays number of workdays to be past from starting date. - @param holidays an array of holidays. - @return date past x workdays. - - - Calculates how many days of week past between a start and an end date. - - @param start start date. - @param end end date. - @param dayOfWeek a day of week as represented by {@link Calendar} constants. - @return how many days of week past in this interval. - - - Calculates how many holidays in a list are workdays, considering an interval of dates. - - @param start start date. - @param end end date. - @param holidays an array of holidays. - @return number of holidays that occur in workdays, between start and end dates. - - - @param aDate a given date. - @return true if date is weekend, false otherwise. - - - @param aDate a given date. - @param holidays an array of holidays. - @return true if date is a holiday, false otherwise. - - - @param aDate a given date. - @param holidays an array of holidays. - @return 1 is not a workday, 0 otherwise. - - - @param start start date. - @param end end date. - @param aDate a date to be analyzed. - @return true if aDate is between start and end dates, false otherwise. - - - Implementation of Excel 'Analysis ToolPak' function WORKDAY()
- Returns the date past a number of workdays beginning at a start date, considering an interval of holidays. A workday is any non - saturday/sunday date. -

- Syntax
- WORKDAY(startDate, days, holidays) -

- - @author jfaenomoto@gmail.com - - - Evaluate for WORKDAY. Given a date, a number of days and a optional date or interval of holidays, determines which date it is past - number of parametrized workdays. - - @return {@link ValueEval} with date as its value. - - -

Some utils for Converting from and to any base

- - @author cedric dot walter @ gmail dot com -
- - Implementation for Excel Bin2Dec() function.

-

- Syntax:
Bin2Dec (number)
-

- Converts a binary number to decimal. -

- Number is the binary number you want to convert. Number cannot contain more than 10 characters (10 bits). - The most significant bit of number is the sign bit. The remaining 9 bits are magnitude bits. - Negative numbers are represented using two's-complement notation. -

- Remark - If number is not a valid binary number, or if number contains more than 10 characters (10 bits), - BIN2DEC returns the #NUM! error value. - - @author cedric dot walter @ gmail dot com - - - Convenience base class for functions that must take exactly one argument. - - @author Josh Micich - - - Implemented by all functions that can be called with one argument - - @author Josh Micich - - -

- Function serves as a marker interface. - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > -
- - - Evaluates the specified args. - - the evaluated function arguments. Empty values are represented with BlankEval or MissingArgEval - row index of the cell containing the formula under evaluation - column index of the cell containing the formula under evaluation - - - - see {@link Function#Evaluate(ValueEval[], int, int)} - - - Implementation for Excel CODE () function.

-

- Syntax:
CODE (text )
-

- Returns a numeric code for the first character in a text string. The returned code corresponds to the character set used by your computer. -

- text The text for which you want the code of the first character. - - @author cedric dot walter @ gmail dot com - - - Implementation for Excel COMPLEX () function.

-

- Syntax:
COMPLEX (real_num,i_num,suffix )
-

- Converts real and imaginary coefficients into a complex number of the form x + yi or x + yj. -

-

- All complex number functions accept "i" and "j" for suffix, but neither "I" nor "J". - Using uppercase results in the #VALUE! error value. All functions that accept two - or more complex numbers require that all suffixes match. -

- real_num The real coefficient of the complex number. - If this argument is nonnumeric, this function returns the #VALUE! error value. -

-

- i_num The imaginary coefficient of the complex number. - If this argument is nonnumeric, this function returns the #VALUE! error value. -

-

- suffix The suffix for the imaginary component of the complex number. -

    -
  • If omitted, suffix is assumed to be "i".
  • -
  • If suffix is neither "i" nor "j", COMPLEX returns the #VALUE! error value.
  • -
- - @author cedric dot walter @ gmail dot com -
- - Convenience base class for any function which must take two or three - arguments - - @author Josh Micich - - - Implemented by all functions that can be called with two arguments - - @author Josh Micich - - - see {@link Function#Evaluate(ValueEval[], int, int)} - - - Implemented by all functions that can be called with three arguments - - @author Josh Micich - - - see {@link Function#Evaluate(ValueEval[], int, int)} - - - Implementation for the function COUNTIFS -

- Syntax: COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2]) -

-
- - Implementation for Excel Bin2Dec() function.

-

- Syntax:
Bin2Dec (number,[places] )
-

- Converts a decimal number to binary. -

- The DEC2BIN function syntax has the following arguments: -

    -
  • Number Required. The decimal integer you want to Convert. If number is negative, valid place values are ignored and DEC2BIN returns a 10-character (10-bit) binary number in which the most significant bit is the sign bit. The remaining 9 bits are magnitude bits. Negative numbers are represented using two's-complement notation.
  • -
  • Places Optional. The number of characters to use. If places is omitted, DEC2BIN uses the minimum number of characters necessary. Places is useful for pAdding the return value with leading 0s (zeros).
  • -
-

- Remarks -

    -
  • If number < -512 or if number > 511, DEC2BIN returns the #NUM! error value.
  • -
  • If number is nonnumeric, DEC2BIN returns the #VALUE! error value.
  • -
  • If DEC2BIN requires more than places characters, it returns the #NUM! error value.
  • -
  • If places is not an integer, it is tRuncated.
  • -
  • If places is nonnumeric, DEC2BIN returns the #VALUE! error value.
  • -
  • If places is zero or negative, DEC2BIN returns the #NUM! error value.
  • -
- - @author cedric dot walter @ gmail dot com -
- - Convenience base class for any function which must take two or three - arguments - - @author Josh Micich - - - Implementation for Excel DELTA() function.

-

- Syntax:
DEC2HEX (number,places )
-

- Converts a decimal number to hexadecimal. - - The decimal integer you want to Convert. If number is negative, places is ignored - and this function returns a 10-character (40-bit) hexadecimal number in which the - most significant bit is the sign bit. The remaining 39 bits are magnitude bits. - Negative numbers are represented using two's-complement notation. - -

    -
  • If number < -549,755,813,888 or if number > 549,755,813,887, this function returns the #NUM! error value.
  • -
  • If number is nonnumeric, this function returns the #VALUE! error value.
  • -
- -

places

- - The number of characters to use. The places argument is useful for pAdding the - return value with leading 0s (zeros). - -
    -
  • If this argument is omitted, this function uses the minimum number of characters necessary.
  • -
  • If this function requires more than places characters, it returns the #NUM! error value.
  • -
  • If this argument is nonnumeric, this function returns the #VALUE! error value.
  • -
  • If this argument is negative, this function returns the #NUM! error value.
  • -
  • If this argument Contains a decimal value, this function ignores the numbers to the right side of the decimal point.
  • -
- - @author cedric dot walter @ gmail dot com -
- - Implementation for Excel DELTA() function.

-

- Syntax:
DELTA (number1,number2 )
-

- Tests whether two values are Equal. Returns 1 if number1 = number2; returns 0 otherwise. - Use this function to filter a Set of values. For example, by summing several DELTA functions - you calculate the count of equal pairs. This function is also known as the Kronecker Delta function. - -

    -
  • If number1 is nonnumeric, DELTA returns the #VALUE! error value.
  • -
  • If number2 is nonnumeric, DELTA returns the #VALUE! error value.
  • -
- - @author cedric dot walter @ gmail dot com -
- - Convenience base class for functions that must take exactly two arguments. - - @author Josh Micich - - - Implementation of the DGet function: - Finds the value of a column in an area with given conditions. - - TODO: - - wildcards ? and * in string conditions - - functions as conditions - - - Interface specifying how an algorithm to be used by {@link DStarRunner} should look like. - Each implementing class should correspond to one of the D* functions. - - - Reset the state of this algorithm. - This is called before each run through a database. - - - Process a match that is found during a run through a database. - @param eval ValueEval of the cell in the matching row. References will already be Resolved. - @return Whether we should continue iterating through the database. - - - Return a result ValueEval that will be the result of the calculation. - This is always called at the end of a run through the database. - @return a ValueEval - - - Implementation of the DMin function: - Finds the minimum value of a column in an area with given conditions. - - TODO: - - wildcards ? and * in string conditions - - functions as conditions - - - This class performs a D* calculation. It takes an {@link IDStarAlgorithm} object and - uses it for calculating the result value. Iterating a database and Checking the - entries against the Set of conditions is done here. - - - Resolve reference(-chains) until we have a normal value. - - @param field a ValueEval which can be a RefEval. - @return a ValueEval which is guaranteed not to be a RefEval - @If a multi-sheet reference was found along the way. - - - Returns the first column index that matches the given name. The name can either be - a string or an integer, when it's an integer, then the respective column - (1 based index) is returned. - @param nameValueEval - @param db - @return the first column index that matches the given name (or int) - @ - - - For a given database returns the column number for a column heading. - - @param db Database. - @param name Column heading. - @return Corresponding column number. - @If it's not possible to turn all headings into strings. - - - Checks a row in a database against a condition database. - - @param db Database. - @param row The row in the database to Check. - @param cdb The condition database to use for Checking. - @return Whether the row matches the conditions. - @If references could not be Resolved or comparison - operators and operands didn't match. - - - Test a value against a simple (< > <= >= = starts-with) condition string. - - @param value The value to Check. - @param condition The condition to check for. - @return Whether the condition holds. - @If comparison operator and operands don't match. - - - Test whether a value matches a numeric condition. - @param valueEval Value to Check. - @param op Comparator to use. - @param condition Value to check against. - @return whether the condition holds. - @If it's impossible to turn the condition into a number. - - - Takes a ValueEval and tries to retrieve a String value from it. - It tries to resolve references if there are any. - - @param value ValueEval to retrieve the string from. - @return String corresponding to the given ValueEval. - @If it's not possible to retrieve a String value. - - - Implementation for the Excel EOMONTH() function.

-

- EOMONTH() returns the date of the last day of a month..

-

- Syntax:
- EOMONTH(start_date,months)

-

- start_date is the starting date of the calculation - months is the number of months to be Added to start_date, - to give a new date. For this new date, EOMONTH returns the date of - the last day of the month. months may be positive (in the future), - zero or negative (in the past). - - - Implementation for the ERROR.TYPE() Excel function. -

- Syntax:
- ERROR.TYPE(errorValue)

-

- Returns a number corresponding to the error type of the supplied argument.

-

- - - - - - - - - - -
errorValueReturn Value
#NULL!1
#DIV/0!2
#VALUE!3
#REF!4
#NAME?5
#NUM!6
#N/A!7
everything else#N/A!
- - Note - the results of ERROR.TYPE() are different to the constants defined in - ErrorConstants. -

- - @author Josh Micich -
- - Implementation for Excel FACTDOUBLE() function.

-

- Syntax:
FACTDOUBLE (number)
-

- Returns the double factorial of a number. -

- Number is the value for which to return the double factorial. If number is not an integer, it is truncated. -

- Remarks -

    -
  • If number is nonnumeric, FACTDOUBLE returns the #VALUE! error value.
  • -
  • If number is negative, FACTDOUBLE returns the #NUM! error value.
  • -
- Use a cache for more speed of previously calculated factorial - - @author cedric dot walter @ gmail dot com -
- - Implementation of the financial functions pmt, fv, ppmt, ipmt. - - @author Mike Argyriou micharg@gmail.com - - - Emulates Excel/Calc's PMT(interest_rate, number_payments, PV, FV, Type) - function, which calculates the payments for a loan or the future value of an investment - - @param r - - periodic interest rate represented as a decimal. - @param nper - - number of total payments / periods. - @param pv - - present value -- borrowed or invested principal. - @param fv - - future value of loan or annuity. - @param type - - when payment is made: beginning of period is 1; end, 0. - @return double representing periodic payment amount. - - - Overloaded pmt() call omitting type, which defaults to 0. - - @see #pmt(double, int, double, double, int) - - - Overloaded pmt() call omitting fv and type, which both default to 0. - - @see #pmt(double, int, double, double, int) - - - Emulates Excel/Calc's IPMT(interest_rate, period, number_payments, PV, - FV, Type) function, which calculates the portion of the payment at a - given period that is the interest on previous balance. - - @param r - - periodic interest rate represented as a decimal. - @param per - - period (payment number) to check value at. - @param nper - - number of total payments / periods. - @param pv - - present value -- borrowed or invested principal. - @param fv - - future value of loan or annuity. - @param type - - when payment is made: beginning of period is 1; end, 0. - @return double representing interest portion of payment. - - @see #pmt(double, int, double, double, int) - @see #fv(double, int, double, double, int) - - - Emulates Excel/Calc's PPMT(interest_rate, period, number_payments, PV, - FV, Type) function, which calculates the portion of the payment at a - given period that will apply to principal. - - @param r - - periodic interest rate represented as a decimal. - @param per - - period (payment number) to check value at. - @param nper - - number of total payments / periods. - @param pv - - present value -- borrowed or invested principal. - @param fv - - future value of loan or annuity. - @param type - - when payment is made: beginning of period is 1; end, 0. - @return double representing principal portion of payment. - - @see #pmt(double, int, double, double, int) - @see #ipmt(double, int, int, double, double, bool) - - - Emulates Excel/Calc's FV(interest_rate, number_payments, payment, PV, - Type) function, which calculates future value or principal at period N. - - @param r - - periodic interest rate represented as a decimal. - @param nper - - number of total payments / periods. - @param pmt - - periodic payment amount. - @param pv - - present value -- borrowed or invested principal. - @param type - - when payment is made: beginning of period is 1; end, 0. - @return double representing future principal value. - - - Overloaded fv() call omitting type, which defaults to 0. - - @see #fv(double, int, double, double, int) - - - Implementation for Excel HEX2DEC() function.

-

- Syntax:
HEX2DEC (number)
-

- Converts a hexadecimal number to decimal. -

- Number is the hexadecimal number you want to Convert. Number cannot contain more than 10 characters (40 bits). - The most significant bit of number is the sign bit. - The remaining 39 bits are magnitude bits. Negative numbers are represented using two's-complement notation. - Remark - If number is not a valid hexadecimal number, HEX2DEC returns the #NUM! error value. - - @author cedric dot walter @ gmail dot com - - - Implementation of Excel HYPERLINK function.

- - In Excel this function has special behaviour - it causes the displayed cell value to behave like - a hyperlink in the GUI. From an evaluation perspective however, it is very simple.

- - Syntax:
- HYPERLINK(link_location, friendly_name)

- - link_location The URL of the hyperlink
- friendly_name (optional) the value to display

- - Returns last argument. Leaves type unchanged (does not convert to {@link org.apache.poi.ss.formula.eval.StringEval}). - - @author Wayne Clingingsmith - - - Implementation for Excel IMAGINARY() function.

-

- Syntax:
IMAGINARY (Inumber)
-

- Returns the imaginary coefficient of a complex number in x + yi or x + yj text format. -

- Inumber is a complex number for which you want the imaginary coefficient. -

- Remarks -

    -
  • Use COMPLEX to convert real and imaginary coefficients into a complex number.
  • -
- - @author cedric dot walter @ gmail dot com -
- - Implementation for Excel ImReal() function.

-

- Syntax:
ImReal (Inumber)
-

- Returns the real coefficient of a complex number in x + yi or x + yj text format. -

- Inumber A complex number for which you want the real coefficient. -

- Remarks -

    -
  • If inumber is not in the form x + yi or x + yj, this function returns the #NUM! error value.
  • -
  • Use COMPLEX to convert real and imaginary coefficients into a complex number.
  • -
- - @author cedric dot walter @ gmail dot com -
- - Implementation of Excel function INTERCEPT()

- - Calculates the INTERCEPT of the linear regression line that is used to predict y values from x values
- (http://introcs.cs.princeton.edu/java/97data/LinearRegression.java.html) - Syntax:
- INTERCEPT(arrayX, arrayY)

- - - @author Johan Karlsteen - - - @author Amol S. Deshmukh < amolweb at yahoo dot com > - - - - Base class for linear regression functions. - - Calculates the linear regression line that is used to predict y values from x values
- (http://introcs.cs.princeton.edu/java/97data/LinearRegression.java.html) - Syntax:
- INTERCEPT(arrayX, arrayY)

- or - SLOPE(arrayX, arrayY)

- - - @author Johan Karlsteen - - - Represents a single row or column within an AreaEval. - - - Calculates Modified internal rate of return. Syntax is MIRR(cash_flow_values, finance_rate, reinvest_rate) - -

Returns the modified internal rate of return for a series of periodic cash flows. MIRR considers both the cost - of the investment and the interest received on reinvestment of cash.

- - Values is an array or a reference to cells that contain numbers. These numbers represent a series of payments (negative values) and income (positive values) occurring at regular periods. -
    -
  • Values must contain at least one positive value and one negative value to calculate the modified internal rate of return. Otherwise, MIRR returns the #DIV/0! error value.
  • -
  • If an array or reference argument Contains text, logical values, or empty cells, those values are ignored; however, cells with the value zero are included.
  • -
- - Finance_rate is the interest rate you pay on the money used in the cash flows. - Reinvest_rate is the interest rate you receive on the cash flows as you reinvest them. - - @author Carlos Delgado (carlos dot del dot est at gmail dot com) - @author Cédric Walter (cedric dot walter at gmail dot com) - - @see Wikipedia on MIRR - @see Excel MIRR - @see {@link Irr} -
- - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - This Is the base class for all excel function evaluator - classes that take variable number of operands, and - where the order of operands does not matter - - - Collects values from a single argument - - - Returns a double array that contains values for the numeric cells - from among the list of operands. Blanks and Blank equivalent cells - are ignored. Error operands or cells containing operands of type - that are considered invalid and would result in #VALUE! error in - excel cause this function to return null. - - @return never null - - - Ensures that a two dimensional array has all sub-arrays present and the same Length - @return false if any sub-array Is missing, or Is of different Length - - - Maximum number of operands accepted by this function. - Subclasses may override to Change default value. - - - Whether to count nested subtotals. - - -

Implementation for Excel Oct2Dec() function.

-

- Converts an octal number to decimal. -

-

- Syntax:
Oct2Dec (number ) -

-

- Number is the octal number you want to Convert. Number may not contain more than 10 octal characters (30 bits). - The most significant bit of number is the sign bit. The remaining 29 bits are magnitude bits. - Negative numbers are represented using two's-complement notation.. -

- If number is not a valid octal number, OCT2DEC returns the #NUM! error value. - - @author cedric dot walter @ gmail dot com - - - Compute the interest portion of a payment. - - @author Mike Argyriou micharg@gmail.com - - -

Implementation for Excel QUOTIENT () function.

-

- Syntax:
QUOTIENT(Numerator,Denominator)
-

-

- Numerator is the dividend. - Denominator is the divisor. - - Returns the integer portion of a division. Use this function when you want to discard the remainder of a division. -

- - If either enumerator/denominator is non numeric, QUOTIENT returns the #VALUE! error value. - If denominator is Equals to zero, QUOTIENT returns the #DIV/0! error value. - - @author cedric dot walter @ gmail dot com -
- - * Returns the rank of a number in a list of numbers. The rank of a number is its size relative to other values in a list. - - * Syntax: - * RANK(number,ref,order) - * Number is the number whose rank you want to find. - * Ref is an array of, or a reference to, a list of numbers. Nonnumeric values in ref are ignored. - * Order is a number specifying how to rank number. - - * If order is 0 (zero) or omitted, Microsoft Excel ranks number as if ref were a list sorted in descending order. - * If order is any nonzero value, Microsoft Excel ranks number as if ref were a list sorted in ascending order. - * - * @author Rubin Wang - - - Implements the Excel Rate function - - - Excel does not support infinities and NaNs, rather, it gives a #NUM! error in these cases - - @throws EvaluationException (#NUM!) if result is NaN or Infinity - - - Implementation for Excel REPT () function.

-

- Syntax:
REPT (text,number_times )
-

- Repeats text a given number of times. Use REPT to fill a cell with a number of instances of a text string. - - text : text The text that you want to repeat. - number_times: A positive number specifying the number of times to repeat text. - - If number_times is 0 (zero), REPT returns "" (empty text). - If this argument contains a decimal value, this function ignores the numbers to the right side of the decimal point. - - The result of the REPT function cannot be longer than 32,767 characters, or REPT returns #VALUE!. - - @author cedric dot walter @ gmail dot com - - - Implementation for Excel WeekNum() function.

-

- Syntax:
WeekNum (Serial_num,Return_type)
-

- Returns a number that indicates where the week falls numerically within a year. -

-

- Serial_num is a date within the week. Dates should be entered by using the DATE function, - or as results of other formulas or functions. For example, use DATE(2008,5,23) - for the 23rd day of May, 2008. Problems can occur if dates are entered as text. - Return_type is a number that determines on which day the week begins. The default is 1. - 1 Week begins on Sunday. Weekdays are numbered 1 through 7. - 2 Week begins on Monday. Weekdays are numbered 1 through 7. - - @author cedric dot walter @ gmail dot com - - - Classic conversion. - - @param number - @return - - - Use conversion rule to factor some parts and make them more concise - - @param result - @param form - @return - - - Implementation of Excel function SLOPE()

- - Calculates the SLOPE of the linear regression line that is used to predict y values from x values
- (http://introcs.cs.princeton.edu/java/97data/LinearRegression.java.html) - Syntax:
- SLOPE(arrayX, arrayY)

- - - @author Johan Karlsteen - - - Implementation for the Excel function SUMIFS
-

- Syntax :
- SUMIFS ( sum_range, criteria_range1, criteria1, - [criteria_range2, criteria2], ...)
-

    -
  • sum_range Required. One or more cells to sum, including numbers or names, ranges, - or cell references that contain numbers. Blank and text values are ignored.
  • -
  • criteria1_range Required. The first range in which - to evaluate the associated criteria.
  • -
  • criteria1 Required. The criteria in the form of a number, expression, - cell reference, or text that define which cells in the criteria_range1 - argument will be added
  • -
  • criteria_range2, criteria2, ... Optional. Additional ranges and their associated criteria. - Up to 127 range/criteria pairs are allowed.
  • -
-

- - @author Yegor Kozlov -
- - Verify that each criteriaRanges argument contains the same number of rows and columns - as the sumRange argument - - @throws EvaluationException if - - - - @param ranges criteria ranges, each range must be of the same dimensions as aeSum - @param predicates array of predicates, a predicate for each value in ranges - @param aeSum the range to sum - - @return the computed value - - - - Implementation of the PROPER function: - Normalizes all words (separated by non-word characters) by - making the first letter upper and the rest lower case. - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - @author Manda Wilson < wilson at c bio dot msk cc dot org > - - An implementation of the TRIM function: - - Removes leading and trailing spaces from value if evaluated operand value is string. - - - - - - An implementation of the MID function - - MID returns a specific number of - characters from a text string, starting at the specified position. - - Syntax: MID(text, start_num, num_chars) - - - - @author Torstein Tauno Svendsen (torstei@officenet.no) - - Implementation of the FIND() function. - - Syntax: FIND(Find_text, within_text, start_num) - - FIND returns the character position of the first (case sensitive) occurrence of - Find_text inside within_text. The third parameter, - start_num, is optional (default=1) and specifies where to start searching - from. Character positions are 1-based. - - - - - Implementation of the FIND() function. SEARCH is a case-insensitive version of FIND() - - Syntax: SEARCH(Find_text, within_text, start_num) - - - - - Implementation for the Excel function WEEKDAY - - @author Thies Wellpott - - - * Perform WEEKDAY(date, returnOption) function. - * Note: Parameter texts are from German EXCEL-2010 help. - * Parameters in args[]: - * args[0] serialDate - * EXCEL-date value - * Standardmaessig ist der 1. Januar 1900 die fortlaufende Zahl 1 und - * der 1. Januar 2008 die fortlaufende Zahl 39.448, da dieser Tag nach 39.448 Tagen - * auf den 01.01.1900 folgt. - * @return Option (optional) - * Bestimmt den Rueckgabewert: - 1 oder nicht angegeben Zahl 1 (Sonntag) bis 7 (Samstag). Verhaelt sich wie fruehere Microsoft Excel-Versionen. - 2 Zahl 1 (Montag) bis 7 (Sonntag). - 3 Zahl 0 (Montag) bis 6 (Sonntag). - 11 Die Zahlen 1 (Montag) bis 7 (Sonntag) - 12 Die Zahlen 1 (Dienstag) bis 7 (Montag) - 13 Die Zahlen 1 (Mittwoch) bis 7 (Dienstag) - 14 Die Zahlen 1 (Donnerstag) bis 7 (Mittwoch) - 15 Die Zahlen 1 (Freitag) bis 7 (Donnerstag) - 16 Die Zahlen 1 (Samstag) bis 7 (Freitag) - 17 Die Zahlen 1 (Sonntag) bis 7 (Samstag) - - - Implementation for Excel WeekNum() function.

-

- Syntax:
WeekNum (Serial_num,Return_type)
-

- Returns a number that indicates where the week falls numerically within a year. -

-

- Serial_num is a date within the week. Dates should be entered by using the DATE function, - or as results of other formulas or functions. For example, use DATE(2008,5,23) - for the 23rd day of May, 2008. Problems can occur if dates are entered as text. - Return_type is a number that determines on which day the week begins. The default is 1. - 1 Week begins on Sunday. Weekdays are numbered 1 through 7. - 2 Week begins on Monday. Weekdays are numbered 1 through 7. - - @author cedric dot walter @ gmail dot com - - -

Title: XSSF Area 3D Reference (Sheet + Area)

-

Description: Defined an area in an external or different sheet.

-

REFERENCE:

- -

This is XSSF only, as it stores the sheet / book references - in String form. The HSSF equivalent using indexes is {@link Area3DPtg}

-
- - Specifies a rectangular area of cells A1:A4 for instance. - @author andy - @author Jason Height (jheight at chariot dot net dot au) - - - @author Josh Micich - - - Ptg represents a syntactic token in a formula. 'PTG' is an acronym for - 'parse thing'. Originally, the name referred to the single - byte identifier at the start of the token, but in POI, Ptg encapsulates - the whole formula token (initial byte + value data). - - - Ptgs are logically arranged in a tree representing the structure of the - Parsed formula. However, in BIFF files Ptgs are written/Read in - Reverse-Polish Notation order. The RPN ordering also simplifies formula - evaluation logic, so POI mostly accesses Ptgs in the same way. - - @author andy - @author avik - @author Jason Height (jheight at chariot dot net dot au) - - - Reads size bytes of the input stream, to Create an array of Ptgs. - Extra data (beyond size) may be Read if and ArrayPtgs are present. - - - @return a distinct copy of this Ptg if the class is mutable, or the same instance - if the class is immutable. - - - This method will return the same result as {@link #getEncodedSizeWithoutArrayData(Ptg[])} - if there are no array tokens present. - @return the full size taken to encode the specified Ptgs - - - Used to calculate value that should be encoded at the start of the encoded Ptg token array; - @return the size of the encoded Ptg tokens not including any trailing array data. - - - Writes the ptgs to the data buffer, starting at the specified offset. - -
- The 2 byte encode Length field is not written by this method. - @return number of bytes written -
- - Write this Ptg to a byte array - - - return a string representation of this token alone - - - Overridden toString method to Ensure object hash is not printed. - This helps Get rid of gratuitous diffs when comparing two dumps - Subclasses may output more relevant information by overriding this method - - - - @return the encoded Length of this Ptg, including the initial Ptg type identifier byte. - - - @return false if this token is classified as 'reference', 'value', or 'array' - - - @return the 'operand class' (REF/VALUE/ARRAY) for this Ptg - - - Debug / diagnostic method to get this token's 'operand class' type. - @return 'R' for 'reference', 'V' for 'value', 'A' for 'array' and '.' for base tokens - - - All Operand Ptgs are classifed ('relative', 'value', 'array') - - - Common interface for AreaPtg and Area3DPtg, and their - child classes. - - - @return the first row in the area - - - @return last row in the range (x2 in x1,y1-x2,y2) - - - @return the first column number in the area. - - - @return lastcolumn in the area - - - TODO - (May-2008) fix subclasses of AreaPtg 'AreaN~' which are used in shared formulas. - see similar comment in ReferencePtg - - - zero based, Unsigned 16 bit - - - zero based, Unsigned 16 bit - - - zero based, Unsigned 8 bit - - - zero based, Unsigned 8 bit - - - Set the last column irrespective of the bitmasks - - - @return the first row in the area - - - @return last row in the range (x2 in x1,y1-x2,y2) - - - @return the first column number in the area. - - - @return whether or not the first row is a relative reference or not. - - - @return Isrelative first column to relative or not - - - @return lastcolumn in the area - - - @return last column and bitmask (the raw field) - - - @return last row relative or not - - - @return lastcol relative or not - - - An XSSF only special kind of Ptg, which stores a range of - sheet / book references in string form. - - - An XSSF only special kind of Ptg, which stores the sheet / book - reference in string form. - - - An XSSF only representation of a reference to a deleted area - - - A Name, be that a Named Range or a Function / User Defined - Function, Addressed in the HSSF External Sheet style. - -

This is XSSF only, as it stores the sheet / book references - in String form. The HSSF equivalent using indexes is {@link NameXPtg}

-
- -

Title: XSSF 3D Reference

-

Description: Defines a cell in an external or different sheet.

-

REFERENCE:

- -

This is XSSF only, as it stores the sheet / book references - in String form. The HSSF equivalent using indexes is {@link Ref3DPtg}

-
- - ReferencePtgBase - handles references (such as A1, A2, IA4) - @author Andrew C. Oliver (acoliver@apache.org) - @author Jason Height (jheight at chariot dot net dot au) - - - The row index - zero based Unsigned 16 bit value - - - Field 2 - - lower 8 bits is the zero based Unsigned byte column index - - bit 16 - IsRowRelative - - bit 15 - IsColumnRelative - - - Takes in a String representation of a cell reference and Fills out the - numeric fields. - - - Returns the row number as a short, which will be - wrapped (negative) for values between 32769 and 65535 - - - Returns the row number as an int, between 0 and 65535 - - - Evaluator for returning cells or sheets for a range of sheets - - - Optional Extension to the likes of {@link AreaEval} and - {@link NPOI.SS.Formula.Eval.AreaEvalBase}, - which allows for looking up 3D (sheet+row+column) Evaluations - - - Common interface of {@link AreaEval} and {@link org.apache.poi.ss.formula.eval.AreaEvalBase}, - for 2D (row+column) evaluations - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @param rowIndex relative row index (zero based) - @param columnIndex relative column index (zero based) - @return element at the specified row and column position - - - @param rowIndex relative row index (zero based) - @return a single row {@link TwoDEval} - - - @param columnIndex relative column index (zero based) - @return a single column {@link TwoDEval} - - - @return true if the cell at row and col is a subtotal - - - @return true if the area has just a single row, this also includes - the trivial case when the area has just a single cell. - - - @return true if the area has just a single column, this also includes - the trivial case when the area has just a single cell. - - - @param sheetIndex sheet index (zero based) - @param rowIndex relative row index (zero based) - @param columnIndex relative column index (zero based) - @return element at the specified row and column position - - - A UDFFinder that can retrieve functions both by name and by fake index. - - @author Yegor Kozlov - - - Collects Add-in libraries and VB macro functions toGether into one UDF Finder - - @author PUdalau - - - Common interface for "Add-in" libraries and user defined function libraries. - - @author PUdalau - - - Returns executor by specified name. Returns null if the function name is unknown. - - @param name Name of function. - @return Function executor. - - - - Returns executor by specified name. - - Name of function. - Function executor. null if not found - - - - Add a new toolpack - - - - - Provides access to a {@link WorkbookEvaluator}, eg for use with - {@link CollaboratingWorkbooksEnvironment} - - For POI internal use only - - - Provide the underlying WorkbookEvaluator - - - - - Manages the all the records associated with a chart sub-stream.
- Includes the Initial {@link BOFRecord} and {@link EOFRecord}. - - @author Josh Micich -
- - All the records between BOF and EOF - - - Groups the sheet protection records for a worksheet. -

- - See OOO excelfileformat.pdf sec 4.18.2 'Sheet Protection in a Workbook - (BIFF5-BIFF8)' - - @author Josh Micich - - - Creates an empty WorksheetProtectionBlock - - - @return true if the specified Record sid is one belonging to - the 'Page Settings Block'. - - - This method Reads {@link WorksheetProtectionBlock} records from the supplied RecordStream - until the first non-WorksheetProtectionBlock record is encountered. As each record is Read, - it is incorporated into this WorksheetProtectionBlock. -

- As per the OOO documentation, the protection block records can be expected to be written - toGether (with no intervening records), but earlier versions of POI (prior to Jun 2009) - didn't do this. Workbooks with sheet protection Created by those earlier POI versions - seemed to be valid (Excel opens them OK). So PO allows continues to support Reading of files - with non continuous worksheet protection blocks. - -

- Note - when POI Writes out this WorksheetProtectionBlock, the records will always be - written in one consolidated block (in the standard ordering) regardless of how scattered the - records were when they were originally Read. - - -

- protect a spreadsheet with a password (not encrypted, just sets protect flags and the password.) - - password to set;Pass null to remove all protection - shouldProtectObjects are protected - shouldProtectScenarios are protected -
- - - Creates an ObjectProtect record with protect set to false. - - - - - - Creates a ScenarioProtect record with protect set to false. - - - - - - Creates a Password record with password set to 0x0000. - - - - - - the ProtectRecord. If one is not contained in the sheet, then one is created. - - - - - the PasswordRecord. If one is not Contained in the sheet, then one is Created. - - - - - The Chart3d record specifies that the plot area of the chart group is rendered in a 3-D scene - and also specifies the attributes of the 3-D plot area. The preceding chart group type MUST be - of type bar, pie, line, area, or surface. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - A signed integer that specifies the clockwise rotation, in degrees, of the 3-D plot area - around a vertical line through the center of the 3-D plot area. MUST be greater than or - equal to 0 and MUST be less than or equal to 360. - - - - - A signed integer that specifies the rotation, in degrees, of the 3-D plot area around - a horizontal line through the center of the 3-D plot area.MUST be greater than or equal - to -90 and MUST be less than or equal to 90. - - - - - A signed integer that specifies the field of view angle for the 3-D plot area. - MUST be greater than or equal to zero and less than 200. - - - - - If fNotPieChart is 0, then this is an unsigned integer that specifies the thickness of the pie for a pie chart group. - If fNotPieChart is 1, then this is a signed integer that specifies the height of the 3-D plot area as a percentage of its width. - - - - - A signed integer that specifies the depth of the 3-D plot area as a percentage of its width. - MUST be greater than or equal to 1 and less than or equal to 2000. - - - - - An unsigned integer that specifies the width of the gap between the series and the front and - back edges of the 3-D plot area as a percentage of the data point depth divided by 2. - If fCluster is not 1 and chart group type is not a bar then pcGap also specifies distance - between adjacent series as a percentage of the data point depth. MUST be less than or equal to 500. - - - - - A bit that specifies whether the 3-D plot area is rendered with a vanishing point. - If fNotPieChart is 0 the value MUST be 0. If fNotPieChart is 1 then the value - MUST be a value from the following - true Perspective vanishing point applied based on value of pcDist. - false No vanishing point applied. - - - - - specifies whether data points are clustered together in a bar chart group. - If chart group type is not bar or pie, value MUST be ignored. If chart group type is pie, - value MUST be 0. If chart group type is bar, then the value MUST be a value from the following - true Data points are clustered. - false Data points are not clustered. - - - - - A bit that specifies whether the height of the 3-D plot area is automatically determined. - If fNotPieChart is 0 then this MUST be 0. If fNotPieChart is 1 then the value MUST be a value from the following table: - false The value of pcHeight is used to determine the height of the 3-D plot area - true The height of the 3-D plot area is automatically determined - - - - - A bit that specifies whether the chart group type is pie. MUST be a value from the following : - false Chart group type MUST be pie. - true Chart group type MUST not be pie. - - - - - Whether the walls are rendered in 2-D. If fPerspective is 1 then this MUST be ignored. - If the chart group type is not bar, area or pie this MUST be ignored. - If the chart group is of type bar and fCluster is 0, then this MUST be ignored. - If the chart group type is pie this MUST be 0 and MUST be ignored. - If the chart group type is bar or area, then the value MUST be a value from the following - false Chart walls and floor are rendered in 3D. - true Chart walls are rendered in 2D and the chart floor is not rendered. - - - - - The CrtLayout12A record specifies layout information for a plot area. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - specifies the type of plot area for the layout target. - false Outer plot area - The bounding rectangle that includes the axis labels, axis titles, data table (2) and plot area of the chart. - true Inner plot area – The rectangle bounded by the chart axes. - - - - - specifies the checksum - - - - - specifies the horizontal offset of the plot area’s upper-left corner, relative to the upper-left corner of the chart area - - - - - specifies the vertical offset of the plot area’s upper-left corner, relative to the upper-left corner of the chart area - - - - - specifies the width of the plot area - - - - - specifies the height of the plot area - - - - - A CrtLayout12Mode structure that specifies the meaning of x. - - - - - A CrtLayout12Mode structure that specifies the meaning of y. - - - - - A CrtLayout12Mode structure that specifies the meaning of dx. - - - - - A CrtLayout12Mode structure that specifies the meaning of dy. - - - - - An Xnum (section 2.5.342) value that specifies a horizontal offset. The meaning is determined by wXMode. - - - - - An Xnum value that specifies a vertical offset. The meaning is determined by wYMode. - - - - - An Xnum value that specifies a width or an horizontal offset. The meaning is determined by wWidthMode. - - - - - An Xnum value that specifies a height or an vertical offset. The meaning is determined by wHeightMode. - - - - - The CrtLayout12Mode specifies a layout mode. Each layout mode specifies a different - meaning of the x, y, dx, and dy fields of CrtLayout12 and CrtLayout12A. - - - - - Position and dimension (2) are determined by the application. x, y, dx and dy MUST be ignored. - - - - - x and y specify the offset of the top left corner, relative to its default position, - as a fraction of the chart area. MUST be greater than or equal to -1.0 and MUST be - less than or equal to 1.0. dx and dy specify the width and height, as a fraction of - the chart area, MUST be greater than or equal to 0.0, and MUST be less than or equal to 1.0. - - - - - x and y specify the offset of the upper-left corner; dx and dy specify the offset of the bottom-right corner. - x, y, dx and dy are specified relative to the upper-left corner of the chart area as a fraction of the chart area. - x, y, dx and dy MUST be greater than or equal to 0.0, and MUST be less than or equal to 1.0. - - - - - The CrtLayout12 record specifies the layout information for attached label, when contained - in the sequence of records that conforms to the ATTACHEDLABEL rule, - or legend, when contained in the sequence of records that conforms to the LD rule. - - - - - automatic layout type of the legend. - MUST be ignored when this record is in the sequence of records that conforms to the ATTACHEDLABEL rule. - MUST be a value from the following table: - 0x0 Align to the bottom - 0x1 Align to top right corner - 0x2 Align to the top - 0x3 Align to the right - 0x4 Align to the left - - - - - specifies the checksum of the values in the order as follows, - - - - - A CrtLayout12Mode structure that specifies the meaning of x. - - - - - A CrtLayout12Mode structure that specifies the meaning of y. - - - - - A CrtLayout12Mode structure that specifies the meaning of dx. - - - - - A CrtLayout12Mode structure that specifies the meaning of dy. - - - - - An Xnum (section 2.5.342) value that specifies a horizontal offset. The meaning is determined by wXMode. - - - - - An Xnum value that specifies a vertical offset. The meaning is determined by wYMode. - - - - - An Xnum value that specifies a width or an horizontal offset. The meaning is determined by wWidthMode. - - - - - An Xnum value that specifies a height or an vertical offset. The meaning is determined by wHeightMode. - - - - - The CrtMlFrt record specifies additional properties for chart elements, as specified by - the Chart Sheet Substream ABNF. These properties complement the record to which they - correspond, and are stored as a structure chain defined in XmlTkChain. An application - can ignore this record without loss of functionality, except for the additional properties. - If this record is longer than 8224 bytes, it MUST be split into several records. The first - section of the data appears in this record and subsequent sections appear in one or more - CrtMlFrtContinue records that follow this record. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - specifies the color, size, and shape of the associated data markers that appear on line, radar, - and scatter chart groups. The associated data markers are specified by the preceding DataFormat record. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - the border color of the data marker. - - - - - the interior color of the data marker. - - - - - the type of data marker. - - - - - whether the data marker is automatically generated. - false The data marker is not automatically generated. - true The data marker type, size, and color are automatically generated and the values are set accordingly in this record. - - - - - whether to show the data marker interior. - false The data marker interior is shown. - true The data marker interior is not shown. - - - - - whether to show the data marker border. - false The data marker border is shown. - true The data marker border is not shown. - - - - - the border color of the data marker. - - - - - the interior color of the data marker. - - - - - specifies the size in twips of the data marker. - - - - - The PieFormat record specifies the distance of a data point or data points in a series from the center of one of the following: - The plot area for a doughnut or pie chart group. - The primary pie in a pie of pie or bar of pie chart group. - The secondary bar/pie of a pie of pie chart group. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - A signed integer that specifies the distance of a data point or data points in a series from the center of one of the following: - The plot area for a doughnut or pie chart group. - The primary pie in a pie of pie or bar of pie chart group. - The secondary bar/pie of a pie of pie chart group. - - - - - The Pie record specifies that the chart group is a pie chart group or - a doughnut chart group, and specifies the chart group attributes. - - - author: Antony liu (antony.apollo at gmail.com) - - - - - An unsigned integer that specifies the starting angle of the first data point, - clockwise from the top of the circle. MUST be less than or equal to 360. - - - - - An unsigned integer that specifies the size of the center hole in a doughnut chart group - as a percentage of the plot area size. MUST be a value from the following table: - 0 Pie chart group. - 10 to 90 Doughnut chart group. - - - - - A bit that specifies whether one data point or more data points in the chart group have shadows. - - - - - A bit that specifies whether the leader lines to the data labels are shown. - - - - FeatFormulaErr2 (Formula Evaluation Shared Feature) common record part - - This record part specifies Formula Evaluation & Error Ignoring data - for a sheet, stored as part of a Shared Feature. It can be found in - records such as {@link FeatRecord}. - For the full meanings of the flags, see pages 669 and 670 - of the Excel binary file format documentation. - - - Common Interface for all Shared Features - - - What errors we should ignore - - - Title: FeatProtection (Protection Shared Feature) common record part - - This record part specifies Protection data for a sheet, stored - as part of a Shared Feature. It can be found in records such - as {@link FeatRecord} - - - 0 means no password. Otherwise indicates the - password verifier algorithm (same kind as - {@link PasswordRecord} and - {@link PasswordRev4Record}) - - - Title: FeatSmartTag (Smart Tag Shared Feature) common record part - - This record part specifies Smart Tag data for a sheet, stored as part - of a Shared Feature. It can be found in records such as {@link FeatRecord}. - It is made up of a hash, and a Set of Factoid Data that Makes up - the smart tags. - For more details, see page 669 of the Excel binary file - format documentation. - - - Title: FtrHeader (Future Record Header) common record part - - This record part specifies a header for a Ftr (Future) - style record, which includes extra attributes above and - beyond those of a traditional record. - - - This MUST match the type on the Containing record - - - This is a FrtFlags - - - MUST be 8 bytes and all zero - - - Title: Unicode String

- Description: Unicode String - just standard fields that are in several records. - It is considered more desirable then repeating it in all of them.

- This is often called a XLUnicodeRichExtendedString in MS documentation.

- REFERENCE: PG 264 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)

- REFERENCE: PG 951 Excel Binary File Format (.xls) Structure Specification v20091214 - - - Our handling of Equals is inconsistent with CompareTo. The trouble is because we don't truely understand - rich text fields yet it's difficult to make a sound comparison. - - @param o The object to Compare. - @return true if the object is actually Equal. - - - construct a unicode string record and fill its fields, ID is ignored - @param in the RecordInputstream to read the record from - - - Adds a font run to the formatted string. - - If a font run exists at the current charcter location, then it is - Replaced with the font run to be Added. - - - Swaps all use in the string of one font index - for use of a different font index. - Normally only called when fonts have been - Removed / re-ordered - - - unlike the real records we return the same as "getString()" rather than debug info - @see #getDebugInfo() - @return String value of the record - - - return a character representation of the fields of this record - - - @return String of output for biffviewer etc. - - - - Serialises out the String. There are special rules - about where we can and can't split onto - Continue records. - - - get the number of characters in the string, - as an un-wrapped int - - @return number of characters - - - Get the option flags which among other things return if this is a 16-bit or - 8 bit string - - @return optionflags bitmask - - - - @return the actual string this Contains as a java String object - - - Returns our size, excluding our - 4 byte header - - - A decorated {@link RecordInputStream} that can read primitive data types - (short, int, long, etc.) spanned across a {@link ContinueRecord } boundary. - -

- Most records construct themselves from {@link RecordInputStream}. - This class assumes that a {@link ContinueRecord} record break always occurs at the type boundary, - however, it is not always so. -

- Two attachments to Bugzilla 50779 - demonstrate that a CONTINUE break can appear right in between two bytes of a unicode character - or between two bytes of a short. The problematic portion of the data is - in a Asian Phonetic Settings Block (ExtRst) of a UnicodeString. -

- {@link RecordInputStream} greedily requests the bytes to be read and stumbles on such files with a - "Not enough data (1) to read requested (2) bytes" exception. The ContinuableRecordInput - class circumvents this "type boundary" rule and Reads data byte-by-byte rolling over CONTINUE if necessary. -

- -

- YK: For now (March 2011) this class is only used to read - @link NPOI.HSSF.Record.Common.UnicodeString.ExtRst} blocks of a UnicodeString. - -

- - @author Yegor Kozlov -
- - - @author Josh Micich - - - Title: FeatHdr (Feature Header) Record - - This record specifies common information for Shared Features, and - specifies the beginning of a collection of records to define them. - The collection of data (Globals Substream ABNF, macro sheet substream - ABNF or worksheet substream ABNF) specifies Shared Feature data. - - - Specifies the enhanced protection type. Used to protect a - shared workbook by restricting access to some areas of it - - - Specifies that formula errors should be ignored - - - Specifies the smart tag type. Recognises certain - types of entries (proper names, dates/times etc) and - flags them for action - - - Specifies the shared list type. Used for a table - within a sheet - - - 0x00000000 = rgbHdrData not present - 0xffffffff = rgbHdrData present - - - We need a BOFRecord to make sense of this... - - - Title: Feat (Feature) Record - - This record specifies Shared Features data. It is normally paired - up with a {@link FeatHdrRecord}. - - - See SHAREDFEATURES_* on {@link FeatHdrRecord} - - - Only matters if type is ISFFEC2 - - - Contents depends on isf_sharedFeatureType : - ISFPROTECTION -> FeatProtection - ISFFEC2 -> FeatFormulaErr2 - ISFFACTOID -> FeatSmartTag - - - Construct a new FtCblsSubRecord and - fill its data with the default values - - - Convert this record to string. - Used by BiffViewer and other utilities. - - - Serialize the record data into the supplied array of bytes - - @param out the stream to serialize into - - - @return id of this record. - - - - - - - - - The xtHeader.drType field MUST be equal to 0x07. - - - - - The xtHeader.drType field MUST be equal to 0x02. - - - - - The xtHeader.drType field MUST be equal to 0x03. - - - - - The xtHeader.drType field MUST be equal to 0x04. - - - - - The xtHeader.drType field MUST be equal to 0x01. - - - - - The xtHeader.drType field MUST be equal to 0x05. - - - - - An array of Unicode characters. The size of the array, in characters, is specified - by the cchValue field. The size of the field, in bytes, MUST equal the result of - the following formula:cchValue * 2. - - - - - The chartStyle.xtHeader.xmlTkTag MUST be equal to 0x0003. - - - - - The nInterval.xtHeader.xmlTkTag field MUST be equal to 0x0052. - - - - - @author Josh Micich - - - @return data validation type of this constraint - @see ValidationType - - - @return the operator used for this constraint - @see OperatorType - - get or set then comparison operator for this constraint - - - - - get or set the formula for expression 1. May be null - - - - - get or set the formula for expression 2. May be null - - - - Creates a list constraint - - - Creates a number based data validation constraint. The text values entered for expr1 and expr2 - can be either standard Excel formulas or formatted number values. If the expression starts - with '=' it is Parsed as a formula, otherwise it is Parsed as a formatted number. - - @param validationType one of {@link NPOI.SS.UserModel.DataValidationConstraint.ValidationType#ANY}, - {@link NPOI.SS.UserModel.DataValidationConstraint.ValidationType#DECIMAL}, - {@link NPOI.SS.UserModel.DataValidationConstraint.ValidationType#INTEGER}, - {@link NPOI.SS.UserModel.DataValidationConstraint.ValidationType#TEXT_LENGTH} - @param comparisonOperator any constant from {@link NPOI.SS.UserModel.DataValidationConstraint.OperatorType} enum - @param expr1 date formula (when first char is '=') or formatted number value - @param expr2 date formula (when first char is '=') or formatted number value - - - Creates a time based data validation constraint. The text values entered for expr1 and expr2 - can be either standard Excel formulas or formatted time values. If the expression starts - with '=' it is Parsed as a formula, otherwise it is Parsed as a formatted time. To parse - formatted times, two formats are supported: "HH:MM" or "HH:MM:SS". This is contrary to - Excel which uses the default time format from the OS. - - @param comparisonOperator constant from {@link NPOI.SS.UserModel.DataValidationConstraint.OperatorType} enum - @param expr1 date formula (when first char is '=') or formatted time value - @param expr2 date formula (when first char is '=') or formatted time value - - - Creates a date based data validation constraint. The text values entered for expr1 and expr2 - can be either standard Excel formulas or formatted date values. If the expression starts - with '=' it is Parsed as a formula, otherwise it is Parsed as a formatted date (Excel uses - the same convention). To parse formatted dates, a date format needs to be specified. This - is contrary to Excel which uses the default short date format from the OS. - - @param comparisonOperator constant from {@link NPOI.SS.UserModel.DataValidationConstraint.OperatorType} enum - @param expr1 date formula (when first char is '=') or formatted date value - @param expr2 date formula (when first char is '=') or formatted date value - @param dateFormat ignored if both expr1 and expr2 are formulas. Default value is "YYYY/MM/DD" - otherwise any other valid argument for SimpleDateFormat can be used - @see SimpleDateFormat - - - Distinguishes formula expressions from simple value expressions. This logic is only - required by a few factory methods in this class that create data validation constraints - from more or less the same parameters that would have been entered in the Excel UI. The - data validation dialog box uses the convention that formulas begin with '='. Other methods - in this class follow the POI convention (formulas and values are distinct), so the '=' - convention is not used there. - - @param textExpr a formula or value expression - @return all text After '=' if textExpr begins with '='. Otherwise null if textExpr does not begin with '=' - - - @return null if numberStr is null - - - @return null if timeStr is null - - - @param dateFormat pass null for default YYYYMMDD - @return null if timeStr is null - - - @return both Parsed formulas (for expression 1 and 2). - - - @return The Parsed token array representing the formula or value specified. - Empty array if both formula and value are null - - - Convenience method - @return true if this constraint is a 'list' validation - - - Convenience method - @return true if this constraint is a 'list' validation with explicit values - - - @return the numeric value for expression 1. May be null - - - @return the numeric value for expression 2. May be null - - - HSSFDataFormatter contains methods for formatting the value stored in an - HSSFCell. This can be useful for reports and GUI presentations when you - need to display data exactly as it appears in Excel. Supported formats - include currency, SSN, percentages, decimals, dates, phone numbers, zip - codes, etc. - - Internally, formats will be implemented using subclasses of - such as and . Therefore the - formats used by this class must obey the same pattern rules as these Format - subclasses. This means that only legal number pattern characters ("0", "#", - ".", "," etc.) may appear in number formats. Other characters can be - inserted before or after the number pattern to form a - prefix or suffix. - - For example the Excel pattern "$#,##0.00 "USD"_);($#,##0.00 "USD")" - will be correctly formatted as "$1,000.00 USD" or "($1,000.00 USD)". - However the pattern "00-00-00" is incorrectly formatted by - DecimalFormat as "000000--". For Excel formats that are not compatible with - DecimalFormat, you can provide your own custom {@link Format} implementation - via HSSFDataFormatter.AddFormat(String,Format). The following - custom formats are already provided by this class: - -
-             
  • SSN "000-00-0000"
  • -
  • Phone Number "(###) ###-####"
  • -
  • Zip plus 4 "00000-0000"
  • -
-
- - If the Excel format pattern cannot be parsed successfully, then a default - format will be used. The default number format will mimic the Excel General - format: "#" for whole numbers and "#.##########" for decimal numbers. You - can override the default format pattern with - HSSFDataFormatter.DefaultNumberFormat=(Format). Note: the - default format will only be used when a Format cannot be created from the - cell's data format string. - - @author James May (james dot may at fmr dot com) -
- - HSSFDataFormatter contains methods for Formatting the value stored in an - Cell. This can be useful for reports and GUI presentations when you - need to display data exactly as it appears in Excel. Supported Formats - include currency, SSN, percentages, decimals, dates, phone numbers, zip - codes, etc. - - Internally, Formats will be implemented using subclasses of - such as and . Therefore the - Formats used by this class must obey the same pattern rules as these FormatBase - subclasses. This means that only legal number pattern characters ("0", "#", - ".", "," etc.) may appear in number formats. Other characters can be - inserted before or after the number pattern to form a - prefix or suffix. - - - For example the Excel pattern "$#,##0.00 "USD"_);($#,##0.00 "USD")" - will be correctly Formatted as "$1,000.00 USD" or "($1,000.00 USD)". - However the pattern "00-00-00" is incorrectly Formatted by - DecimalFormat as "000000--". For Excel Formats that are not compatible with - DecimalFormat, you can provide your own custom {@link FormatBase} implementation - via HSSFDataFormatter.AddFormat(String,FormatBase). The following - custom Formats are already provided by this class: - -
-             
  • SSN "000-00-0000"
  • -
  • Phone Number "(###) ###-####"
  • -
  • Zip plus 4 "00000-0000"
  • -
-
- - If the Excel FormatBase pattern cannot be Parsed successfully, then a default - FormatBase will be used. The default number FormatBase will mimic the Excel General - FormatBase: "#" for whole numbers and "#.##########" for decimal numbers. You - can override the default FormatBase pattern with - HSSFDataFormatter.setDefaultNumberFormat(FormatBase). Note: the - default FormatBase will only be used when a FormatBase cannot be Created from the - cell's data FormatBase string. - - @author James May (james dot may at fmr dot com) - -
- - Pattern to find a number FormatBase: "0" or "#" - - - Pattern to find days of week as text "ddd...." - - - Pattern to find "AM/PM" marker - - - A regex to find patterns like [$$-1009] and [$�-452]. - Note that we don't currently process these into locales - - - A regex to identify a fraction pattern. - This requires that replaceAll("\\?", "#") has already been called - - - A regex to strip junk out of fraction formats - - - * Cells formatted with a date or time format and which contain invalid date or time values - * show 255 pound signs ("#"). - - - General FormatBase for whole numbers. - - - General FormatBase for decimal numbers. - - - A default FormatBase to use when a number pattern cannot be Parsed. - - - Creates a formatter using the {@link Locale#getDefault() default locale}. - - - Constructor - - - Creates a formatter using the given locale. - - @param emulateCsv whether to emulate CSV output. - - - Return a FormatBase for the given cell if one exists, otherwise try to - Create one. This method will return null if the any of the - following is true: -
    -
  • the cell's style is null
  • -
  • the style's data FormatBase string is null or empty
  • -
  • the FormatBase string cannot be recognized as either a number or date
  • -
- - @param cell The cell to retrieve a FormatBase for - @return A FormatBase for the FormatBase String -
- - Create and return a FormatBase based on the FormatBase string from a cell's - style. If the pattern cannot be Parsed, return a default pattern. - - @param cell The Excel cell - @return A FormatBase representing the excel FormatBase. May return null. - - - Return true if the double value represents a whole number - @param d the double value to check - @return true if d is a whole number - - - Returns a default FormatBase for a cell. - @param cell The cell - @return a default FormatBase - - - Returns the Formatted value of an Excel date as a String based - on the cell's DataFormat. i.e. "Thursday, January 02, 2003" - , "01/02/2003" , "02-Jan" , etc. - - @param cell The cell - @return a Formatted date string - - - Returns the Formatted value of an Excel number as a String - based on the cell's DataFormat. Supported Formats include - currency, percents, decimals, phone number, SSN, etc.: - "61.54%", "$100.00", "(800) 555-1234". - - @param cell The cell - @return a Formatted number string - - - Formats the given raw cell value, based on the supplied - FormatBase index and string, according to excel style rules. - @see #FormatCellValue(Cell) - - - Performs Excel-style date formatting, using the - supplied Date and format - - - Formats the given raw cell value, based on the supplied - format index and string, according to excel style rules. - @see #formatCellValue(Cell) - - - - Returns the Formatted value of a cell as a String regardless - of the cell type. If the Excel FormatBase pattern cannot be Parsed then the - cell value will be Formatted using a default FormatBase. - - When passed a null or blank cell, this method will return an empty - String (""). Formulas in formula type cells will not be evaluated. - - - @param cell The cell - @return the Formatted cell value as a String - - - - Returns the Formatted value of a cell as a String regardless - of the cell type. If the Excel FormatBase pattern cannot be Parsed then the - cell value will be Formatted using a default FormatBase. - - When passed a null or blank cell, this method will return an empty - String (""). Formula cells will be evaluated using the given - {@link HSSFFormulaEvaluator} if the evaluator is non-null. If the - evaluator is null, then the formula String will be returned. The caller - is responsible for setting the currentRow on the evaluator - - - @param cell The cell (can be null) - @param evaluator The HSSFFormulaEvaluator (can be null) - @return a string value of the cell - - - - Sets a default number FormatBase to be used when the Excel FormatBase cannot be - Parsed successfully. Note: This is a fall back for when an error - occurs while parsing an Excel number FormatBase pattern. This will not - affect cells with the General FormatBase. - - - The value that will be passed to the FormatBase's FormatBase method (specified - by java.text.FormatBase#FormatBase) will be a double value from a - numeric cell. Therefore the code in the FormatBase method should expect a - Number value. - - - @param FormatBase A FormatBase instance to be used as a default - @see java.text.FormatBase#FormatBase - - - Adds a new FormatBase to the available formats. - - The value that will be passed to the FormatBase's FormatBase method (specified - by java.text.FormatBase#FormatBase) will be a double value from a - numeric cell. Therefore the code in the FormatBase method should expect a - Number value. - - @param excelformatStr The data FormatBase string - @param FormatBase A FormatBase instance - - - Creates a formatter using the given locale. - - - Creates a formatter using the {@link Locale#getDefault() default locale}. - - - Utility class for creating data validation cells - - @author Dragos Buleandra (dragos.buleandra@trade2b.ro) - - - Sets the title and text for the prompt box . Prompt box is displayed when - the user selects a cell which belongs to this validation object . In - order for a prompt box to be displayed you should also use method - SetShowPromptBox( bool show ) - - @param title The prompt box's title - @param text The prompt box's text - - - Sets the title and text for the error box . Error box is displayed when - the user enters an invalid value int o a cell which belongs to this - validation object . In order for an error box to be displayed you should - also use method SetShowErrorBox( bool show ) - - @param title The error box's title - @param text The error box's text - - - - get or set the error style for error box - - - - - Setting this allows an empty object as a valid value. Retrieve the settings for empty cells allowed. - @return True if this object should treats empty as valid value , false otherwise - - true if this object should treats empty as valid value, false otherwise - - - - Useful for list validation objects . - Useful only list validation objects . This method always returns false if the object isn't a list validation object - - - - Sets the behaviour when a cell which belongs to this object is selected - - true if an prompt box should be displayed , false otherwise - - - Sets the behaviour when an invalid value is entered - - true if an error box should be displayed , false otherwise - - - @return Prompt box's title or null - - - @return Prompt box's text or null - - - @return Error box's title or null - - - @return Error box's text or null - - - Constructor which Initializes the cell range on which this object will be - applied - @param constraint - - - @author Radhakrishnan J - - - - @author Radhakrishnan J - - - - Contains methods for dealing with Excel dates. - - @author Michael Harhen - @author Glen Stampoultzis (glens at apache.org) - @author Dan Sherman (dsherman at isisph.com) - @author Hack Kampbjorn (hak at 2mba.dk) - @author Alex Jacoby (ajacoby at gmail.com) - @author Pavel Krupets (pkrupets at palmtreebusiness dot com) - - - - Contains methods for dealing with Excel dates. - @author Michael Harhen - @author Glen Stampoultzis (glens at apache.org) - @author Dan Sherman (dsherman at Isisph.com) - @author Hack Kampbjorn (hak at 2mba.dk) - @author Alex Jacoby (ajacoby at gmail.com) - @author Pavel Krupets (pkrupets at palmtreebusiness dot com) - @author Thies Wellpott - - - - The following patterns are used in {@link #isADateFormat(int, String)} - - - - Given a Calendar, return the number of days since 1899/12/31. - - the date - if set to true [use1904windowing]. - number of days since 1899/12/31 - - - - Given a Date, Converts it into a double representing its internal Excel representation, - which Is the number of days since 1/1/1900. Fractional days represent hours, minutes, and seconds. - - Excel representation of Date (-1 if error - test for error by Checking for less than 0.1) - the Date - - - - Gets the excel date. - - The year. - The month. - The day. - The hour. - The minute. - The second. - Should 1900 or 1904 date windowing be used? - - - - - Given a Date, Converts it into a double representing its internal Excel representation, - which Is the number of days since 1/1/1900. Fractional days represent hours, minutes, and seconds. - - The date. - Should 1900 or 1904 date windowing be used? - Excel representation of Date (-1 if error - test for error by Checking for less than 0.1) - - - - Given an Excel date with using 1900 date windowing, and converts it to a java.util.Date. - Excel Dates and Times are stored without any timezone - information. If you know (through other means) that your file - uses a different TimeZone to the system default, you can use - this version of the getJavaDate() method to handle it. - - The Excel date. - null if date is not a valid Excel date - - - Given an Excel date with either 1900 or 1904 date windowing, - Converts it to a Date. - - NOTE: If the default TimeZone in Java uses Daylight - Saving Time then the conversion back to an Excel date may not give - the same value, that Is the comparison - excelDate == GetExcelDate(GetJavaDate(excelDate,false)) - Is not always true. For example if default timezone Is - Europe/Copenhagen, on 2004-03-28 the minute after - 01:59 CET Is 03:00 CEST, if the excel date represents a time between - 02:00 and 03:00 then it Is Converted to past 03:00 summer time - - @param date The Excel date. - @param use1904windowing true if date uses 1904 windowing, - or false if using 1900 date windowing. - @return Java representation of the date, or null if date Is not a valid Excel date - @see TimeZone - - - Given an Excel date with either 1900 or 1904 date windowing, - converts it to a java.util.Date. - - Excel Dates and Times are stored without any timezone - information. If you know (through other means) that your file - uses a different TimeZone to the system default, you can use - this version of the getJavaDate() method to handle it. - - @param date The Excel date. - @param tz The TimeZone to evaluate the date in - @param use1904windowing true if date uses 1904 windowing, - or false if using 1900 date windowing. - @return Java representation of the date, or null if date is not a valid Excel date - - - Given an Excel date with either 1900 or 1904 date windowing, - converts it to a java.util.Date. - - Excel Dates and Times are stored without any timezone - information. If you know (through other means) that your file - uses a different TimeZone to the system default, you can use - this version of the getJavaDate() method to handle it. - - @param date The Excel date. - @param tz The TimeZone to evaluate the date in - @param use1904windowing true if date uses 1904 windowing, - or false if using 1900 date windowing. - @param roundSeconds round to closest second - @return Java representation of the date, or null if date is not a valid Excel date - - - Get EXCEL date as Java Calendar with given time zone. - @param date The Excel date. - @param use1904windowing true if date uses 1904 windowing, - or false if using 1900 date windowing. - @param timeZone The TimeZone to evaluate the date in - @return Java representation of the date, or null if date is not a valid Excel date - - - - Get EXCEL date as Java Calendar (with default time zone). This is like GetJavaDate(double, boolean) but returns a Calendar object. - - The Excel date. - true if date uses 1904 windowing, or false if using 1900 date windowing. - - null if date is not a valid Excel date - - - - Converts a string of format "HH:MM" or "HH:MM:SS" to its (Excel) numeric equivalent - - The time STR. - a double between 0 and 1 representing the fraction of the day - - - - Converts the time internal. - - The time STR. - - - - - Given a format ID and its format String, will Check to see if the - format represents a date format or not. - Firstly, it will Check to see if the format ID corresponds to an - internal excel date format (eg most US date formats) - If not, it will Check to see if the format string only Contains - date formatting Chars (ymd-/), which covers most - non US date formats. - - The index of the format, eg from ExtendedFormatRecord.GetFormatIndex - The format string, eg from FormatRecord.GetFormatString - - true if [is A date format] [the specified format index]; otherwise, false. - - - - - Converts a string of format "YYYY/MM/DD" to its (Excel) numeric equivalent - - The date STR. - a double representing the (integer) number of days since the start of the Excel epoch - - - - Parses the YYYYMMDD date internal. - - The time string. - - - - - Parses the int. - - The string value. - Name of the field. - The range max. - - - - - Parses the int. - - The STR val. - Name of the field. - The lower limit. - The upper limit. - - - - - Given a format ID this will Check whether the format represents an internal excel date format or not. - - The format. - - - - Check if a cell Contains a date - Since dates are stored internally in Excel as double values - we infer it Is a date if it Is formatted as such. - - The cell. - - - - Check if a cell contains a date, Checking only for internal excel date formats. - As Excel stores a great many of its dates in "non-internal" date formats, you will not normally want to use this method. - - The cell. - - - - Given a double, Checks if it Is a valid Excel date. - - the double value. - - true if [is valid excel date] [the specified value]; otherwise, false. - - - - Utility for delaying the concatenation of multiple byte arrays. Doing this up-front - causes significantly more copying, which for a large number of byte arrays can cost - a large amount of time. - - - Clears the array (sets the concatenated length back to zero. - - - Concatenates an array onto the end of our array. - This is a relatively fast operation. - - @param array the array to concatenate. - @throws ArgumentException if {@code array} is {@code null}. - - - Gets the concatenated contents as a single byte array. - - This is a slower operation, but the concatenated array is stored off as a single - array again so that subsequent calls will not perform Additional copying. - - @return the byte array. Returns {@code null} if no data has been placed into it. - - - Base class of all the exceptions that POI throws in the event - that it's given a file that isn't supported - - - - Generates escher records when provided the byte array containing those records. - @author Glen Stampoultzis - @author Nick Burch (nick at torchbox . com) - - - - - The escher record factory interface allows for the creation of escher - records from a pointer into a data array. - @author Glen Stampoultzis (glens at apache.org) - - - - - Create a new escher record from the data provided. Does not attempt - to Fill the contents of the record however. - - The data. - The off set. - - - - - Initializes a new instance of the class. - - - - - Generates an escher record including the any children contained under that record. - An exception is thrown if the record could not be generated. - - The byte array containing the records - The starting offset into the byte array - The generated escher record - - - - Converts from a list of classes into a map that Contains the record id as the key and - the Constructor in the value part of the map. It does this by using reflection to look up - the RECORD_ID field then using reflection again to find a reference to the constructor. - - The records to convert - The map containing the id/constructor pairs. - - - - Escher array properties are the most wierd construction ever invented - with all sorts of special cases. I'm hopeful I've got them all. - @author Glen Stampoultzis (glens at superlinksoftware.com) - - - - - A complex property differs from a simple property in that the data can not fit inside a 32 bit - integer. See the specification for more detailed information regarding exactly what is - stored here. - @author Glen Stampoultzis - - - - - This is the abstract base class for all escher properties. - @see EscherOptRecord - @author Glen Stampoultzis (glens at apache.org) - - - - - Initializes a new instance of the class. - - The id is distinct from the actual property number. The id includes the property number the blip id - flag and an indicator whether the property is complex or not. - - - - Initializes a new instance of the class.The three parameters are combined to form a property - id. - - The property number. - if set to true [is complex]. - if set to true [is blip id]. - - - - Escher properties consist of a simple fixed Length part and a complex variable Length part. - The fixed Length part is Serialized first. - - The data. - The pos. - - - - - Escher properties consist of a simple fixed Length part and a complex variable Length part. - The fixed Length part is Serialized first. - - The data. - The pos. - - - - - Gets the id. - - The id. - - - - Gets the property number. - - The property number. - - - - Gets a value indicating whether this instance is complex. - - - true if this instance is complex; otherwise, false. - - - - - Gets a value indicating whether this instance is blip id. - - - true if this instance is blip id; otherwise, false. - - - - - Gets the name. - - The name. - - - - Most properties are just 6 bytes in Length. Override this if we're - dealing with complex properties. - - The size of the property. - - - - Create a complex property using the property id and a byte array containing the complex - data value. - - The id consists of the property number, a flag indicating whether this is a blip id and a flag - indicating that this is a complex property. - The value of this property. - - - - Create a complex property using the property number, a flag to indicate whether this is a - blip reference and the complex property data. - - The property number. - Whether this is a blip id. Should be false. - The value of this complex property. - - - - Serializes the simple part of this property. ie the first 6 bytes. - - - - - - - - Serializes the complex part of this property - - The data array to Serialize to - The offset within data to start serializing to. - The number of bytes Serialized. - - - - Determine whether this property is equal to another property. - - The object to compare to. - True if the objects are equal. - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Gets the complex data. - - The complex data. - - - - Caclulates the number of bytes required to Serialize this property. - - Number of bytes - - - The size of the header that goes at the - start of the array, before the data - - - Normally, the size recorded in the simple data (for the complex - data) includes the size of the header. - There are a few cases when it doesn't though... - - - When Reading a property from data stream remeber if the complex part is empty and Set this flag. - - - - Gets the element. - - The index. - - - - - Sets the element. - - The index. - The element. - - - - Retrieves the string representation for this property. - - - - - - We have this method because the way in which arrays in escher works - is screwed for seemly arbitary reasons. While most properties are - fairly consistent and have a predictable array size, escher arrays - have special cases. - - The data array containing the escher array information - The offset into the array to start Reading from. - the number of bytes used by this complex property. - - - - Serializes the simple part of this property. ie the first 6 bytes. - Needs special code to handle the case when the size doesn't - include the size of the header block - - - - - - - - Sometimes the element size is stored as a negative number. We - negate it and shift it to Get the real value. - - The size of elements. - - - - - @author Glen Stampoultzis - @version $Id: EscherBitmapBlip.java 569827 2007-08-26 15:26:29Z yegor $ - - - - - @author Glen Stampoultzis - @version $Id: EscherBlipRecord.java 569827 2007-08-26 15:26:29Z yegor $ - - - - - This method deSerializes the record from a byte array. - - The byte array containing the escher record information - The starting offset into - May be null since this is not a container record. - The number of bytes Read from the byte array. - - - - Serializes the record to an existing byte array. - - the offset within the byte array - the data array to Serialize to - a listener for begin and end serialization events. - the number of bytes written. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Returns the number of bytes that are required to Serialize this record. - - Number of bytes - - - - The short name for this record - - - - - - Gets or sets the picture data. - - The picture data. - - - - This method deSerializes the record from a byte array. - - The byte array containing the escher record information - The starting offset into - May be null since this is not a container record. - The number of bytes Read from the byte array. - - - - Serializes the record to an existing byte array. - - the offset within the byte array - the data array to Serialize to - a listener for begin and end serialization events. - the number of bytes written. - - - - Toes the string. - - - - - - Returns the number of bytes that are required to Serialize this record. - - Number of bytes - - - - Gets or sets the UID. - - The UID. - - - - Gets or sets the marker. - - The marker. - - - - Represents a bool property. The actual utility of this property is in doubt because many - of the properties marked as bool seem to actually contain special values. In other words - they're not true bools. - @author Glen Stampoultzis - - - - - A simple property is of fixed Length and as a property number in Addition - to a 32-bit value. Properties that can't be stored in only 32-bits are - stored as EscherComplexProperty objects. - @author Glen Stampoultzis (glens at apache.org) - - - - - The id is distinct from the actual property number. The id includes the property number the blip id - flag and an indicator whether the property is complex or not. - - The id. - The property value. - - - - Constructs a new escher property. The three parameters are combined to form a property - id. - - The property number. - if set to true [is complex]. - if set to true [is blip id]. - The property value. - - - - Serialize the simple part of the escher record. - - The data. - The off set. - the number of bytes Serialized. - - - - Escher properties consist of a simple fixed Length part and a complex variable Length part. - The fixed Length part is Serialized first. - - - - - - - - Returns true if one escher property is equal to another. - - The o. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Return the 32 bit value of this property. - - The property value. - - - - Create an instance of an escher bool property. - - The property number (or id) - The 32 bit value of this bool property - - - - Whether this bool property is true - - true if this instance is true; otherwise, false. - - - - Whether this bool property is false - - true if this instance is false; otherwise, false. - - - - The BSE record is related closely to the EscherBlipRecord and stores - extra information about the blip. A blip record is actually stored inside - the BSE record even though the BSE record isn't actually a container record. - @author Glen Stampoultzis - @see EscherBlipRecord - - - - - This method deSerializes the record from a byte array. - - The byte array containing the escher record information - The starting offset into data - May be null since this is not a container record. - The number of bytes Read from the byte array. - - - - This method Serializes this escher record into a byte array. - - The offset into - data to start writing the record data to - The byte array to Serialize to. - a listener for begin and end serialization events. - The number of bytes written. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Retrieve the string representation given a blip id. - - The b. - - - - - Returns the number of bytes that are required to Serialize this record. - - Number of bytes - - - - The short name for this record - - - - - - Gets or sets the expected blip type under windows (failure to match this blip type will result in - Excel converting to this format). - - The blip type win32. - - - - Gets or sets the expected blip type under MacOS (failure to match this blip type will result in - Excel converting to this format). - - The blip type mac OS. - - - - Gets or sets 16 byte MD4 checksum. - - The UID. - - - - Gets or sets the tag. (Unused) - - The tag. - - - - Gets or sets Blip size in stream.. - - The size. - - - - Gets or sets the reference count of this blip. - - The ref. - - - - Gets or sets the offset in the delay stream.. - - The offset. - - - - Defines the way this blip is used. - - The usage. - - - - Gets or sets the blip name. - - The name. - - - - Gets or sets the unused2. - - The unused2. - - - - Gets or sets the unused3. - - The unused3. - - - - Gets or sets the blip record. - - The blip record. - - - - Gets or sets any remaining data in this record. - - The remaining data. - - - - The escher child achor record is used to specify the position of a shape under an - existing group. The first level of shape records use a EscherClientAnchor record instead. - @author Glen Stampoultzis - - - - - This method deSerializes the record from a byte array. - - The byte array containing the escher record information - The starting offset into data - May be null since this is not a container record. - The number of bytes Read from the byte array. - - - - This method Serializes this escher record into a byte array. - - The offset into data to start writing the record data to. - The byte array to Serialize to. - a listener for begin and end serialization events. - The number of bytes written. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Returns the number of bytes that are required to Serialize this record. - - Number of bytes - - - - The record id for the EscherChildAnchorRecord. - - - - - - The short name for this record - - - - - - Gets or sets offset within the parent coordinate space for the top left point. - - The DX1. - - - - Gets or sets the offset within the parent coordinate space for the top left point. - - The dy1. - - - - Gets or sets the offset within the parent coordinate space for the bottom right point. - - The DX2. - - - - Gets or sets the offset within the parent coordinate space for the bottom right point. - - The dy2. - - - - The escher client anchor specifies which rows and cells the shape is bound to as well as - the offsets within those cells. Each cell is 1024 units wide by 256 units long regardless - of the actual size of the cell. The EscherClientAnchorRecord only applies to the top-most - shapes. Shapes contained in groups are bound using the EscherChildAnchorRecords. - @author Glen Stampoultzis - - - - bit[0] - fMove (1 bit): A bit that specifies whether the shape will be kept intact when the cells are moved. - bit[1] - fSize (1 bit): A bit that specifies whether the shape will be kept intact when the cells are resized. If fMove is 1, the value MUST be 1. - bit[2-4] - reserved, MUST be 0 and MUST be ignored - bit[5-15]- Undefined and MUST be ignored. - - it can take values: 0, 2, 3 - - - - This method deSerializes the record from a byte array. - - The byte array containing the escher record information - The starting offset into data - May be null since this is not a container record. - The number of bytes Read from the byte array. - - - - This method Serializes this escher record into a byte array. - - The offset into data to start writing the record data to. - The byte array to Serialize to. - a listener for begin and end serialization events. - The number of bytes written. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Returns the number of bytes that are required to Serialize this record. - - Number of bytes - - - - The record id for this record. - - - - - - The short name for this record - - - - - - Gets or sets the flag. - - 0 = Move and size with Cells, 2 = Move but don't size with cells, 3 = Don't move or size with cells. - - - - Gets or sets The column number for the top-left position. 0 based. - - The col1. - - - - Gets or sets The x offset within the top-left cell. Range is from 0 to 1023. - - The DX1. - - - - Gets or sets The row number for the top-left corner of the shape. - - The row1. - - - - Gets or sets The y offset within the top-left corner of the current shape. - - The dy1. - - - - Gets or sets The column of the bottom right corner of this shape. - - The col2. - - - - Gets or sets The x offset withing the cell for the bottom-right corner of this shape. - - The DX2. - - - - Gets or sets The row number for the bottom-right corner of the current shape. - - The row2. - - - - Gets or sets The y offset withing the cell for the bottom-right corner of this shape. - - The dy2. - - - - Gets or sets the remaining data. - - The remaining data. - - - - The EscherClientDataRecord is used to store client specific data about the position of a - shape within a container. - @author Glen Stampoultzis - - - - - This method deSerializes the record from a byte array. - - The byte array containing the escher record information - The starting offset into data - May be null since this is not a container record. - The number of bytes Read from the byte array. - - - This method Serializes this escher record into a byte array. - - @param offset The offset into data to start writing the record data to. - @param data The byte array to Serialize to. - @param listener A listener to retrieve start and end callbacks. Use a NullEscherSerailizationListener to ignore these events. - @return The number of bytes written. - @see NullEscherSerializationListener - - - Returns the string representation of this record. - - - Returns the number of bytes that are required to Serialize this record. - - @return Number of bytes - - - Returns the identifier of this record. - - - The short name for this record - - - Any data recording this record. - - - - Escher container records store other escher records as children. - The container records themselves never store any information beyond - the standard header used by all escher records. This one record is - used to represent many different types of records. - @author Glen Stampoultzis - - - - in case if document contains any charts we have such document structure: - BOF - ... - DrawingRecord - ... - ObjRecord|TxtObjRecord - ... - EOF - ... - BOF(Chart begin) - ... - DrawingRecord - ... - ObjRecord|TxtObjRecord - ... - EOF - So, when we call EscherAggregate.createAggregate() we have not all needed data. - When we got warning "WARNING: " + bytesRemaining + " bytes remaining but no space left" - we should save value of bytesRemaining - and add it to container size when we serialize it - - - - The contract of this method is to deSerialize an escher record including - it's children. - - The byte array containing the Serialized escher - records. - The offset into the byte array. - A factory for creating new escher records - The number of bytes written. - - - - Serializes to an existing byte array without serialization listener. - This is done by delegating to Serialize(int, byte[], EscherSerializationListener). - - the offset within the data byte array. - the data array to Serialize to. - a listener for begin and end serialization events. - The number of bytes written. - - - - Do any of our (top level) children have the - given recordId? - - The record id. - - true if [has child of type] [the specified record id]; otherwise, false. - - - - - The display methods allows escher variables to print the record names - according to their hierarchy. - - The current indent level. - - - - Adds the child record. - - The record. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Gets the child by id. - - The record id. - - - - - Recursively find records with the specified record ID - - - list to store found records - - - - Subclasses should effeciently return the number of bytes required to - Serialize the record. - - number of bytes - - - - Returns a list of all the child (escher) records - of the container. - - - - - - Returns all of our children which are also - EscherContainers (may be 0, 1, or vary rarely - 2 or 3) - - The child containers. - - - - Subclasses should return the short name for this escher record. - - - - - - This record defines the drawing groups used for a particular sheet. - - - - - This method deSerializes the record from a byte array. - - The byte array containing the escher record information - The starting offset into data - May be null since this is not a container record. - The number of bytes Read from the byte array. - - - - This method Serializes this escher record into a byte array. - - The offset into data to start writing the record data to. - The byte array to Serialize to. - a listener for begin and end serialization events. - The number of bytes written. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Adds the cluster. - - The dg id. - The num shaped used. - - - - Adds the cluster. - - id of the drawing group (stored in the record options) - initial value of the numShapedUsed field - if set to true if true then sort clusters by drawing group id.( - In Excel the clusters are sorted but in PPT they are not). - - - - Returns the number of bytes that are required to Serialize this record. - - Number of bytes - - - - Return the current record id. - - The 16 bit record id. - - - - The short name for this record - - - - - - Gets or sets the shape id max. - - The shape id max. - - - - Gets the Number of id clusters + 1 - - The num id clusters. - - - - Gets or sets the num shapes saved. - - The num shapes saved. - - - - Gets or sets the drawings saved. - - The drawings saved. - - - - Gets or sets the max drawing group id. - - The max drawing group id. - - - - Gets or sets the file id clusters. - - The file id clusters. - - - - This record simply holds the number of shapes in the drawing group and the - last shape id used for this drawing group. - @author Glen Stampoultzis - - - - - This method deSerializes the record from a byte array. - - The byte array containing the escher record information - The starting offset into data - May be null since this is not a container record. - The number of bytes Read from the byte array. - - - - This method Serializes this escher record into a byte array. - - The offset into data to start writing the record data to. - The byte array to Serialize to. - The number of bytes written. - a listener for begin and end serialization events. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Increments the shape count. - - - - - Returns the number of bytes that are required to Serialize this record. - - Number of bytes - - - - Return the current record id. - - The 16 bit record id. - - - - The short name for this record - - - - - - Gets or sets The number of shapes in this drawing group. - - The num shapes. - - - - Gets or sets The last shape id used in this drawing group. - - The last MSOSPID. - - - - Gets the drawing group id for this record. This is encoded in the - instance part of the option record. - - The drawing group id. - - - - Used to dump the contents of escher records to a PrintStream. - @author Glen Stampoultzis (glens at apache.org) - - - - - Decodes the escher stream from a byte array and dumps the results to - a print stream. - - The data array containing the escher records. - The starting offset within the data array. - The number of bytes to Read. - - - - This version of dump is a translation from the open office escher dump routine. - - The number of bytes to Read - An input stream to Read from. - - - - Returns a property name given a property id. This is used only by the - old escher dump routine. - - The property number for the name - A descriptive name. - - - - Returns the blip description given a blip id. - - blip id - A description. - - - - Straight conversion from OO. Converts a type of float. - - The N32. - - - - - Dumps out a hex value by Reading from a input stream. - - How many bytes this hex value consists of. - The stream to Read the hex value from. - - - - Dumps the specified record size. - - Size of the record. - The data. - - - - @author Daniel Noll - - - - BLIP signatures as defined in the escher spec - - - The primary UID is only saved to disk if (blip_instance ^ blip_signature == 1) - - - - This method deSerializes the record from a byte array. - - The byte array containing the escher record information - The starting offset into - May be null since this is not a container record. - - The number of bytes Read from the byte array. - - - - - Serializes the record to an existing byte array. - - the offset within the byte array - the data array to Serialize to - a listener for begin and end serialization events. - the number of bytes written. - - - - Decompresses the provided data, returning the inflated result. - - the deflated picture data. - the inflated picture data. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Returns the number of bytes that are required to Serialize this record. - - Number of bytes - - - - Gets or sets the UID. - - The UID. - - - - Gets or sets the primary UID. - - The primary UID. - - - - Gets or sets the size of the uncompressed. - - The size of the uncompressed. - - - - Gets or sets the bounds. - - The bounds. - - - - Gets or sets the size EMU. - - The size EMU. - - - - Gets or sets the size of the compressed. - - The size of the compressed. - - - - Gets or sets a value indicating whether this instance is compressed. - - - true if this instance is compressed; otherwise, false. - - - - - Return the blip signature - - the blip signature - - - - The opt record is used to store property values for a shape. It is the key to determining - the attributes of a shape. Properties can be of two types: simple or complex. Simple types - are fixed Length. Complex properties are variable Length. - @author Glen Stampoultzis - - - - - Automatically recalculate the correct option - - - - - - The short name for this record - - - - - - @author Daniel Noll - - - - - This method deSerializes the record from a byte array. - - The byte array containing the escher record information - The starting offset into - May be null since this is not a container record. - - The number of bytes Read from the byte array. - - - - - Serializes the record to an existing byte array. - - the offset within the byte array - the data array to Serialize to - a listener for begin and end serialization events. - the number of bytes written. - - - - Decompresses the provided data, returning the inflated result. - - the deflated picture data. - the inflated picture data. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Returns the number of bytes that are required to Serialize this record. - - Number of bytes - - - - Gets or sets the UID. - - The UID. - - - - Gets or sets the size of the uncompressed. - - The size of the uncompressed. - - - - Gets or sets the bounds. - - The bounds. - - - - Gets or sets the size EMU. - - The size EMU. - - - - Gets or sets the size of the compressed. - - The size of the compressed. - - - - Gets a value indicating whether this instance is compressed. - - - true if this instance is compressed; otherwise, false. - - - - - Provides a list of all known escher properties including the description and - type. - @author Glen Stampoultzis (glens at apache.org) - - - - - Inits the props. - - - - - Adds the prop. - - The s. - The data. - - - - Gets the data. - - Name of the prop. - The type. - - - - - Gets the data. - - Name of the prop. - - - - - Gets the name of the property. - - The property id. - - - - - Gets the type of the property. - - The property id. - - - - - Generates a property given a reference into the byte array storing that property. - @author Glen Stampoultzis - - - - - Create new properties from a byte array. - - The byte array containing the property - The starting offset into the byte array - The new properties - - - - - This class stores the type and description of an escher property. - @author Glen Stampoultzis (glens at apache.org) - - - - - Initializes a new instance of the class. - - The description of the escher property. - - - - Initializes a new instance of the class. - - The description of the escher property. - The type of the property. - - - - Gets the description. - - The description. - - - - Gets the type. - - The type. - - - - A color property. - @author Glen Stampoultzis (glens at apache.org) - - - - - Initializes a new instance of the class. - - The property number. - Color of the RGB. - - - - Gets the color of the RGB. - - The color of the RGB. - - - - Gets the red. - - The red. - - - - Gets the green. - - The green. - - - - Gets the blue. - - The blue. - - - Interface for listening to escher serialization events. - - @author Glen Stampoultzis (glens at apache.org) - - - Fired before a given escher record is Serialized. - - @param offset The position in the data array at which the record will be Serialized. - @param recordId The id of the record about to be Serialized. - - - Fired after a record has been Serialized. - - @param offset The position of the end of the Serialized record + 1 - @param recordId The id of the record about to be Serialized - @param size The number of bytes written for this record. If it is a container - record then this will include the size of any included records. - - - - Defines the constants for the various possible shape paths. - @author Glen Stampoultzis (glens at apache.org) - - - - - Initializes a new instance of the class. - - The property number. - The shape path. - - - - The spgr record defines information about a shape group. Groups in escher - are simply another form of shape that you can't physically see. - @author Glen Stampoultzis (glens at apache.org) - - - - - This method deSerializes the record from a byte array. - - The byte array containing the escher record information - The starting offset into data - May be null since this is not a container record. - The number of bytes Read from the byte array. - - - - This method Serializes this escher record into a byte array - - The offset into data - to start writing the record data to. - The byte array to Serialize to. - a listener for begin and end serialization events. - The number of bytes written. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Returns the number of bytes that are required to Serialize this record. - - Number of bytes - - - - Return the current record id. - - The 16 bit identifier of this shape group record. - - - - The short name for this record - - - - - - Gets or sets the starting top-left coordinate of child records. - - The rect x1. - - - - Gets or sets the starting bottom-right coordinate of child records. - - The rect x2. - - - - Gets or sets the starting top-left coordinate of child records. - - The rect y1. - - - - Gets or sets the starting bottom-right coordinate of child records. - - The rect y2. - - - - A list of the most recently used colours for the drawings contained in - this document. - @author Glen Stampoultzis (glens at apache.org) - - - - - This method deSerializes the record from a byte array. - - The byte array containing the escher record information - The starting offset into data - May be null since this is not a container record. - The number of bytes Read from the byte array. - - - - This method Serializes this escher record into a byte array - - The offset into data - to start writing the record data to. - The byte array to Serialize to. - a listener for begin and end serialization events. - The number of bytes written. - - - - Returns a that represents the current . - - - A that represents the current . - - @return a string representation of this record. - - - - Returns the number of bytes that are required to Serialize this record. - - number of bytes - - - - Return the current record id. - - the 16 bit identifer for this record. - - - - Gets the short name for this record - - The name of the record. - - - - Gets or sets the color1. - - The color1. - - - - Gets or sets the color2. - - The color2. - - - - Gets or sets the color3. - - The color3. - - - - Gets or sets the color4. - - The color4. - - - - ToGether the the EscherOptRecord this record defines some of the basic - properties of a shape. - @author Glen Stampoultzis (glens at apache.org) - - - - - The contract of this method is to deSerialize an escher record including - it's children. - - The byte array containing the Serialized escher - records. - The offset into the byte array. - A factory for creating new escher records - The number of bytes written. - - - - Serializes to an existing byte array without serialization listener. - This is done by delegating to Serialize(int, byte[], EscherSerializationListener). - - the offset within the data byte array. - the data array to Serialize to. - a listener for begin and end serialization events. - The number of bytes written. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Converts the shape flags into a more descriptive name. - - The flags. - - - - - Returns the number of bytes that are required to Serialize this record. - - Number of bytes - - - - @return the 16 bit identifier for this record. - - - - - - The short name for this record - - - - - - Gets or sets A number that identifies this shape - - The shape id. - - - - The flags that apply to this shape. - - The flags. - - - - Get or set shape type. Must be one of MSOSPT values (see [MS-ODRAW] for details). - - - - - Holds data from the parent application. Most commonly used to store - text in the format of the parent application, rather than in - Escher format. We don't attempt to understand the contents, since - they will be in the parent's format, not Escher format. - @author Glen Stampoultzis (glens at apache.org) - @author Nick Burch (nick at torchbox dot com) - - - - The data for this record not including the the 8 byte header - - - This method deserializes the record from a byte array. - - @param data The byte array containing the escher record information - @param offset The starting offset into data. - @param recordFactory May be null since this is not a container record. - @return The number of bytes Read from the byte array. - - - - Writes this record and any contained records to the supplied byte - - - - a listener for begin and end serialization events. - the number of bytes written. - - - - Sets the extra data (in the parent application's format) to be - contained by the record. Used when the parent application changes - the contents. - - The b. - The start. - The length. - - - - Sets the data. - - The b. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Returns any extra data associated with this record. In practice excel - does not seem to put anything here, but with PowerPoint this will - contain the bytes that make up a TextHeaderAtom followed by a - TextBytesAtom/TextCharsAtom - - The data. - - - - Returns the number of bytes that are required to serialize this record. - - Number of bytes - - - - The short name for this record - - - - - - This record is used whenever a escher record is encountered that - we do not explicitly support. - @author Glen Stampoultzis (glens at apache.org) - - - - The data for this record not including the the 8 byte header - - - - This method deSerializes the record from a byte array. - - The byte array containing the escher record information - The starting offset into data - May be null since this is not a container record. - The number of bytes Read from the byte array. - - - - Writes this record and any contained records to the supplied byte - array. - - - - a listener for begin and end serialization events. - the number of bytes written. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Adds the child record. - - The child record. - - - - Gets the data. - - The data. - - - - Returns the number of bytes that are required to Serialize this record. - - Number of bytes - - - - Returns the children of this record. By default this will - be an empty list. EscherCotainerRecord is the only record - that may contain children. - - - - - - The short name for this record - - - - - - Defines constants of general use. - @author Rainer Klute klute@rainer-klute.de - @since 2004-06-20 - - - - - Allow accessing the Initial value. - - - - Codepage 037, a special case - - - Codepage for SJIS - - - Codepage for GBK, aka MS936 - - - Codepage for MS949 - - - Codepage for UTF-16 - - - Codepage for UTF-16 big-endian - - - Codepage for Windows 1250 - - - Codepage for Windows 1251 - - - Codepage for Windows 1252 - - - Codepage for Windows 1253 - - - Codepage for Windows 1254 - - - Codepage for Windows 1255 - - - Codepage for Windows 1256 - - - Codepage for Windows 1257 - - - Codepage for Windows 1258 - - - Codepage for Johab - - - Codepage for Macintosh Roman (Java: MacRoman) - - - Codepage for Macintosh Japan (Java: unknown - use SJIS, cp942 or - cp943) - - - Codepage for Macintosh Chinese Traditional (Java: unknown - use Big5, - MS950, or cp937) - - - Codepage for Macintosh Korean (Java: unknown - use EUC_KR or - cp949) - - - Codepage for Macintosh Arabic (Java: MacArabic) - - - Codepage for Macintosh Hebrew (Java: MacHebrew) - - - Codepage for Macintosh Greek (Java: MacGreek) - - - Codepage for Macintosh Cyrillic (Java: MacCyrillic) - - - Codepage for Macintosh Chinese Simplified (Java: unknown - use - EUC_CN, ISO2022_CN_GB, MS936 or cp935) - - - Codepage for Macintosh Romanian (Java: MacRomania) - - - Codepage for Macintosh Ukrainian (Java: MacUkraine) - - - Codepage for Macintosh Thai (Java: MacThai) - - - Codepage for Macintosh Central Europe (Latin-2) - (Java: MacCentralEurope) - - - Codepage for Macintosh Iceland (Java: MacIceland) - - - Codepage for Macintosh Turkish (Java: MacTurkish) - - - Codepage for Macintosh Croatian (Java: MacCroatian) - - - Codepage for US-ASCII - - - Codepage for KOI8-R - - - Codepage for ISO-8859-1 - - - Codepage for ISO-8859-2 - - - Codepage for ISO-8859-3 - - - Codepage for ISO-8859-4 - - - Codepage for ISO-8859-5 - - - Codepage for ISO-8859-6 - - - Codepage for ISO-8859-7 - - - Codepage for ISO-8859-8 - - - Codepage for ISO-8859-9 - - - Codepage for ISO-2022-JP - - - Another codepage for ISO-2022-JP - - - Yet another codepage for ISO-2022-JP - - - Codepage for ISO-2022-KR - - - Codepage for EUC-JP - - - Codepage for EUC-KR - - - Codepage for GB2312 - - - Codepage for GB18030 - - - Another codepage for US-ASCII - - - Codepage for UTF-8 - - - Codepage for Unicode - - - - Maintains the instances of {@link CustomProperty} that belong To a - {@link DocumentSummaryInformation}. The class maintains the names of the - custom properties in a dictionary. It implements the {@link Map} interface - and by this provides a simplified view on custom properties: A property's - name is the key that maps To a typed value. This implementation hides - property IDs from the developer and regards the property names as keys To - typed values. - While this class provides a simple API To custom properties, it ignores - the fact that not names, but IDs are the real keys To properties. Under the - hood this class maintains a 1:1 relationship between IDs and names. Therefore - you should not use this class To process property Sets with several IDs - mapping To the same name or with properties without a name: the result will - contain only a subSet of the original properties. If you really need To deal - such property Sets, use HPSF's low-level access methods. - An application can call the {@link #isPure} method To check whether a - property Set parsed by {@link CustomProperties} is still pure (i.e. - unmodified) or whether one or more properties have been dropped. - This class is not thRead-safe; concurrent access To instances of this - class must be syncronized. - @author Rainer Klute - <klute@rainer-klute.de> - @since 2006-02-09 - - - - Maps property IDs To property names. - - - Maps property names To property IDs. - - - Tells whether this object is pure or not. - - - - Puts a {@link CustomProperty} into this map. It is assumed that the - {@link CustomProperty} alReady has a valid ID. Otherwise use - {@link #Put(CustomProperty)}. - - The name. - The custom property. - - - - Returns a set of all the names of our - custom properties. Equivalent to - {@link #nameSet()} - - - Returns a set of all the names of our - custom properties - - - Returns a set of all the IDs of our - custom properties - - - - Puts a {@link CustomProperty} that has not yet a valid ID into this - map. The method will allocate a suitable ID for the custom property: -
    -
  • If there is alReady a property with the same name, take the ID - of that property.
  • -
  • Otherwise Find the highest ID and use its value plus one.
  • -
-
- The custom property. - If the was alReady a property with the same name, the -
- - - Removes a custom property. - - The name of the custom property To Remove - The Removed property or - null - if the specified property was not found. - - - - Adds a named string property. - - The property's name. - The property's value. - the property that was stored under the specified name before, or - null - if there was no such property before. - - - - Adds a named long property - - The property's name. - The property's value. - the property that was stored under the specified name before, or - null - if there was no such property before. - - - - Adds a named double property. - - The property's name. - The property's value. - the property that was stored under the specified name before, or - null - if there was no such property before. - - - - Adds a named integer property. - - The property's name. - The property's value. - the property that was stored under the specified name before, or - null - if there was no such property before. - - - - Adds a named bool property. - - The property's name. - The property's value. - the property that was stored under the specified name before, or - null - if there was no such property before. - - - - Adds a named date property. - - The property's name. - The property's value. - the property that was stored under the specified name before, or - null - if there was no such property before. - - - Checks against both String Name and Long ID - - - Checks against both the property, and its values. - - - - Gets the with the specified name. - - the value or - null - if a value with the specified - name is not found in the custom properties. - - - - Gets the dictionary which Contains IDs and names of the named custom - properties. - - The dictionary. - - - - Gets or sets the codepage. - - The codepage. - - - - Tells whether this {@link CustomProperties} instance is pure or one or - more properties of the underlying low-level property Set has been - dropped. - - true if this instance is pure; otherwise, false. - - - - This class represents custum properties in the document summary - information stream. The difference To normal properties is that custom - properties have an optional name. If the name is not null it - will be maintained in the section's dictionary. - @author Rainer Klute - <klute@rainer-klute.de> - @since 2006-02-09 - - - - - Adds writing capability To the {@link Property} class. - Please be aware that this class' functionality will be merged into the - {@link Property} class at a later time, so the API will Change. - @author Rainer Klute - <klute@rainer-klute.de> - @since 2003-08-03 - - - - - A property in a {@link Section} of a {@link PropertySet}. - The property's ID gives the property a meaning - in the context of its {@link Section}. Each {@link Section} spans - its own name space of property IDs. - The property's type determines how its - value is interpreted. For example, if the type Is - {@link Variant#VT_LPSTR} (byte string), the value consists of a - DWord telling how many bytes the string Contains. The bytes follow - immediately, including any null bytes that terminate the - string. The type {@link Variant#VT_I4} denotes a four-byte integer - value, {@link Variant#VT_FILETIME} some DateTime and time (of a - file). - Please note that not all {@link Variant} types yet. This might Change - over time but largely depends on your feedback so that the POI team knows - which variant types are really needed. So please feel free To submit error - reports or patches for the types you need. - Microsoft documentation: - - Property Set Display Name Dictionary - . - @author Rainer Klute - <klute@rainer-klute.de> - @author Drew Varner (Drew.Varner InAndAround sc.edu) - @see Section - @see Variant - @since 2002-02-09 - - - - The property's ID. - - - The property's type. - - - The property's value. - - - - Initializes a new instance of the class. - - the property's ID. - the property's type, see {@link Variant}. - the property's value. Only certain types are allowed, see - {@link Variant}. - - - - Initializes a new instance of the class. - - The property's ID. - The bytes the property Set stream consists of. - The property's type/value pair's offset in the - section. - The property's type/value pair's Length in bytes. - The section's and thus the property's - codepage. It is needed only when Reading string values - - - - Initializes a new instance of the class. - - - - - Reads the dictionary. - - The byte array containing the bytes making out the dictionary. - At this offset within src the dictionary starts. - The dictionary Contains at most this many bytes. - The codepage of the string values. - The dictonary - - - - Compares two properties. - Please beware that a property with - ID == 0 is a special case: It does not have a type, and its value is the - section's dictionary. Another special case are strings: Two properties - may have the different types Variant.VT_LPSTR and Variant.VT_LPWSTR; - - The o. - - - - - Typeses the are equal. - - The t1. - The t2. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Returns a that represents the current . - - - A that represents the current . - - - - Returns the property's ID. - - @return The ID value - - - Returns the property's type. - - @return The type value - - - - Gets the property's value. - - The property's value - - - - Gets the property's size in bytes. This is always a multiple of - 4. - - the property's size in bytes - - - - Creates an empty property. It must be Filled using the Set method To - be usable. - - - - - Initializes a new instance of the class. - - The property To copy. - - - - Writes the property To an output stream. - - The output stream To Write To. - The codepage To use for writing non-wide strings - the number of bytes written To the stream - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - the property To copy - - - - Initializes a new instance of the class. - - This property's attributes are copied To the new custom - property. - The new custom property's name. - - - - Compares two custom properties for equality. The method returns - true if all attributes of the two custom properties are - equal. - - The custom property To Compare with. - true - if both custom properties are equal, else - false - - - - - - @see Object#GetHashCode() - - - - Gets or sets the property's name. - - the property's name. - - - - Convenience class representing a DocumentSummary Information stream in a - Microsoft Office document. - @author Rainer Klute - klute@rainer-klute.de - @author Drew Varner (Drew.Varner cloSeto sc.edu) - @author robert_flaherty@hyperion.com - @since 2002-02-09 - - - - - Abstract superclass for the convenience classes {@link - SummaryInformation} and {@link DocumentSummaryInformation}. - The motivation behind this class is quite nasty if you look - behind the scenes, but it serves the application programmer well by - providing him with the easy-to-use {@link SummaryInformation} and - {@link DocumentSummaryInformation} classes. When parsing the data a - property Set stream consists of (possibly coming from an {@link - java.io.Stream}) we want To Read and process each byte only - once. Since we don't know in advance which kind of property Set we - have, we can expect only the most general {@link - PropertySet}. Creating a special subclass should be as easy as - calling the special subclass' constructor and pass the general - {@link PropertySet} in. To make things easy internally, the special - class just holds a reference To the general {@link PropertySet} and - delegates all method calls To it. - A cleaner implementation would have been like this: The {@link - PropertySetFactory} parses the stream data into some internal - object first. Then it Finds out whether the stream is a {@link - SummaryInformation}, a {@link DocumentSummaryInformation} or a - general {@link PropertySet}. However, the current implementation - went the other way round historically: the convenience classes came - only late To my mind. - @author Rainer Klute - klute@rainer-klute.de - @since 2002-02-09 - - - - - Adds writing support To the {@link PropertySet} class. - Please be aware that this class' functionality will be merged into the - {@link PropertySet} class at a later time, so the API will Change. - @author Rainer Klute - <klute@rainer-klute.de> - @since 2003-02-19 - - - - - Represents a property Set in the Horrible Property Set Format - (HPSF). These are usually metadata of a Microsoft Office - document. - An application that wants To access these metadata should Create - an instance of this class or one of its subclasses by calling the - factory method {@link PropertySetFactory#Create} and then retrieve - the information its needs by calling appropriate methods. - {@link PropertySetFactory#Create} does its work by calling one - of the constructors {@link PropertySet#PropertySet(InputStream)} or - {@link PropertySet#PropertySet(byte[])}. If the constructor's - argument is not in the Horrible Property Set Format, i.e. not a - property Set stream, or if any other error occurs, an appropriate - exception is thrown. - A {@link PropertySet} has a list of {@link Section}s, and each - {@link Section} has a {@link Property} array. Use {@link - #GetSections} To retrieve the {@link Section}s, then call {@link - Section#GetProperties} for each {@link Section} To Get hold of the - {@link Property} arrays. Since the vast majority of {@link - PropertySet}s Contains only a single {@link Section}, the - convenience method {@link #GetProperties} returns the properties of - a {@link PropertySet}'s {@link Section} (throwing a {@link - NoSingleSectionException} if the {@link PropertySet} Contains more - (or less) than exactly one {@link Section}). - @author Rainer Klute - <klute@rainer-klute.de> - @author Drew Varner (Drew.Varner hanginIn sc.edu) - @since 2002-02-09 - - - - If the OS version field holds this value the property Set stream Was - Created on a 16-bit Windows system. - - - If the OS version field holds this value the property Set stream Was - Created on a Macintosh system. - - - If the OS version field holds this value the property Set stream Was - Created on a 32-bit Windows system. - - - The "byteOrder" field must equal this value. - - - Specifies this {@link PropertySet}'s byte order. See the - HPFS documentation for details! - - - The "format" field must equal this value. - - - Specifies this {@link PropertySet}'s format. See the HPFS - documentation for details! - - - Specifies the version of the operating system that Created - this {@link PropertySet}. See the HPFS documentation for - details! - - - Specifies this {@link PropertySet}'s "classID" field. See - the HPFS documentation for details! - - - The sections in this {@link PropertySet}. - - - - Creates an empty (uninitialized) {@link PropertySet} - Please note: For the time being this - constructor is protected since it is used for internal purposes - only, but expect it To become public once the property Set's - writing functionality is implemented. - - - - - Creates a {@link PropertySet} instance from an {@link - InputStream} in the Horrible Property Set Format. - The constructor Reads the first few bytes from the stream - and determines whether it is really a property Set stream. If - it Is, it parses the rest of the stream. If it is not, it - Resets the stream To its beginning in order To let other - components mess around with the data and throws an - exception. - - Holds the data making out the property Set - stream. - - - - Creates a {@link PropertySet} instance from a byte array - that represents a stream in the Horrible Property Set - Format. - - The byte array holding the stream data. - The offset in stream where the stream data begin. - If the stream data begin with the first byte in the - array, the offset is 0. - The Length of the stream data. - - - - Creates a {@link PropertySet} instance from a byte array - that represents a stream in the Horrible Property Set - Format. - - The byte array holding the stream data. The - complete byte array contents is the stream data. - - - - Checks whether an {@link InputStream} is in the Horrible - Property Set Format. - - The {@link InputStream} To check. In order To - perform the check, the method Reads the first bytes from the - stream. After Reading, the stream is Reset To the position it - had before Reading. The {@link InputStream} must support the - {@link InputStream#mark} method. - - true if the stream is a property Set - stream; otherwise, false. - - - - - Checks whether a byte array is in the Horrible Property Set - Format. - - The byte array To check. - The offset in the byte array. - The significant number of bytes in the byte - array. Only this number of bytes will be checked. - - true if the byte array is a property Set - stream; otherwise, false. - - - - - Initializes this {@link PropertySet} instance from a byte - array. The method assumes that it has been checked alReady that - the byte array indeed represents a property Set stream. It does - no more checks on its own. - - Byte array containing the property Set stream - The property Set stream starts at this offset - Length of the property Set stream. - - - - Convenience method returning the value of the property with - the specified ID. If the property is not available, - null is returned and a subsequent call To {@link - #WasNull} will return true . - - The property ID - The property value - - - - Convenience method returning the value of a bool property - with the specified ID. If the property is not available, - false is returned. A subsequent call To {@link - #WasNull} will return true To let the caller - distinguish that case from a real property value of - false. - - The property ID - The property value - - - - Convenience method returning the value of the numeric - property with the specified ID. If the property is not - available, 0 is returned. A subsequent call To {@link #WasNull} - will return true To let the caller distinguish - that case from a real property value of 0. - - The property ID - The propertyIntValue value - - - - Returns true if the PropertySet is equal - To the specified parameter, else false. - - the object To Compare this - PropertySet - with - true - if the objects are equal, - false - if not - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Gets or sets the property Set stream's low-level "byte order" - field. It is always 0xFFFE - - The property Set stream's low-level "byte order" field.. - - - - Gets or sets the property Set stream's low-level "format" - field. It is always 0x0000 - - The property Set stream's low-level "format" field. - - - - Returns the property Set stream's low-level "OS version" - field. - - The property Set stream's low-level "OS version" field. - - - - Gets or sets the property Set stream's low-level "class ID" - - The property Set stream's low-level "class ID" field. - - - - Returns the number of {@link Section}s in the property - Set. - - The number of {@link Section}s in the property Set. - - - - Returns the {@link Section}s in the property Set. - - {@link Section}s in the property Set. - - - - Checks whether this {@link PropertySet} represents a Summary - Information. - - - true Checks whether this {@link PropertySet} represents a Summary - Information; otherwise, false. - - - - - Gets a value indicating whether this instance is document summary information. - - - true if this instance is document summary information; otherwise, false. - - Checks whether this {@link PropertySet} is a Document - Summary Information. - @return - true - if this {@link PropertySet} - represents a Document Summary Information, else - false - - - - Convenience method returning the {@link Property} array - contained in this property Set. It is a shortcut for Getting - the {@link PropertySet}'s {@link Section}s list and then - Getting the {@link Property} array from the first {@link - Section}. - - The properties of the only {@link Section} of this - {@link PropertySet}. - - - - Checks whether the property which the last call To {@link - #GetPropertyIntValue} or {@link #GetProperty} tried To access - Was available or not. This information might be important for - callers of {@link #GetPropertyIntValue} since the latter - returns 0 if the property does not exist. Using {@link - #WasNull}, the caller can distiguish this case from a - property's real value of 0. - - true if the last call To {@link - #GetPropertyIntValue} or {@link #GetProperty} tried To access a - property that Was not available; otherwise, false. - - - - Gets the first section. - - The first section. - - - - If the {@link PropertySet} has only a single section this - method returns it. - - The singleSection value - - - - Initializes a new instance of the class. - Its primary task is To initialize the immutable field with their proper - values. It also Sets fields that might Change To reasonable defaults. - - - - - Initializes a new instance of the class. - All nested elements, i.e.Sections and Property instances, will be their - mutable counterparts in the new MutablePropertySet. - - The property Set To copy - - - The Length of the property Set stream header. - - - - Removes all sections from this property Set. - - - - - Adds a section To this property Set. - - section The {@link Section} To Add. It will be Appended - after any sections that are alReady present in the property Set - and thus become the last section. - - - - Writes the property Set To an output stream. - - the output stream To Write the section To - - - - Returns the contents of this property set stream as an input stream. - The latter can be used for example to write the property set into a POIFS - document. The input stream represents a snapshot of the property set. - If the latter is modified while the input stream is still being - read, the modifications will not be reflected in the input stream but in - the {@link MutablePropertySet} only. - - the contents of this property set stream - - - - Writes a property Set To a document in a POI filesystem directory - - The directory in the POI filesystem To Write the document To. - The document's name. If there is alReady a document with the - same name in the directory the latter will be overwritten. - - - - Gets or sets the "byteOrder" property. - - the byteOrder value To Set - - - - Gets or sets the "format" property. - - the format value To Set - - - - Gets or sets the "osVersion" property - - the osVersion value To Set. - - - - Gets or sets the property Set stream's low-level "class ID" - - The property Set stream's low-level "class ID" field. - - - The "real" property Set SpecialPropertySet - delegates To. - - - - Initializes a new instance of the class. - - The property Set To be encapsulated by the SpecialPropertySet - - - - Initializes a new instance of the class. - - The mutable property Set To be encapsulated by the SpecialPropertySet - - - - Adds a section To this property set. - - The {@link Section} To Add. It will be Appended - after any sections that are alReady present in the property Set - and thus become the last section. - - - - Removes all sections from this property Set. - - - - - Writes a property Set To a document in a POI filesystem directory. - - The directory in the POI filesystem To Write the document To - The document's name. If there is alReady a document with the - same name in the directory the latter will be overwritten. - - - - Writes the property Set To an output stream. - - the output stream To Write the section To - - - - Returns true if the PropertySet is equal - To the specified parameter, else false. - - the object To Compare this - PropertySet - with - - true - if the objects are equal, - false - if not - - - - - Convenience method returning the value of the property with - the specified ID. If the property is not available, - null is returned and a subsequent call To {@link - #WasNull} will return true . - - The property ID - The property value - - - - Convenience method returning the value of a bool property - with the specified ID. If the property is not available, - false is returned. A subsequent call To {@link - #WasNull} will return true To let the caller - distinguish that case from a real property value of - false. - - The property ID - The property value - - - - Convenience method returning the value of the numeric - property with the specified ID. If the property is not - available, 0 is returned. A subsequent call To {@link #WasNull} - will return true To let the caller distinguish - that case from a real property value of 0. - - The property ID - The propertyIntValue value - - - Fetches the property with the given ID, then does its - best to return it as a String - @return The property as a String, or null if unavailable - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Returns a that represents the current . - - - A that represents the current . - - - - The id to name mapping of the properties - in this set. - - - - gets or sets the "byteOrder" property. - - the byteOrder value To Set - - - - gets or sets the "format" property - - the format value To Set - - - - gets or sets the property Set stream's low-level "class ID" - field. - - The property Set stream's low-level "class ID" field - - - - Returns the number of {@link Section}s in the property - Set. - - The number of {@link Section}s in the property Set. - - - - Checks whether this {@link PropertySet} represents a Summary - Information. - - - true Checks whether this {@link PropertySet} represents a Summary - Information; otherwise, false. - - - - - Gets a value indicating whether this instance is document summary information. - - - true if this instance is document summary information; otherwise, false. - - Checks whether this {@link PropertySet} is a Document - Summary Information. - @return - true - if this {@link PropertySet} - represents a Document Summary Information, else - false - - - - Gets the PropertySet's first section. - - The {@link PropertySet}'s first section. - - - - gets or sets the "osVersion" property - - the osVersion value To Set - - - - Convenience method returning the {@link Property} array - contained in this property Set. It is a shortcut for Getting - the {@link PropertySet}'s {@link Section}s list and then - Getting the {@link Property} array from the first {@link - Section}. - - - The properties of the only {@link Section} of this - {@link PropertySet}. - - - - - Checks whether the property which the last call To {@link - #GetPropertyIntValue} or {@link #GetProperty} tried To access - Was available or not. This information might be important for - callers of {@link #GetPropertyIntValue} since the latter - returns 0 if the property does not exist. Using {@link - #WasNull}, the caller can distiguish this case from a - property's real value of 0. - - - true if the last call To {@link - #GetPropertyIntValue} or {@link #GetProperty} tried To access a - property that Was not available; otherwise, false. - - - - The document name a document summary information stream - usually has in a POIFS filesystem. - - - - Initializes a new instance of the class. - - A property Set which should be Created from a - document summary information stream. - - - - Removes the category. - - - - - Removes the presentation format. - - - - - Removes the byte count. - - - - - Removes the line count. - - - - - Removes the par count. - - - - - Removes the slide count. - - - - - Removes the note count. - - - - - Removes the hidden count. - - - - - Removes the MMClip count. - - - - - Removes the scale. - - - - - Removes the heading pair. - - - - - Removes the doc parts. - - - - - Removes the manager. - - - - - Removes the company. - - - - - Removes the links dirty. - - - - - Creates section 2 if it is not alReady present. - - - - - Removes the custom properties. - - - - - Gets or sets the category. - - The category value - - - - Gets or sets the presentation format (or null). - - The presentation format value - - - - Gets or sets the byte count or 0 if the {@link - DocumentSummaryInformation} does not contain a byte count. - - The byteCount value - - - - Gets or sets the line count or 0 if the {@link - DocumentSummaryInformation} does not contain a line count. - - The line count value. - - - - Gets or sets the par count or 0 if the {@link - DocumentSummaryInformation} does not contain a par count. - - The par count value - - - - Gets or sets the slide count or 0 if the {@link - DocumentSummaryInformation} does not contain a slide count. - - The slide count value - - - - Gets or sets the note count or 0 if the {@link - DocumentSummaryInformation} does not contain a note count - - The note count value - - - - Gets or sets the hidden count or 0 if the {@link - DocumentSummaryInformation} does not contain a hidden - count. - - The hidden count value. - - - - Returns the mmclip count or 0 if the {@link - DocumentSummaryInformation} does not contain a mmclip - count. - - The mmclip count value. - - - - Gets or sets a value indicating whether this is scale. - - true if cropping is desired; otherwise, false. - - - - Gets or sets the heading pair (or null) - - The heading pair value. - - - - Gets or sets the doc parts. - - The doc parts value - - - - Gets or sets the manager (or null). - - The manager value - - - - Gets or sets the company (or null). - - The company value - - - - Gets or sets a value indicating whether [links dirty]. - - true if the custom links are dirty.; otherwise, false. - - - - Gets or sets the custom properties. - - The custom properties. - - - - Extracts all of the HPSF properties, both - build in and custom, returning them in - textual form. - - - - - Common Parent for Text Extractors - of POI Documents. - You will typically find the implementation of - a given format's text extractor under - org.apache.poi.[format].extractor . - - @see org.apache.poi.hssf.extractor.ExcelExtractor - @see org.apache.poi.hslf.extractor.PowerPointExtractor - @see org.apache.poi.hdgf.extractor.VisioTextExtractor - @see org.apache.poi.hwpf.extractor.WordExtractor - - - The POIDocument that's open - - - - Creates a new text extractor for the given document - - The document. - - - - Creates a new text extractor, using the same - document as another text extractor. Normally - only used by properties extractors. - - The other extractor. - - - - Retrieves all the text from the document. - How cells, paragraphs etc are separated in the text - is implementation specific - see the javadocs for - a specific project for details. - - All the text from the document. - - - - Returns another text extractor, which is able to - output the textual content of the document - metadata / properties, such as author and title. - - The metadata text extractor. - - - - Gets the properties text. - - The ps. - - - - - Gets the document summary information text. - - The document summary information text. - - - - Gets the summary information text. - - The summary information text. - - - - Return the text of all the properties defined in - the document. - - All the text from the document. - - - - Returns another text extractor, which is able to - output the textual content of the document - metadata / properties, such as author and title. - - The metadata text extractor. - - - - This exception is the superclass of all other checked exceptions thrown - in this package. It supports a nested "reason" throwable, i.e. an exception - that caused this one To be thrown. - @author Rainer Klute - <klute@rainer-klute.de> - @since 2002-02-09 - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message string. - - - - Initializes a new instance of the class. - - The reason, i.e. a throwable that indirectly - caused this exception. - - - - Initializes a new instance of the class. - - The message string. - The reason, i.e. a throwable that indirectly - caused this exception. - - - - Returns the {@link Exception} that caused this exception To - be thrown or null if there was no such {@link - Exception}. - - The reason. - - - - This exception is the superclass of all other unchecked - exceptions thrown in this package. It supports a nested "reason" - throwable, i.e. an exception that caused this one To be thrown. - @author Rainer Klute - <klute@rainer-klute.de> - @since 2002-02-09 - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message string. - - - - Initializes a new instance of the class. - - The reason, i.e. a throwable that indirectly - caused this exception. - - - - Initializes a new instance of the class. - - The message string. - The reason, i.e. a throwable that indirectly - caused this exception. - - - - This exception is thrown when there is an illegal value Set in a - {@link PropertySet}. For example, a {@link Variant#VT_BOOL} must - have a value of -1 (true) or 0 (false). - Any other value would trigger this exception. It supports a nested - "reason" throwable, i.e. an exception that caused this one To be - thrown. - @author Drew Varner(Drew.Varner atDomain sc.edu) - @since 2002-05-26 - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The exception's message string - - - - Initializes a new instance of the class. - - This exception's underlying reason - - - - Initializes a new instance of the class. - - The exception's message string - This exception's underlying reason - - - - This exception is thrown if HPSF encounters a variant type that is illegal - in the current context. - @author Rainer Klute - <klute@rainer-klute.de> - @since 2004-06-21 - - - - - This exception is thrown if HPSF encounters a problem with a variant type. - Concrete subclasses specifiy the problem further. - @author Rainer Klute - <klute@rainer-klute.de> - @since 2004-06-21 - - - - - Initializes a new instance of the class. - - The variant type causing the problem - The value who's variant type causes the problem - A message text describing the problem - - - - Gets the offending variant type - - the offending variant type. - - - - Returns the value who's variant type caused the problem. - - the value who's variant type caused the problem. - - - - Initializes a new instance of the class. - - The unsupported variant type - The value - A message string - - - - Initializes a new instance of the class. - - The unsupported variant type - The value. - - - - This exception is thrown if an {@link java.io.InputStream} does - not support the {@link java.io.InputStream#mark} operation. - @author Rainer Klute - <klute@rainer-klute.de> - @since 2002-02-09 - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The exception's message string. - - - - Initializes a new instance of the class. - - This exception's underlying reason. - - - - Initializes a new instance of the class. - - The exception's message string - This exception's underlying reason - - - - This exception is thrown if one of the {@link PropertySet}'s - convenience methods does not Find a required {@link Section}. - The constructors of this class are analogous To those of its - superclass and documented there. - @author Rainer Klute - <klute@rainer-klute.de> - @since 2006-02-08 - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The exception's message string - - - - Initializes a new instance of the class. - - This exception's underlying reason. - - - - Initializes a new instance of the class. - - The exception's message string - This exception's underlying reason - - - - Adds writing capability To the {@link Section} class. - Please be aware that this class' functionality will be merged into the - {@link Section} class at a later time, so the API will Change. - @since 2002-02-20 - - - - - Represents a section in a {@link PropertySet}. - @author Rainer Klute - <klute@rainer-klute.de> - @author Drew Varner (Drew.Varner allUpIn sc.edu) - @since 2002-02-09 - - - - Maps property IDs To section-private PID strings. These - strings can be found in the property with ID 0. - - - The section's format ID, {@link #GetFormatID}. - - - - Creates an empty and uninitialized {@link Section}. - - - - - Creates a {@link Section} instance from a byte array. - - Contains the complete property Set stream. - The position in the stream that points To the - section's format ID. - - - Returns the value of the property with the specified ID. If - the property is not available, null is returned - and a subsequent call To {@link #wasNull} will return - true. - - @param id The property's ID - - @return The property's value - - - Returns the value of the numeric property with the specified - ID. If the property is not available, 0 is returned. A - subsequent call To {@link #wasNull} will return - true To let the caller distinguish that case from - a real property value of 0. - - @param id The property's ID - - @return The property's value - - - Returns the value of the bool property with the specified - ID. If the property is not available, false Is - returned. A subsequent call To {@link #wasNull} will return - true To let the caller distinguish that case from - a real property value of false. - - @param id The property's ID - - @return The property's value - - - This member is true if the last call To {@link - #GetPropertyIntValue} or {@link #GetProperty} tried To access a - property that was not available, else false. - - - - Returns the PID string associated with a property ID. The ID - is first looked up in the {@link Section}'s private - dictionary. If it is not found there, the method calls {@link - SectionIDMap#GetPIDString}. - - The property ID. - The property ID's string value - - - Checks whether this section is equal To another object. The result Is - false if one of the the following conditions holds: - -
    - -
  • The other object is not a {@link Section}.
  • - -
  • The format IDs of the two sections are not equal.
  • - -
  • The sections have a different number of properties. However, - properties with ID 1 (codepage) are not counted.
  • - -
  • The other object is not a {@link Section}.
  • - -
  • The properties have different values. The order of the properties - is irrelevant.
  • - -
- - @param o The object To Compare this section with - @return true if the objects are equal, false if - not -
- - - Removes a field from a property array. The resulting array Is - compactified and returned. - - The property array. - The index of the field To be Removed. - the compactified array. - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Returns the format ID. The format ID is the "type" of the - section. For example, if the format ID of the first {@link - Section} Contains the bytes specified by - org.apache.poi.hpsf.wellknown.SectionIDMap.SUMMARY_INFORMATION_ID - the section (and thus the property Set) is a SummaryInformation. - - The format ID. - - - - Gets the offset of the section in the stream. - - The offset of the section in the stream - - - - Returns the section's size in bytes. - - The section's size in bytes. - - - - Returns the number of properties in this section. - - The number of properties in this section. - - - - Returns this section's properties. - - This section's properties. - - - - Checks whether the property which the last call To {@link - #GetPropertyIntValue} or {@link #GetProperty} tried To access - was available or not. This information might be important for - callers of {@link #GetPropertyIntValue} since the latter - returns 0 if the property does not exist. Using {@link - #wasNull} the caller can distiguish this case from a property's - real value of 0. - - true if the last call To {@link - #GetPropertyIntValue} or {@link #GetProperty} tried To access a - property that was not available; otherwise, false. - - - - Gets the section's dictionary. A dictionary allows an application To - use human-Readable property names instead of numeric property IDs. It - Contains mappings from property IDs To their associated string - values. The dictionary is stored as the property with ID 0. The codepage - for the strings in the dictionary is defined by property with ID 1. - - the dictionary or null - if the section does not have - a dictionary. - - - - Gets the section's codepage, if any. - - The section's codepage if one is defined, else -1. - - - Represents an entry in the property list and holds a property's ID and - its offset from the section's beginning. - - - Compares this {@link PropertyListEntry} with another one by their - offsets. A {@link PropertyListEntry} is "smaller" than another one if - its offset from the section's begin is smaller. - - @see Comparable#CompareTo(java.lang.Object) - - - If the "dirty" flag is true, the section's size must be - (re-)calculated before the section is written. - - - List To assemble the properties. Unfortunately a wrong - decision has been taken when specifying the "properties" field - as an Property[]. It should have been a {@link java.util.List}. - - - Contains the bytes making out the section. This byte array is - established when the section's size is calculated and can be reused - later. It is valid only if the "dirty" flag is false. - - - - Initializes a new instance of the class. - - - - - Constructs a MutableSection by doing a deep copy of an - existing Section. All nested Property - instances, will be their mutable counterparts in the new - MutableSection. - - The section Set To copy - - - - Sets the section's format ID. - - The section's format ID - - - - Sets the section's format ID. - - The section's format ID as a byte array. It components - are in big-endian format. - - - - Sets this section's properties. Any former values are overwritten. - - This section's new properties. - - - - Sets the string value of the property with the specified ID. - - The property's ID - The property's value. It will be written as a Unicode - string. - - - - Sets the int value of the property with the specified ID. - - The property's ID - The property's value. - - - - Sets the long value of the property with the specified ID. - - The property's ID - The property's value. - - - - Sets the bool value of the property with the specified ID. - - The property's ID - The property's value. - - - - Sets the value and the variant type of the property with the - specified ID. If a property with this ID is not yet present in - the section, it will be Added. An alReady present property with - the specified ID will be overwritten. A default mapping will be - used To choose the property's type. - - The property's ID. - The property's variant type. - The property's value. - - - - Sets the property. - - The property To be Set. - - - - Removes the property. - - The ID of the property To be Removed - - - - Sets the value of the bool property with the specified - ID. - - The property's ID - The property's value - - - - Calculates the section's size. It is the sum of the Lengths of the - section's header (8), the properties list (16 times the number of - properties) and the properties themselves. - - the section's Length in bytes. - - - - Writes this section into an output stream. - Internally this is done by writing into three byte array output - streams: one for the properties, one for the property list and one for - the section as such. The two former are Appended To the latter when they - have received all their data. - - The stream To Write into. - The number of bytes written, i.e. the section's size. - - - - Writes the section's dictionary - - The output stream To Write To. - The dictionary. - The codepage to be used to Write the dictionary items. - The number of bytes written - - see MSDN KB: http://msdn.microsoft.com/en-us/library/aa380065(VS.85).aspx - - - - - Ensures the properties. - - - - - Gets a property. - - The ID of the property To Get - The property or null if there is no such property - - - - Sets the property. - - The property ID. - The property's value. The value's class must be one of those - supported by HPSF. - - - - Removes all properties from the section including 0 (dictionary) and - 1 (codepage). - - - - - Returns the section's size in bytes. - - The section's size in bytes. - - - - OverWrites the base class' method To cope with a redundancy: - the property count is maintained in a separate member variable, but - shouldn't. - - The number of properties in this section. - - - - Returns this section's properties. - - This section's properties. - - - - Sets the section's dictionary. All keys in the dictionary must be - {@link java.lang.long} instances, all values must be - {@link java.lang.String}s. This method overWrites the properties with IDs - 0 and 1 since they are reserved for the dictionary and the dictionary's - codepage. Setting these properties explicitly might have surprising - effects. An application should never do this but always use this - method. - - - the dictionary - - - - - Gets the section's codepage, if any. - - The section's codepage if one is defined, else -1. - - - - This exception is thrown if a {@link MutablePropertySet} is To be written - but does not have a formatID Set (see {@link - MutableSection#SetFormatID(ClassID)} or - {@link org.apache.poi.hpsf.MutableSection#SetFormatID(byte[])}. - @author Rainer Klute - <klute@rainer-klute.de> - @since 2002-09-03 - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The exception's message string - - - - Initializes a new instance of the class. - - This exception's underlying reason - - - - Initializes a new instance of the class. - - The exception's message string - This exception's underlying reason - - - - This exception is thrown if a format error in a property Set stream Is - detected or when the input data do not constitute a property Set stream. - The constructors of this class are analogous To those of its superclass - and are documented there. - @author Rainer Klute - <klute@rainer-klute.de> - @since 2002-02-09 - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The exception's message string - - - - Initializes a new instance of the class. - - This exception's underlying reason - - - - Initializes a new instance of the class. - - The exception's message string - This exception's underlying reason - - - - This exception is thrown if one of the {@link PropertySet}'s - convenience methods that require a single {@link Section} is called - and the {@link PropertySet} does not contain exactly one {@link - Section}. - The constructors of this class are analogous To those of its - superclass and documented there. - @author Rainer Klute - <klute@rainer-klute.de> - @since 2002-02-09 - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The exception's message string - - - - Initializes a new instance of the class. - - This exception's underlying reason - - - - Initializes a new instance of the class. - - The exception's message string - This exception's underlying reason - - - - Factory class To Create instances of {@link SummaryInformation}, - {@link DocumentSummaryInformation} and {@link PropertySet}. - @author Rainer Klute - <klute@rainer-klute.de> - @since 2002-02-09 - - - -

Creates the most specific {@link PropertySet} from an entry - in the specified POIFS Directory. This is preferrably a {@link - DocumentSummaryInformation} or a {@link SummaryInformation}. If - the specified entry does not contain a property Set stream, an - exception is thrown. If no entry is found with the given name, - an exception is thrown.

- - @param dir The directory to find the PropertySet in - @param name The name of the entry Containing the PropertySet - @return The Created {@link PropertySet}. - @if there is no entry with that name - @if the stream does not - contain a property Set. - @if some I/O problem occurs. - @exception EncoderFallbackException if the specified codepage is not - supported. -
- - - Creates the most specific {@link PropertySet} from an {@link - InputStream}. This is preferrably a {@link - DocumentSummaryInformation} or a {@link SummaryInformation}. If - the specified {@link InputStream} does not contain a property - Set stream, an exception is thrown and the {@link InputStream} - is repositioned at its beginning. - - Contains the property set stream's data. - The Created {@link PropertySet}. - - - - Creates a new summary information - - the new summary information. - - - - Creates a new document summary information. - - the new document summary information. - - - - This exception is thrown when HPSF tries To Read a (yet) unsupported - variant type. - @see WritingNotSupportedException - @see UnsupportedVariantTypeException - @author Rainer Klute - <klute@rainer-klute.de> - @since 2003-08-08 - - - - - This exception is thrown if HPSF encounters a variant type that isn't - supported yet. Although a variant type is unsupported the value can still be - retrieved using the {@link VariantTypeException#GetValue} method. - Obviously this class should disappear some day. - @author Rainer Klute - <klute@rainer-klute.de> - @since 2003-08-05 - - - - - Initializes a new instance of the class. - - The unsupported variant type - The value who's variant type is not yet supported - - - - Initializes a new instance of the class. - - The unsupported variant type - The value who's variant type is not yet supported - - - - Convenience class representing a Summary Information stream in a - Microsoft Office document. - @author Rainer Klute - <klute@rainer-klute.de> - @see DocumentSummaryInformation - @since 2002-02-09 - - - - The document name a summary information stream usually has in a POIFS - filesystem. - - - - Initializes a new instance of the class. - - A property Set which should be Created from a summary - information stream. - - - - Removes the title. - - - - - Removes the subject. - - - - - Removes the author. - - - - - Removes the keywords. - - - - - Removes the comments. - - - - - Removes the template. - - - - - Removes the last author. - - - - - Removes the rev number. - - - - - Removes the edit time. - - - - - Removes the last printed. - - - - - Removes the create date time. - - - - - Removes the last save date time. - - - - - Removes the page count. - - - - - Removes the word count. - - - - - Removes the char count. - - - - - Removes the thumbnail. - - - - - Removes the name of the application. - - - - - Removes the security code. - - - - - Gets or sets the title. - - The title. - - - - Gets or sets the subject. - - The subject. - - - - Gets or sets the author. - - The author. - - - - Gets or sets the keywords. - - The keywords. - - - - Gets or sets the comments. - - The comments. - - - - Gets or sets the template. - - The template. - - - - Gets or sets the last author. - - The last author. - - - - Gets or sets the rev number. - - The rev number. - - - - Returns the Total time spent in editing the document (or 0). - - The Total time spent in editing the document or 0 if the {@link - SummaryInformation} does not contain this information. - - - - Gets or sets the last printed time - - The last printed time - Returns the last printed time (or null). - - - - Gets or sets the create date time. - - The create date time. - - - - Gets or sets the last save date time. - - The last save date time. - - - - Gets or sets the page count or 0 if the {@link SummaryInformation} does - not contain a page count. - - The page count or 0 if the {@link SummaryInformation} does not - contain a page count. - - - - Gets or sets the word count or 0 if the {@link SummaryInformation} does - not contain a word count. - - The word count. - - - - Gets or sets the character count or 0 if the {@link SummaryInformation} - does not contain a char count. - - The character count. - - - - Gets or sets the thumbnail (or null) when this - method is implemented. Please note that the return type is likely To - Change! - Hint To developers: Drew Varner <Drew.Varner - -at- sc.edu> said that this is an image in WMF or Clipboard (BMP?) - format. However, we won't do any conversion into any image type but - instead just return a byte array. - - The thumbnail. - - - - Gets or sets the name of the application. - - The name of the application. - - - - Gets or sets a security code which is one of the following values: -
    -
  • 0 if the {@link SummaryInformation} does not contain a - security field or if there is no security on the document. Use - {@link PropertySet#wasNull()} To distinguish between the two - cases!
  • -
  • 1 if the document is password protected
  • -
  • 2 if the document is Read-only recommended
  • -
  • 4 if the document is Read-only enforced
  • -
  • 8 if the document is locked for annotations
  • -
-
- The security code -
- - - Class To manipulate data in the Clipboard Variant (Variant#VT_CF VT_CF) format. - @author Drew Varner (Drew.Varner inOrAround sc.edu) - @since 2002-04-29 - - - - - OffSet in bytes where the Clipboard Format Tag starts in the byte[] returned by SummaryInformation#GetThumbnail() - - - - - OffSet in bytes where the Clipboard Format starts in the byte[] returned by SummaryInformation#GetThumbnail() - - This is only valid if the Clipboard Format Tag is CFTAG_WINDOWS - - - - OffSet in bytes where the Windows Metafile (WMF) image data starts in the byte[] returned by SummaryInformation#GetThumbnail() - There is only WMF data at this point in the - byte[] if the Clipboard Format Tag is - CFTAG_WINDOWS and the Clipboard Format is - CF_METAFILEPICT. - - Note: The byte[] that starts at - OFFSet_WMFDATA and ends at - GetThumbnail().Length - 1 forms a complete WMF - image. It can be saved To disk with a .wmf file - type and Read using a WMF-capable image viewer. - - - - Clipboard Format Tag - Windows clipboard format - - A DWORD indicating a built-in Windows clipboard format value - - - - Clipboard Format Tag - Macintosh clipboard format - - A DWORD indicating a Macintosh clipboard format value - - - - Clipboard Format Tag - Format ID - - A GUID containing a format identifier (FMTID). This is rarely used. - - - - Clipboard Format Tag - No Data - - A DWORD indicating No data. This is rarely used. - - - - Clipboard Format - Windows metafile format. This is the recommended way To store thumbnails in Property Streams. - - Note:This is not the same format used in - regular WMF images. The clipboard version of this format has an - extra clipboard-specific header. - - - - Clipboard Format - Device Independent Bitmap - - - - - Clipboard Format - Enhanced Windows metafile format - - - - - Clipboard Format - Bitmap - - see msdn.microsoft.com/library/en-us/dnw98bk/html/clipboardoperations.asp - - - A byte[] To hold a thumbnail image in ( - Variant#VT_CF VT_CF) format. - - - - Default Constructor. If you use it then one you'll have To Add - the thumbnail byte[] from {@link - SummaryInformation#GetThumbnail()} To do any useful - manipulations, otherwise you'll Get a - NullPointerException. - - - - - Initializes a new instance of the class. - - The thumbnail data. - - - - Returns an int representing the Clipboard - Format - Will throw an exception if the Thumbnail's Clipboard Format - Tag is not {@link Thumbnail#CFTAG_WINDOWS CFTAG_WINDOWS}. - Possible return values are: -
    -
  • {@link #CF_METAFILEPICT CF_METAFILEPICT}
  • -
  • {@link #CF_DIB CF_DIB}
  • -
  • {@link #CF_ENHMETAFILE CF_ENHMETAFILE}
  • -
  • {@link #CF_BITMAP CF_BITMAP}
  • -
-
- a flag indicating the Clipboard Format -
- - - Returns the Thumbnail as a byte[] of WMF data - if the Thumbnail's Clipboard Format Tag is {@link - #CFTAG_WINDOWS CFTAG_WINDOWS} and its Clipboard Format is - {@link #CF_METAFILEPICT CF_METAFILEPICT} - This - byte[] is in the traditional WMF file, not the - clipboard-specific version with special headers. - See http://www.wvware.com/caolan/ora-wmf.html - for more information on the WMF image format. - @return A WMF image of the Thumbnail - @throws HPSFException if the Thumbnail isn't CFTAG_WINDOWS and - CF_METAFILEPICT - - - - - - Gets or sets the thumbnail as a byte[] in {@link - Variant#VT_CF VT_CF} format. - - The thumbnail value - - - - Returns an int representing the Clipboard - Format Tag - Possible return values are: -
    -
  • {@link #CFTAG_WINDOWS CFTAG_WINDOWS}
  • -
  • {@link #CFTAG_MACINTOSH CFTAG_MACINTOSH}
  • -
  • {@link #CFTAG_FMTID CFTAG_FMTID}
  • -
  • {@link #CFTAG_NODATA CFTAG_NODATA}
  • -
-
- A flag indicating the Clipboard Format Tag -
- - - Class for writing little-endian data and more. - @author Rainer Klute - <klute@rainer-klute.de> - @since 2003-02-20 - - - - - Writes a two-byte value (short) To an output stream. - - The stream To Write To.. - The number of bytes that have been written. - - - - Writes a four-byte value To an output stream. - - @param out The stream To Write To. - @param n The value To Write. - @exception IOException if an I/O error occurs - @return The number of bytes written To the output stream. - - - Writes a four-byte value To an output stream. - - @param out The stream To Write To. - @param n The value To Write. - @exception IOException if an I/O error occurs - @return The number of bytes written To the output stream. - - - Writes a eight-byte value To an output stream. - - @param out The stream To Write To. - @param n The value To Write. - @exception IOException if an I/O error occurs - @return The number of bytes written To the output stream. - - - Writes an unsigned two-byte value To an output stream. - - @param out The stream To Write To - @param n The value To Write - @exception IOException if an I/O error occurs - - - Writes an unsigned four-byte value To an output stream. - - @param out The stream To Write To. - @param n The value To Write. - @return The number of bytes that have been written To the output stream. - @exception IOException if an I/O error occurs - - - Writes a 16-byte {@link ClassID} To an output stream. - - @param out The stream To Write To - @param n The value To Write - @return The number of bytes written - @exception IOException if an I/O error occurs - - - Writes an array of {@link Property} instances To an output stream - according To the Horrible Property Format. - - @param out The stream To Write To - @param properties The array To Write To the stream - @param codepage The codepage number To use for writing strings - @exception IOException if an I/O error occurs - @throws UnsupportedVariantTypeException if HPSF does not support some - variant type. - - - Writes a double value value To an output stream. - - @param out The stream To Write To. - @param n The value To Write. - @exception IOException if an I/O error occurs - @return The number of bytes written To the output stream. - - - - This exception is thrown if a certain type of property Set Is - expected (e.g. a Document Summary Information) but the provided - property Set is not of that type. - The constructors of this class are analogous To those of its - superclass and documented there. - @author Rainer Klute - <klute@rainer-klute.de> - @since 2002-02-09 - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message string. - - - - Initializes a new instance of the class. - - The reason, i.e. a throwable that indirectly - caused this exception. - - - - Initializes a new instance of the class. - - The message string. - The reason, i.e. a throwable that indirectly - caused this exception. - - - - Provides various static utility methods. - @author Rainer Klute (klute@rainer-klute.de) - @since 2002-02-09 - - - - - Copies a part of a byte array into another byte array. - - The source byte array. - OffSet in the source byte array. - The number of bytes To Copy. - The destination byte array. - OffSet in the destination byte array. - - - - Concatenates the contents of several byte arrays into a - single one. - - The byte arrays To be conCatened. - A new byte array containing the conCatenated byte arrays. - - - - Copies bytes from a source byte array into a new byte - array. - - Copy from this byte array. - Start Copying here. - Copy this many bytes. - The new byte array. Its Length is number of copied bytes. - - - The difference between the Windows epoch (1601-01-01 - 00:00:00) and the Unix epoch (1970-01-01 00:00:00) in - milliseconds: 11644473600000L. (Use your favorite spReadsheet - program To verify the correctness of this value. By the way, - did you notice that you can tell from the epochs which - operating system is the modern one? :-)) - - - - Converts a Windows FILETIME into a {@link DateTime}. The Windows - FILETIME structure holds a DateTime and time associated with a - file. The structure identifies a 64-bit integer specifying the - number of 100-nanosecond intervals which have passed since - January 1, 1601. This 64-bit value is split into the two double - words stored in the structure. - - The higher double word of the FILETIME structure. - The lower double word of the FILETIME structure. - The Windows FILETIME as a {@link DateTime}. - - - - Converts a Windows FILETIME into a {@link DateTime}. The Windows - FILETIME structure holds a DateTime and time associated with a - file. The structure identifies a 64-bit integer specifying the - number of 100-nanosecond intervals which have passed since - January 1, 1601. - - The filetime To Convert. - The Windows FILETIME as a {@link DateTime}. - - - - Converts a {@link DateTime} into a filetime. - - The DateTime To be Converted - The filetime - - - - Compares To object arrays with regarding the objects' order. For - example, [1, 2, 3] and [2, 1, 3] are equal. - - The first object array. - The second object array. - true - if the object arrays are equal, - false - if they are not. - - - - Internals the equals. - - The c1. - The c2. - - - - - Pads a byte array with 0x00 bytes so that its Length is a multiple of - 4. - - The byte array To pad. - The padded byte array. - - - - Pads a character array with 0x0000 characters so that its Length is a - multiple of 4. - - The character array To pad. - The padded character array. - - - - Pads a string with 0x0000 characters so that its Length is a - multiple of 4. - - The string To pad. - The padded string as a character array. - - - - The Variant types as defined by Microsoft's COM. I - found this information in - http://www.marin.clara.net/COM/variant_type_definitions.htm. - In the variant types descriptions the following shortcuts are - used: [V] - may appear in a VARIANT, - [T] - may appear in a TYPEDESC, - [P] - may appear in an OLE property Set, - [S] - may appear in a Safe Array. - @author Rainer Klute (klute@rainer-klute.de) - @since 2002-02-09 - - - - [V][P] Nothing, i.e. not a single byte of data. - - - [V][P] SQL style Null. - - - [V][T][P][S] 2 byte signed int. - - - [V][T][P][S] 4 byte signed int. - - - [V][T][P][S] 4 byte real. - - - [V][T][P][S] 8 byte real. - - - [V][T][P][S] currency. How long is this? How is it To be - interpreted? - - - [V][T][P][S] DateTime. How long is this? How is it To be - interpreted? - - - [V][T][P][S] OLE Automation string. How long is this? How is it - To be interpreted? - - - [V][T][P][S] IDispatch *. How long is this? How is it To be - interpreted? - - - [V][T][S] SCODE. How - long is this? How is it To be interpreted? - - - [V][T][P][S] True=-1, False=0. - - - [V][T][P][S] VARIANT *. How long is this? How is it To be - interpreted? - - - [V][T][S] IUnknown *. How long is this? How is it To be - interpreted? - - - [V][T][S] 16 byte fixed point. - - - [T] signed char. - - - [V][T][P][S] unsigned char. - - - [T][P] unsigned short. - - - [T][P] unsigned int. - - - [T][P] signed 64-bit int. - - - [T][P] unsigned 64-bit int. - - - [T] signed machine int. - - - [T] unsigned machine int. - - - [T] C style void. - - - [T] Standard return type. How long is this? How is it To be - interpreted? - - - [T] pointer type. How long is this? How is it To be - interpreted? - - - [T] (use VT_ARRAY in VARIANT). - - - [T] C style array. How long is this? How is it To be - interpreted? - - - [T] user defined type. How long is this? How is it To be - interpreted? - - - [T][P] null terminated string. - - - [T][P] wide (Unicode) null terminated string. - - - [P] FILETIME. The FILETIME structure holds a DateTime and time - associated with a file. The structure identifies a 64-bit - integer specifying the number of 100-nanosecond intervals which - have passed since January 1, 1601. This 64-bit value is split - into the two dwords stored in the structure. - - - [P] Length prefixed bytes. - - - [P] Name of the stream follows. - - - [P] Name of the storage follows. - - - [P] Stream Contains an object. How long is this? How is it - To be interpreted? - - - [P] Storage Contains an object. How long is this? How is it - To be interpreted? - - - [P] Blob Contains an object. How long is this? How is it To be - interpreted? - - - [P] Clipboard format. How long is this? How is it To be - interpreted? - - - [P] A Class ID. - - It consists of a 32 bit unsigned integer indicating the size - of the structure, a 32 bit signed integer indicating (Clipboard - Format Tag) indicating the type of data that it Contains, and - then a byte array containing the data. - - The valid Clipboard Format Tags are: - -
    -
  • {@link Thumbnail#CFTAG_WINDOWS}
  • -
  • {@link Thumbnail#CFTAG_MACINTOSH}
  • -
  • {@link Thumbnail#CFTAG_NODATA}
  • -
  • {@link Thumbnail#CFTAG_FMTID}
  • -
- -
typedef struct tagCLIPDATA {
-             // cbSize is the size of the buffer pointed To
-             // by pClipData, plus sizeof(ulClipFmt)
-             ULONG              cbSize;
-             long               ulClipFmt;
-             BYTE*              pClipData;
-             } CLIPDATA;
- - See - msdn.microsoft.com/library/en-us/com/stgrstrc_0uwk.asp. -
- - "MUST be a VersionedStream. The storage representing the (non-simple) - property set MUST have a stream element with the name in the StreamName - field." -- [MS-OLEPS] -- v20110920; Object Linking and Embedding (OLE) - Property Set Data Structures; page 24 / 63 - - - [P] simple counted array. How long is this? How is it To be - interpreted? - - - [V] SAFEARRAY*. How - long is this? How is it To be interpreted? - - - [V] void* for local use. How long is this? How is it To be - interpreted? - - - FIXME (3): Document this! - - - FIXME (3): Document this! - - - FIXME (3): Document this! - - - FIXME (3): Document this! - - - Denotes a variant type with a Length that is unknown To HPSF yet. - - - Denotes a variant type with a variable Length. - - - Denotes a variant type with a Length of 0 bytes. - - - Denotes a variant type with a Length of 2 bytes. - - - Denotes a variant type with a Length of 4 bytes. - - - Denotes a variant type with a Length of 8 bytes. - - - Maps the numbers denoting the variant types To their corresponding - variant type names. - - - - Returns the variant type name associated with a variant type - number. - - The variant type number. - The variant type name or the string "unknown variant type" - - - - Returns a variant type's Length. - - The variant type number. - The Length of the variant type's data in bytes. If the Length Is - variable, i.e. the Length of a string, -1 is returned. If HPSF does not - know the Length, -2 is returned. The latter usually indicates an - unsupported variant type. - - - - Supports Reading and writing of variant data. - FIXME (3): - Reading and writing should be made more - uniform than it is now. The following items should be resolved: - Reading requires a Length parameter that is 4 byte greater than the - actual data, because the variant type field is included. - Reading Reads from a byte array while writing Writes To an byte array - output stream. - @author Rainer Klute - <klute@rainer-klute.de> - @since 2003-08-08 - - - - Keeps a list of the variant types an "unsupported" message has alReady - been issued for. - - - - Writes a warning To System.err that a variant type Is - unsupported by HPSF. Such a warning is written only once for each variant - type. Log messages can be turned on or off by - - The exception To log - - - HPSF is able To Read these {@link Variant} types. - - - - Checks whether HPSF supports the specified variant type. Unsupported - types should be implemented included in the {@link #SUPPORTED_TYPES} - array. - - the variant type To check - - true if HPFS supports this type,otherwise, false. - - - - - Reads a variant type from a byte array - - The byte array - The offset in the byte array where the variant starts - The Length of the variant including the variant type field - The variant type To Read - The codepage To use for non-wide strings - A Java object that corresponds best To the variant field. For - example, a VT_I4 is returned as a {@link long}, a VT_LPSTR as a - {@link String}. - - -

Turns a codepage number into the equivalent character encoding's - name.

- - @param codepage The codepage number - - @return The character encoding's name. If the codepage number is 65001, - the encoding name is "UTF-8". All other positive numbers are mapped to - "cp" followed by the number, e.g. if the codepage number is 1252 the - returned character encoding name will be "cp1252". - - @exception UnsupportedEncodingException if the specified codepage is - less than zero. -
- - - Writes a variant value To an output stream. This method ensures that - always a multiple of 4 bytes is written. - If the codepage is UTF-16, which is encouraged, strings - must always be written as {@link Variant#VT_LPWSTR} - strings, not as {@link Variant#VT_LPSTR} strings. This method ensure this - by Converting strings appropriately, if needed. - - The stream To Write the value To. - The variant's type. - The variant's value. - The codepage To use To Write non-wide strings - The number of entities that have been written. In many cases an - "entity" is a byte but this is not always the case. - - - - Checks whether logging of unsupported variant types warning is turned - on or off. - - - true if logging is turned on; otherwise, false. - - - - - This is a dictionary which maps property ID values To property - ID strings. - The methods {@link #GetSummaryInformationProperties} and {@link - #GetDocumentSummaryInformationProperties} return singleton {@link - PropertyIDMap}s. An application that wants To extend these maps - should treat them as unmodifiable, copy them and modifiy the - copies. - @author Rainer Klute - <klute@rainer-klute.de> - @since 2002-02-09 - - - - ID of the property that denotes the document's title - - - ID of the property that denotes the document's subject - - - ID of the property that denotes the document's author - - - ID of the property that denotes the document's keywords - - - ID of the property that denotes the document's comments - - - ID of the property that denotes the document's template - - - ID of the property that denotes the document's last author - - - ID of the property that denotes the document's revision number - - - ID of the property that denotes the document's edit time - - - ID of the property that denotes the DateTime and time the document was - last printed - - - ID of the property that denotes the DateTime and time the document was - Created. - - - ID of the property that denotes the DateTime and time the document was - saved - - - ID of the property that denotes the number of pages in the - document - - - ID of the property that denotes the number of words in the - document - - - ID of the property that denotes the number of characters in the - document - - - ID of the property that denotes the document's thumbnail - - - ID of the property that denotes the application that Created the - document - - - ID of the property that denotes whether Read/Write access To the - document is allowed or whether is should be opened as Read-only. It can - have the following values: - - - - - - - - - - - - - - - - - - - - -
ValueDescription
0No restriction
2Read-only recommended
4Read-only enforced
-
- - The entry is a dictionary. - - - The entry denotes a code page. - - - The entry is a string denoting the category the file belongs - To, e.g. review, memo, etc. This is useful To Find documents of - same type. - - - TarGet format for power point presentation, e.g. 35mm, - printer, video etc. - - - Number of bytes. - - - Number of lines. - - - Number of paragraphs. - - - Number of slides in a power point presentation. - - - Number of slides with notes. - - - Number of hidden slides. - - - Number of multimedia clips, e.g. sound or video. - - - This entry is Set To -1 when scaling of the thumbnail Is - desired. Otherwise the thumbnail should be cropped. - - - This entry denotes an internally used property. It is a - vector of variants consisting of pairs of a string (VT_LPSTR) - and a number (VT_I4). The string is a heading name, and the - number tells how many document parts are under that - heading. - - - This entry Contains the names of document parts (word: names - of the documents in the master document, excel: sheet names, - power point: slide titles, binder: document names). - - - This entry Contains the name of the project manager. - - - This entry Contains the company name. - - - If this entry is -1 the links are dirty and should be - re-evaluated. - - - The highest well-known property ID. Applications are free To use higher values for custom purposes. - - - Contains the summary information property ID values and - associated strings. See the overall HPSF documentation for - details! - - - Contains the summary information property ID values and - associated strings. See the overall HPSF documentation for - details! - - - - Initializes a new instance of the class. - - initialCapacity The initial capacity as defined for - {@link HashMap} - The load factor as defined for {@link HashMap} - - - - Initializes a new instance of the class. - - The instance To be Created is backed by this map. - - - - Puts a ID string for an ID into the {@link - PropertyIDMap}. - - The ID string. - The id string. - As specified by the {@link java.util.Map} interface, this method - returns the previous value associated with the specified id - - - - Gets the ID string for an ID from the {@link - PropertyIDMap}. - - The ID. - The ID string associated with id - - - - Gets the Summary Information properties singleton - - - - - - Gets the Document Summary Information properties - singleton. - - The Document Summary Information properties singleton. - - - - Maps section format IDs To {@link PropertyIDMap}s. It Is - initialized with two well-known section format IDs: those of the - \005SummaryInformation stream and the - \005DocumentSummaryInformation stream. - If you have a section format ID you can use it as a key To query - this map. If you Get a {@link PropertyIDMap} returned your section - is well-known and you can query the {@link PropertyIDMap} for PID - strings. If you Get back null you are on your own. - This {@link java.util.Map} expects the byte arrays of section format IDs - as keys. A key maps To a {@link PropertyIDMap} describing the - property IDs in sections with the specified section format ID. - @author Rainer Klute (klute@rainer-klute.de) - @since 2002-02-09 - - - - A property without a known name is described by this string. - - - The SummaryInformation's section's format ID. - - - The DocumentSummaryInformation's first and second sections' format - ID. - - - The default section ID map. It maps section format IDs To - {@link PropertyIDMap}s. - - - - Returns the singleton instance of the default {@link - SectionIDMap}. - - The instance value - - - - Returns the property ID string that is associated with a - given property ID in a section format ID's namespace. - - Each section format ID has its own name - space of property ID strings and thus must be specified. - The property ID - The well-known property ID string associated with the - property ID pid in the name space spanned by sectionFormatID If the pid - sectionFormatID combination is not well-known, the - string "[undefined]" is returned. - - - - - Returns the {@link PropertyIDMap} for a given section format - ID. - - The section format ID. - the property ID map - - - - Returns the {@link PropertyIDMap} for a given section format - ID. - - A section format ID as a - byte[] - the property ID map - - - - Associates a section format ID with a {@link - PropertyIDMap}. - - the section format ID - The property ID map. - - - - - Puts the specified key. - - This parameter remains undocumented since the method Is - deprecated. - This parameter remains undocumented since the method Is - deprecated. - The return value remains undocumented since the method Is - deprecated. - - - - This exception is thrown when trying To Write a (yet) unsupported variant - type. - @see ReadingNotSupportedException - @see UnsupportedVariantTypeException - @author Rainer Klute - <klute@rainer-klute.de> - @since 2003-08-08 - - - - - Initializes a new instance of the class. - - The unsupported variant type. - The value - - - An ERFListener Is registered with the EventRecordFactory. - An ERFListener listens for Records coming from the stream - via the EventRecordFactory - - @see EventRecordFactory - @author Andrew C. Oliver acoliver@apache.org - - - Process a Record. This method Is called by the - EventRecordFactory when a record Is returned. - @return bool specifying whether the effort was a success. - - - Event-based record factory. As opposed to RecordFactory - this refactored version throws record events as it comes - accross the records. I throws the "lazily" one record behind - to ensure that ContinueRecords are Processed first. - - @author Andrew C. Oliver (acoliver@apache.org) - probably to blame for the bugs (so yank his chain on the list) - @author Marc Johnson (mjohnson at apache dot org) - methods taken from RecordFactory - @author Glen Stampoultzis (glens at apache.org) - methods taken from RecordFactory - @author Csaba Nagy (ncsaba at yahoo dot com) - - - Create an EventRecordFactory - @param abortable specifies whether the return from the listener - handler functions are obeyed. False means they are ignored. True - means the event loop exits on error. - - - sends the record event to all registered listeners. - @param record the record to be thrown. - @return false to abort. This aborts - out of the event loop should the listener return false - - - Create an array of records from an input stream - - @param in the InputStream from which the records will be - obtained - - @exception RecordFormatException on error Processing the - InputStream - - - Interface for use with the HSSFRequest and HSSFEventFactory. Users should Create - a listener supporting this interface and register it with the HSSFRequest (associating - it with Record SID's). - - @see org.apache.poi.hssf.eventusermodel.HSSFEventFactory - @see org.apache.poi.hssf.eventusermodel.HSSFRequest - @see org.apache.poi.hssf.eventusermodel.HSSFUserException - - @author Carey Sublette (careysub@earthling.net) - - - - - Interface for use with the HSSFRequest and HSSFEventFactory. Users should Create - a listener supporting this interface and register it with the HSSFRequest (associating - it with Record SID's). - @author acoliver@apache.org - - - - - Process an HSSF Record. Called when a record occurs in an HSSF file. - - The record. - - - This method, inherited from HSSFListener Is implemented as a stub. - It Is never called by HSSFEventFActory or HSSFRequest. - - - - Process an HSSF Record. Called when a record occurs in an HSSF file. - Provides two options for halting the Processing of the HSSF file. - - The return value provides a means of non-error termination with a - user-defined result code. A value of zero must be returned to - continue Processing, any other value will halt Processing by - HSSFEventFactory with the code being passed back by - its abortable Process events methods. - - Error termination can be done by throwing the HSSFUserException. - - Note that HSSFEventFactory will not call the inherited Process - - @return result code of zero for continued Processing. - - @throws HSSFUserException User code can throw this to abort - file Processing by HSSFEventFactory and return diagnostic information. - - - A dummy record to indicate that we've now had the last - cell record for this row. - - - Returns the (0 based) number of the row we are - currently working on. - - - Returns the (0 based) number of the last column - seen for this row. You should have alReady been - called with that record. - This Is -1 in the case of there being no columns - for the row. - - - A dummy record for when we're missing a cell in a row, - but still want to trigger something - - - A dummy record for when we're missing a row, but still - want to trigger something - - - - When working with the EventUserModel, if you want to - Process formulas, you need an instance of - Workbook to pass to a HSSFWorkbook, - to finally give to HSSFFormulaParser, - and this will build you stub ones. - Since you're working with the EventUserModel, you - wouldn't want to Get a full Workbook and - HSSFWorkbook, as they would eat too much memory. - Instead, you should collect a few key records as they - go past, then call this once you have them to build a - stub Workbook, and from that a stub - HSSFWorkbook, to use with the HSSFFormulaParser. - The records you should collect are: - ExternSheetRecord - BoundSheetRecord - You should probably also collect SSTRecord, - but it's not required to pass this in. - To help, this class includes a HSSFListener wrapper - that will do the collecting for you. - - - - - Creates a stub Workbook from the supplied records, - suitable for use with the {@link HSSFFormulaParser} - - The ExternSheetRecords in your file - The BoundSheetRecords in your file - TThe SSTRecord in your file. - A stub Workbook suitable for use with HSSFFormulaParser - - - - Creates a stub workbook from the supplied records, - suitable for use with the HSSFFormulaParser - - The ExternSheetRecords in your file - A stub Workbook suitable for use with HSSFFormulaParser - A stub Workbook suitable for use with {@link HSSFFormulaParser} - - - - A wrapping HSSFListener which will collect - BoundSheetRecords and {@link ExternSheetRecord}s as - they go past, so you can Create a Stub {@link Workbook} from - them once required. - - - - - Initializes a new instance of the class. - - The child listener. - - - - Gets the bound sheet records. - - - - - - Gets the extern sheet records. - - - - - - Gets the SST record. - - - - - - Gets the stub HSSF workbook. - - - - - - Gets the stub workbook. - - - - - - Process this record ourselves, and then - pass it on to our child listener - - The record. - - - - Process the record ourselves, but do not - pass it on to the child Listener. - - The record. - - - A proxy HSSFListener that keeps track of the document - formatting records, and provides an easy way to look - up the format strings used by cells from their ids. - - - Process this record ourselves, and then - pass it on to our child listener - - - Process the record ourselves, but do not - pass it on to the child Listener. - @param record - - - Formats the given numeric of date Cell's contents - as a String, in as close as we can to the way - that Excel would do so. - Uses the various format records to manage this. - - TODO - move this to a central class in such a - way that hssf.usermodel can make use of it too - - - Returns the format string, eg $##.##, for the - given number format index. - - - Returns the format string, eg $##.##, used - by your cell - - - Returns the index of the format string, used by your cell, - or -1 if none found - - - - Low level event based HSSF Reader. Pass either a DocumentInputStream to - Process events along with a request object or pass a POIFS POIFSFileSystem to - ProcessWorkbookEvents along with a request. - This will cause your file to be Processed a record at a time. Each record with - a static id matching one that you have registed in your HSSFRequest will be passed - to your associated HSSFListener. - @author Andrew C. Oliver (acoliver at apache dot org) - @author Carey Sublette (careysub@earthling.net) - - - - - Creates a new instance of HSSFEventFactory - - - - - Processes a file into essentially record events. - - an Instance of HSSFRequest which has your registered listeners - a POIFS filesystem containing your workbook - - - - Processes a file into essentially record events. - - an Instance of HSSFRequest which has your registered listeners - a POIFS filesystem containing your workbook - numeric user-specified result code. - - - - Processes a DocumentInputStream into essentially Record events. - If an - AbortableHSSFListener - causes a halt to Processing during this call - the method will return just as with - abortableProcessEvents - , but no - user code or - HSSFUserException - will be passed back. - - an Instance of HSSFRequest which has your registered listeners - a DocumentInputStream obtained from POIFS's POIFSFileSystem object - - - - Processes a DocumentInputStream into essentially Record events. - - an Instance of HSSFRequest which has your registered listeners - a DocumentInputStream obtained from POIFS's POIFSFileSystem object - numeric user-specified result code. - - - - Processes a DocumentInputStream into essentially Record events. - - an Instance of HSSFRequest which has your registered listeners - a DocumentInputStream obtained from POIFS's POIFSFileSystem object - numeric user-specified result code. - - - - A stream based way to Get at complete records, with - as low a memory footprint as possible. - This handles Reading from a RecordInputStream, turning - the data into full records, Processing continue records - etc. - Most users should use HSSFEventFactory - HSSFListener and have new records pushed to - them, but this does allow for a "pull" style of coding. - - - - Have we run out of records on the stream? - - - Have we returned all the records there are? - - - Sometimes we end up with a bunch of - records. When we do, these should - be returned before the next normal - record Processing occurs (i.e. before - we Check for continue records and - return rec) - - - The next record to return, which may need to have its - continue records passed to it before we do - - - The most recent record that we gave to the user - - - The most recent DrawingRecord seen - - - - Returns the next (complete) record from the - stream, or null if there are no more. - - - - - - If there are any "bonus" records, that should - be returned before Processing new ones, - grabs the next and returns it. - If not, returns null; - - - - - - Returns the next available record, or null if - this pass didn't return a record that's - suitable for returning (eg was a continue record). - - - - - - An HSSFRequest object should be constructed registering an instance or multiple - instances of HSSFListener with each Record.sid you wish to listen for. - @author Andrew C. Oliver (acoliver at apache dot org) - @author Carey Sublette (careysub@earthling.net) - - - - - Creates a new instance of HSSFRequest - - - - - Add an event listener for a particular record type. The trick Is you have to know - what the records are for or just start with our examples and build on them. Alternatively, - you CAN call AddListenerForAllRecords and you'll recieve ALL record events in one listener, - but if you like to squeeze every last byte of efficiency out of life you my not like this. - (its sure as heck what I plan to do) - - for the event - identifier for the record type this Is the .sid static member on the individual records - - - - This Is the equivilent of calling AddListener(myListener, sid) for EVERY - record in the org.apache.poi.hssf.record package. This Is for lazy - people like me. You can call this more than once with more than one listener, but - that seems like a bad thing to do from a practice-perspective Unless you have a - compelling reason to do so (like maybe you send the event two places or log it or - something?). - - a single listener to associate with ALL records - - - - Called by HSSFEventFactory, passes the Record to each listener associated with - a record.sid. - Exception and return value Added 2002-04-19 by Carey Sublette - - The record. - numeric user-specified result code. If zero continue Processing. - - - - This exception Is provided as a way for API users to throw - exceptions from their event handling code. By doing so they - abort file Processing by the HSSFEventFactory and by - catching it from outside the HSSFEventFactory.ProcessEvents - method they can diagnose the cause for the abort. - The HSSFUserException supports a nested "reason" - throwable, i.e. an exception that caused this one to be thrown. - The HSSF package does not itself throw any of these - exceptions. - - - @author Rainer Klute (klute@rainer-klute.de) - @author Carey Sublette (careysub@earthling.net) - - - - - Creates a new HSSFUserException - - - - - Creates a new HSSFUserException with a message - string. - - The MSG. - - - - Creates a new HSSFUserException with a reason. - - The reason. - - - - Creates a new HSSFUserException with a message string - and a reason. - - The MSG. - The reason. - - - - A HSSFListener which tracks rows and columns, and will - trigger your HSSFListener for all rows and cells, - even the ones that aren't actually stored in the file. - This allows your code to have a more "Excel" like - view of the data in the file, and not have to worry - (as much) about if a particular row/cell Is in the - file, or was skipped from being written as it was - blank. - - - - - Constructs a new MissingRecordAwareHSSFListener, which - will fire ProcessRecord on the supplied child - HSSFListener for all Records, and missing records. - - The HSSFListener to pass records on to - - - - Process an HSSF Record. Called when a record occurs in an HSSF file. - - - - - - A text extractor for Excel files, that is based - on the hssf eventusermodel api. - It will typically use less memory than - ExcelExtractor, but may not provide - the same richness of formatting. - Returns the textual content of the file, suitable for - indexing by something like Lucene, but not really - intended for display to the user. - - - - - Common Parent for OLE2 based Text Extractors - of POI Documents, such as .doc, .xls - You will typically find the implementation of - a given format's text extractor under NPOI.Format.Extractor - - - @see org.apache.poi.hssf.extractor.ExcelExtractor - @see org.apache.poi.hslf.extractor.PowerPointExtractor - @see org.apache.poi.hdgf.extractor.VisioTextExtractor - @see org.apache.poi.hwpf.extractor.WordExtractor - - - - - Creates a new text extractor for the given document - - - - - - Returns the document information metadata for the document - - The doc summary information. - - - - Returns the summary information metadata for the document - - The summary information. - - - - Returns an HPSF powered text extractor for the - document properties metadata, such as title and author. - - - - - - Triggers the extraction. - - - - - - Would return the document information metadata for the document, - if we supported it - - The doc summary information. - - - - Would return the summary information metadata for the document, - if we supported it - - The summary information. - - - - Should sheet names be included? Default is true - - if set to true [include sheet names]. - - - - Should we return the formula itself, and not - the result it produces? Default is false - - if set to true [formulas not results]. - - - - Retreives the text contents of the file - - All the text from the document. - - - - Process an HSSF Record. Called when a record occurs in an HSSF file. - - - - - - Formats a number or date cell, be that a real number, or the - answer to a formula - - The cell. - The value. - - - - - A text extractor for Excel files. - Returns the textual content of the file, suitable for - indexing by something like Lucene, but not really - intended for display to the user. - - - - Common interface for Excel text extractors, covering - HSSF and XSSF - - - Retreives the text contents of the file - - - - Initializes a new instance of the class. - - The wb. - - - - Initializes a new instance of the class. - - The fs. - - - - Extracts the header footer. - - The header or footer - - - - - Should header and footer be included? Default is true - - - - - Should sheet names be included? Default is true - - if set to true [include sheet names]. - - - - Should we return the formula itself, and not - the result it produces? Default is false - - if set to true [formulas not results]. - - - - Should cell comments be included? Default is false - - if set to true [include cell comments]. - - - - Should blank cells be output? Default is to only - output cells that are present in the file and are - non-blank. - - if set to true [include blank cells]. - - - - Retreives the text contents of the file - - All the text from the document. - - - - An abstract shape Is the lowlevel model for a shape. - @author Glen Stampoultzis (glens at apache.org) - - - - - Create a new shape object used to Create the escher records. - - The simple shape this Is based on. - The shape id. - - - - - Creates an escher anchor record from a HSSFAnchor. - - The high level anchor to Convert. - An escher anchor record. - - - - Add standard properties to the opt record. These properties effect - all records. - - The user model shape. - The opt record to Add the properties to. - The number of options Added. - - - - Generate id for the CommonObjectDataSubRecord that stands behind this shape - - shape id as generated by drawing manager - object id that will be assigned to the Obj record - - - - The shape container and it's children that can represent this - shape. - - The sp container. - - - - The object record that Is associated with this shape. - - The obj record. - - - Creates the low evel records for a combobox. - - @param hssfShape The highlevel shape. - @param shapeId The shape id to use for this shape. - - - Creates the low level OBJ record for this shape. - - - Generates the escher shape records for this shape. - - - - Represents a cell comment. - This class Converts highlevel model data from HSSFComment - to low-level records. - @author Yegor Kozlov - - - - - Represents an textbox shape and Converts between the highlevel records - and lowlevel records for an oval. - @author Glen Stampoultzis (glens at apache.org) - - - - - Creates the low evel records for a textbox. - - The highlevel shape. - The shape id to use for this shape. - - - - Creates the lowerlevel OBJ records for this shape. - - The HSSF shape. - The shape id. - - - - - Creates the lowerlevel escher records for this shape. - - The HSSF shape. - The shape id. - - - - - Textboxes also have an extra TXO record associated with them that most - other shapes dont have. - - The HSSF shape. - The shape id. - - - - - The shape container and it's children that can represent this - shape. - - - - - - The object record that is associated with this shape. - - - - - - The TextObject record that is associated with this shape. - - - - - - Gets the EscherTextbox record. - - The EscherTextbox record. - - - - Creates the low-level records for a comment. - - The highlevel shape. - The shape id to use for this shape. - - - - Creates the low level NoteRecord - which holds the comment attributes. - - The shape. - The shape id. - - - - - Sets standard escher options for a comment. - This method is responsible for Setting default background, - shading and other comment properties. - - The highlevel shape. - The escher records holding the proerties - The number of escher options added - - - - Gets the NoteRecord holding the comment attributes - - The NoteRecord - - - - Creates the anchor. - - The user anchor. - - - - Provides utilities to manage drawing Groups. - - @author Glen Stampoultzis (glens at apache.org) - - - Allocates new shape id for the new drawing Group id. - - @return a new shape id. - - - - Provides utilities to manage drawing Groups. - - - Glen Stampoultzis (glens at apache.org) - - - - - Clears the cached list of drawing Groups - - - - - Allocates new shape id for the new drawing Group id. - - - a new shape id. - - - - Allocates new shape id for the new drawing group id. - - - - a new shape id. - - - - Finds the next available (1 based) drawing Group id - - - - - HSSF wrapper for the {@link FormulaParser} and {@link FormulaRenderer} - - @author Josh Micich - - - Convenience method for parsing cell formulas. see {@link #parse(String, HSSFWorkbook, int)} - - - @param formulaType a constant from {@link FormulaType} - @return the parsed formula tokens - - - @param formula the formula to parse - @param workbook the parent workbook - @param formulaType a constant from {@link FormulaType} - @param sheetIndex the 0-based index of the sheet this formula belongs to. - The sheet index is required to resolve sheet-level names. -1 means that - the scope of the name will be ignored and the parser will match named ranges only by name - - @return the parsed formula tokens - - - Static method to convert an array of {@link Ptg}s in RPN order - to a human readable string format in infix mode. - @param book used for defined names and 3D references - @param ptgs must not be null - @return a human readable String - - - - Represents a line shape and Creates all the line specific low level records. - @author Glen Stampoultzis (glens at apache.org) - - - - - Creates the line shape from the highlevel user shape. All low level - records are Created at this point. - - The user model shape - The identifier to use for this shape. - - - - Creates the lowerlevel escher records for this shape. - - The HSSF shape. - The shape id. - - - - - Creates the low level OBJ record for this shape. - - The HSSF shape. - The shape id. - - - - - The shape container and it's children that can represent this - shape. - - - - - - The object record that is associated with this shape. - - - - - Link Table (OOO pdf reference: 4.10.3 )

- - The main data of all types of references is stored in the Link Table inside the Workbook Globals - Substream (4.2.5). The Link Table itself is optional and occurs only, if there are any - references in the document. -

- - In BIFF8 the Link Table consists of -

    -
  • zero or more EXTERNALBOOK Blocks

    - each consisting of -

      -
    • exactly one EXTERNALBOOK (0x01AE) record
    • -
    • zero or more EXTERNALNAME (0x0023) records
    • -
    • zero or more CRN Blocks

      - each consisting of -

        -
      • exactly one XCT (0x0059)record
      • -
      • zero or more CRN (0x005A) records (documentation says one or more)
      • -
      -
    • -
    -
  • -
  • zero or one EXTERNSHEET (0x0017) record
  • -
  • zero or more DEFINEDNAME (0x0018) records
  • -
- - - @author Josh Micich -
- - @param extRefIndex as from a {@link Ref3DPtg} or {@link Area3DPtg} - @return -1 if the reference is to an external book - - - @param extRefIndex as from a {@link Ref3DPtg} or {@link Area3DPtg} - @return -1 if the reference is to an external book - - - Finds the external name definition for the given name, - optionally restricted by externsheet index, and returns - (if found) as a NameXPtg. - @param sheetRefIndex The Extern Sheet Index to look for, or -1 if any - - - Register an external name in this workbook - - @param name the name to register - @return a NameXPtg describing this name - - - copied from Workbook - - - Changes an external referenced file to another file. - A formular in Excel which refers a cell in another file is saved in two parts: - The referenced file is stored in an reference table. the row/cell information is saved separate. - This method invokation will only change the reference in the lookup-table itself. - @param oldUrl The old URL to search for and which is to be replaced - @param newUrl The URL replacement - @return true if the oldUrl was found and replaced with newUrl. Otherwise false - - - TODO - would not be required if calling code used RecordStream or similar - - - Create a new block for registering add-in functions - - @see org.apache.poi.hssf.model.LinkTable#addNameXPtg(String) - - - Create a new block for external references. - - - Create a new block for internal references. It is called when constructing a new LinkTable. - - @see org.apache.poi.hssf.model.LinkTable#LinkTable(int, WorkbookRecordList) - - - Performs case-insensitive search - @return -1 if not found - - - Represents a syntactic element from a formula by encapsulating the corresponding Ptg - token. Each ParseNode may have child ParseNodes in the case when the wrapped - Ptg is non-atomic. - - @author Josh Micich - - - - Collects the array of Ptg - tokens for the specified tree. - - The root node. - - - - - The IF() function Gets marked up with two or three tAttr tokens. - Similar logic will be required for CHOOSE() when it is supported - See excelfileformat.pdf sec 3.10.5 "tAttr (19H) - - The temp. - - - - Represents a picture shape and Creates all specific low level records. - @author Glen Stampoultzis (glens at apache.org) - - - - - Creates the line shape from the highlevel user shape. All low level - records are Created at this point. - - The user model shape. - The identifier to use for this shape. - - - - Creates the lowerlevel escher records for this shape. - - The HSSF shape. - The shape id. - - - - - Creates the low level OBJ record for this shape. - - The HSSFShape. - The shape id. - - - - - The shape container and it's children that can represent this - shape. - - - - - - The object record that is associated with this shape. - - - - - - Creates the low evel records for an polygon. - - The highlevel shape. - The shape id to use for this shape. - - - - Creates the lowerlevel escher records for this shape. - - The HSSF shape. - The shape id. - - - - - Creates the lowerlevel OBJ records for this shape. - - The HSSF shape. - The shape id. - - - - - The shape container and it's children that can represent this - shape. - - - - - - The object record that is associated with this shape. - - - - - Finds correct insert positions for records in workbook streams

- - See OOO excelfileformat.pdf sec. 4.2.5 'Record Order in a BIFF8 Workbook Stream' - - @author Josh Micich - - - Adds the specified new record in the correct place in sheet records list - - - -

- Finds the index where the protection block should be inserted - - the records for this sheet - - - + BOF - o INDEX - o Calculation Settings Block - o PRINTHEADERS - o PRINTGRIDLINES - o GRIDSET - o GUTS - o DEFAULTROWHEIGHT - o SHEETPR - o Page Settings Block - o Worksheet Protection Block - o DEFCOLWIDTH - oo COLINFO - o SORT - + DIMENSION - -
- - - These records may occur between the 'Worksheet Protection Block' and DIMENSION: - - - - - o DEFCOLWIDTH - oo COLINFO - o SORT - - - - - Find correct position to add new CFHeader record - - - - - - Finds the index where the sheet validations header record should be inserted - @param records the records for this sheet - - + WINDOW2 - o SCL - o PANE - oo SELECTION - o STANDARDWIDTH - oo MERGEDCELLS - o LABELRANGES - o PHONETICPR - o Conditional Formatting Table - o Hyperlink Table - o Data Validity Table - o SHEETLAYOUT - o SHEETPROTECTION - o RANGEPROTECTION - + EOF - - - DIMENSIONS record is always present - - - - if the specified record ID terminates a sequence of Row block records - It is assumed that at least one row or cell value record has been found prior to the current - record - - - - - - - Whether the specified record id normally appears in the row blocks section of the sheet records - - - - - - - Simplifies iteration over a sequence of Record objects. - @author Josh Micich - - - - - Determines whether this instance has next. - - - true if this instance has next; otherwise, false. - - - - - Gets the next record - - - - - - Peeks the next sid. - - -1 if at end of records - - - - Peeks the next class. - - the class of the next Record.return null if this stream Is exhausted. - - - Segregates the 'Row Blocks' section of a single sheet into plain row/cell records and - shared formula records. - - @author Josh Micich - - - Also collects any loose MergeCellRecords and puts them in the supplied - mergedCellsTable - - - Some unconventional apps place {@link MergeCellsRecord}s within the row block. They - actually should be in the {@link MergedCellsTable} which is much later (see bug 45699). - @return any loose MergeCellsRecords found - - - @return a {@link RecordStream} containing all the non-{@link SharedFormulaRecord} - non-{@link ArrayRecord} and non-{@link TableRecord} Records. - - - - Low level model implementation of a Sheet (one workbook Contains many sheets) - This file Contains the low level binary records starting at the sheets BOF and - ending with the sheets EOF. Use HSSFSheet for a high level representation. - - The structures of the highlevel API use references to this to perform most of their - operations. Its probably Unwise to use these low level structures directly Unless you - really know what you're doing. I recommend you Read the Microsoft Excel 97 Developer's - Kit (Microsoft Press) and the documentation at http://sc.openoffice.org/excelfileformat.pdf - before even attempting to use this. - - - @author Andrew C. Oliver (acoliver at apache dot org) - @author Glen Stampoultzis (glens at apache.org) - @author Shawn Laubach (slaubach at apache dot org) Gridlines, Headers, Footers, PrintSetup, and Setting Default Column Styles - @author Jason Height (jheight at chariot dot net dot au) Clone support. DBCell and Index Record writing support - @author Brian Sanders (kestrel at burdell dot org) Active Cell support - @author Jean-Pierre Paris (jean-pierre.paris at m4x dot org) (Just a little) - - - - java object always present, but if empty no BIFF records are written - - - the DimensionsRecord is always present - - - Add an UncalcedRecord if not true indicating formulas have not been calculated - - - - Clones the low level records of this sheet and returns the new sheet instance. - This method is implemented by Adding methods for deep cloning to all records that - can be Added to a sheet. The Record object does not implement Cloneable. - When Adding a new record, implement a public Clone method if and only if the record - belongs to a sheet. - - - - - - get the NEXT value record (from LOC). The first record that is a value record - (starting at LOC) will be returned. - This method is "loc" sensitive. Meaning you need to set LOC to where you - want it to start searching. If you don't know do this: setLoc(getDimsLoc). - When adding several rows you can just start at the last one by leaving loc - at what this sets it to. For this method, set loc to dimsloc to start with, - subsequent calls will return values in (physical) sequence or NULL when you get to the end. - - the next value record or NULL if there are no more - - - - Creates the sheet. - - The stream. - - - - - Initializes a new instance of the class. - - The stream. - - - - Creates a sheet with all the usual records minus values and the "index" - record (not required). Sets the location pointer to where the first value - records should go. Use this to Create a sheet from "scratch". - - Sheet object with all values Set to defaults - - - - Adds the merged region. - - the row index From - The column index From. - The row index To - The column To. - - - - - Removes the merged region. - - The index. - - - - Gets the merged region at. - - The index. - - - - - Per an earlier reported bug in working with Andy Khan's excel Read library. This - Sets the values in the sheet's DimensionsRecord object to be correct. Excel doesn't - really care, but we want to play nice with other libraries. - - The first row. - The first column. - The last row. - The last column. - - - - Create a row record. (does not Add it to the records contained in this sheet) - - row number - RowRecord Created for the passed in row number - - - - Create a LABELSST Record (does not Add it to the records contained in this sheet) - - the row the LabelSST Is a member of - the column the LabelSST defines - the index of the string within the SST (use workbook AddSSTString method) - LabelSSTRecord newly Created containing your SST Index, row,col. - - - - Create a NUMBER Record (does not Add it to the records contained in this sheet) - - the row the NumberRecord is a member of - the column the NumberRecord defines - value for the number record - NumberRecord for that row, col containing that value as Added to the sheet - - - - Create a BLANK record (does not Add it to the records contained in this sheet) - - the row the BlankRecord is a member of - the column the BlankRecord is a member of - - - - - Adds a value record to the sheet's contained binary records - (i.e. LabelSSTRecord or NumberRecord). - This method is "loc" sensitive. Meaning you need to Set LOC to where you - want it to start searching. If you don't know do this: SetLoc(GetDimsLoc). - When Adding several rows you can just start at the last one by leaving loc - at what this Sets it to. - - the row to Add the cell value to - the cell value record itself. - - - - Remove a value record from the records array. - This method is not loc sensitive, it Resets loc to = dimsloc so no worries. - - the row of the value record you wish to Remove - a record supporting the CellValueRecordInterface. - - - - Replace a value record from the records array. - This method is not loc sensitive, it Resets loc to = dimsloc so no worries. - - a record supporting the CellValueRecordInterface. this will Replace - the cell value with the same row and column. If there Isn't one, one will - be Added. - - - - Adds a row record to the sheet - This method is "loc" sensitive. Meaning you need to Set LOC to where you - want it to start searching. If you don't know do this: SetLoc(GetDimsLoc). - When Adding several rows you can just start at the last one by leaving loc - at what this Sets it to. - - the row record to be Added - - - - Removes a row record - This method is not loc sensitive, it Resets loc to = dimsloc so no worries. - - the row record to Remove - - - - Get the NEXT (from LOC) RowRecord where rownumber matches the given rownum. - The first record that is a Row record (starting at LOC) that has the - same rownum as the given rownum will be returned. - This method is "loc" sensitive. Meaning you need to Set LOC to where you - want it to start searching. If you don't know do this: SetLoc(GetDimsLoc). - When Adding several rows you can just start at the last one by leaving loc - at what this Sets it to. For this method, Set loc to dimsloc to start with. - subsequent calls will return rows in (physical) sequence or NULL when you Get to the end. - - which row to return (careful with LOC) - RowRecord representing the next row record or NULL if there are no more - - - - Creates the BOF record - - record containing a BOFRecord - - - - Creates the Index record - not currently used - - record containing a IndexRecord - - - - Creates the CalcMode record and Sets it to 1 (automatic formula caculation) - - record containing a CalcModeRecord - - - - Creates the CalcCount record and Sets it to 0x64 (default number of iterations) - - record containing a CalcCountRecord - - - - Creates the RefMode record and Sets it to A1 Mode (default reference mode) - - record containing a RefModeRecord - - - - Creates the Iteration record and Sets it to false (don't iteratively calculate formulas) - - record containing a IterationRecord - - - - Creates the Delta record and Sets it to 0.0010 (default accuracy) - - record containing a DeltaRecord - - - - Creates the SaveRecalc record and Sets it to true (recalculate before saving) - - record containing a SaveRecalcRecord - - - - Creates the PrintHeaders record and Sets it to false (we don't Create headers yet so why print them) - - record containing a PrintHeadersRecord - - - - Creates the PrintGridlines record and Sets it to false (that makes for ugly sheets). As far as I can - tell this does the same thing as the GridsetRecord - - record containing a PrintGridlinesRecord - - - - Creates the GridSet record and Sets it to true (user has mucked with the gridlines) - - record containing a GridsetRecord - - - - Creates the Guts record and Sets leftrow/topcol guttter and rowlevelmax/collevelmax to 0 - - record containing a GutsRecordRecord - - - - Creates the DefaultRowHeight Record and Sets its options to 0 and rowheight to 0xff - - - - record containing a DefaultRowHeightRecord - - - Creates the WSBoolRecord and Sets its values to defaults - @see org.apache.poi.hssf.record.WSBoolRecord - @see org.apache.poi.hssf.record.Record - @return record containing a WSBoolRecord - - - Creates the HCenter Record and Sets it to false (don't horizontally center) - @see org.apache.poi.hssf.record.HCenterRecord - @see org.apache.poi.hssf.record.Record - @return record containing a HCenterRecord - - - Creates the VCenter Record and Sets it to false (don't horizontally center) - @see org.apache.poi.hssf.record.VCenterRecord - @see org.apache.poi.hssf.record.Record - @return record containing a VCenterRecord - - - Creates the PrintSetup Record and Sets it to defaults and marks it invalid - @see org.apache.poi.hssf.record.PrintSetupRecord - @see org.apache.poi.hssf.record.Record - @return record containing a PrintSetupRecord - - - Creates the DefaultColWidth Record and Sets it to 8 - @see org.apache.poi.hssf.record.DefaultColWidthRecord - @see org.apache.poi.hssf.record.Record - @return record containing a DefaultColWidthRecord - - - Get the width of a given column in Units of 1/256th of a Char width - @param column index - @see org.apache.poi.hssf.record.DefaultColWidthRecord - @see org.apache.poi.hssf.record.ColumnInfoRecord - @see #SetColumnWidth(short,short) - @return column width in Units of 1/256th of a Char width - - - Get the index to the ExtendedFormatRecord "associated" with - the column at specified 0-based index. (In this case, an - ExtendedFormatRecord index is actually associated with a - ColumnInfoRecord which spans 1 or more columns) -
- Returns the index to the default ExtendedFormatRecord (0xF) - if no ColumnInfoRecord exists that includes the column - index specified. - @param column - @return index of ExtendedFormatRecord associated with - ColumnInfoRecord that includes the column index or the - index of the default ExtendedFormatRecord (0xF) -
- - Set the width for a given column in 1/256th of a Char width Units - @param column - the column number - @param width (in Units of 1/256th of a Char width) - - - Get the hidden property for a given column. - @param column index - @see org.apache.poi.hssf.record.DefaultColWidthRecord - @see org.apache.poi.hssf.record.ColumnInfoRecord - @see #SetColumnHidden(short,bool) - @return whether the column is hidden or not. - - - Get the hidden property for a given column. - @param column - the column number - @param hidden - whether the column is hidden or not - - - Creates an outline Group for the specified columns. - @param fromColumn Group from this column (inclusive) - @param toColumn Group to this column (inclusive) - @param indent if true the Group will be indented by one level, - if false indenting will be Removed by one level. - - - Creates the Dimensions Record and Sets it to bogus values (you should Set this yourself - or let the high level API do it for you) - @see org.apache.poi.hssf.record.DimensionsRecord - @see org.apache.poi.hssf.record.Record - @return record containing a DimensionsRecord - - - Creates the WindowTwo Record and Sets it to: - options = 0x6b6 - toprow = 0 - leftcol = 0 - headercolor = 0x40 - pagebreakzoom = 0x0 - normalzoom = 0x0 - @see org.apache.poi.hssf.record.WindowTwoRecord - @see org.apache.poi.hssf.record.Record - @return record containing a WindowTwoRecord - - - - Creates the Selection record and Sets it to nothing selected - - record containing a SelectionRecord - - - - Sets the active cell. - - The row. - The column. - - - - Sets the active cell range. - - The firstrow. - The lastrow. - The firstcolumn. - The lastcolumn. - - - - Sets the active cell range. - - The cellranges. - The index of the active range. - The active row in the active range - The active column in the active range - - - - Creates the EOF record - - record containing a EOFRecord - - - - Returns the first occurance of a record matching a particular sid. - - The sid. - - - - - Sets the SCL record or Creates it in the correct place if it does not - already exist. - - The record to set. - - - Finds the first occurance of a record matching a particular sid and - returns it's position. - @param sid the sid to search for - @return the record position of the matching record or -1 if no match - is made. - - - Sets whether the sheet is selected - @param sel True to select the sheet, false otherwise. - - - Creates a split (freezepane). Any existing freezepane or split pane Is overwritten. - @param colSplit Horizonatal position of split. - @param rowSplit Vertical position of split. - @param topRow Top row visible in bottom pane - @param leftmostColumn Left column visible in right pane. - - - Creates a split pane. Any existing freezepane or split pane is overwritten. - @param xSplitPos Horizonatal position of split (in 1/20th of a point). - @param ySplitPos Vertical position of split (in 1/20th of a point). - @param topRow Top row visible in bottom pane - @param leftmostColumn Left column visible in right pane. - @param activePane Active pane. One of: PANE_LOWER_RIGHT, - PANE_UPPER_RIGHT, PANE_LOWER_LEFT, PANE_UPPER_LEFT - @see #PANE_LOWER_LEFT - @see #PANE_LOWER_RIGHT - @see #PANE_UPPER_LEFT - @see #PANE_UPPER_RIGHT - - - creates a Password record with password set to 00. - - - creates a Protect record with protect set to false. - - - Creates an ObjectProtect record with protect Set to false. - @see org.apache.poi.hssf.record.ObjectProtectRecord - @see org.apache.poi.hssf.record.Record - @return an ObjectProtectRecord - - - Creates a ScenarioProtect record with protect Set to false. - @see org.apache.poi.hssf.record.ScenarioProtectRecord - @see org.apache.poi.hssf.record.Record - @return a ScenarioProtectRecord - - - - Finds the DrawingRecord for our sheet, and attaches it to the DrawingManager (which knows about - the overall DrawingGroup for our workbook). - If requested, will Create a new DrawRecord if none currently exist - - The DrawingManager2 for our workbook - Should one be Created if missing? - location of EscherAggregate record. if no EscherAggregate record is found return -1 - - - Perform any work necessary before the sheet is about to be Serialized. - For instance the escher aggregates size needs to be calculated before - serialization so that the dgg record (which occurs first) can be written. - - - Shifts all the page breaks in the range "count" number of rows/columns - @param breaks The page record to be Shifted - @param start Starting "main" value to Shift breaks - @param stop Ending "main" value to Shift breaks - @param count number of Units (rows/columns) to Shift by - - - Shifts the horizontal page breaks for the indicated count - @param startingRow - @param endingRow - @param count - - - Shifts the vertical page breaks for the indicated count - @param startingCol - @param endingCol - @param count - - - Updates formulas in cells and conditional formats due to moving of cells - @param externSheetIndex the externSheet index of this sheet - - - 'initial sheet records' are between INDEX and the 'Row Blocks' - @param bofRecordIndex index of record after which INDEX record is to be placed - @return count of bytes from end of INDEX record to first ROW record. - - - Get the {@link NoteRecord}s (related to cell comments) for this sheet - @return never null, typically empty array - - - - Gets the column infos. - - The column infos. - - - - Gets the number of merged regions. - - The number merged regions. - - - - Gets the number of conditional formattings. - - The number of conditional formattings. - - - - Gets or Sets the preoffset when using DBCELL records (currently Unused) - this Is - the position of this sheet within the whole file. - - the offset of the sheet's BOF within the file. - - - - Get the NEXT RowRecord (from LOC). The first record that is a Row record - (starting at LOC) will be returned. - This method is "loc" sensitive. Meaning you need to Set LOC to where you - want it to start searching. If you don't know do this: SetLoc(GetDimsLoc). - When Adding several rows you can just start at the last one by leaving loc - at what this Sets it to. For this method, Set loc to dimsloc to start with. - subsequent calls will return rows in (physical) sequence or NULL when you Get to the end. - - RowRecord representing the next row record or NULL if there are no more - - - - Gets the page settings. - - - - - Get the default column width for the sheet (if the columns do not define their own width) - @return default column width - - - Get the default row height for the sheet (if the rows do not define their own height) - @return default row height - - - - Gets or sets the top row. - - The top row. - - - - Gets or sets the left col. - - The left col. - - - - Returns the active row - - the active row index - @see org.apache.poi.hssf.record.SelectionRecord - - - - Gets the active cell col. - - the active column index - @see org.apache.poi.hssf.record.SelectionRecord - - - - Gets the gridset record for this sheet. - - The gridset record. - - - - Gets or sets the header. - - the HeaderRecord. - - - - Gets or sets a value indicating whether this instance is auto tab color. - - - true if this instance is auto tab color; otherwise, false. - - - - - Gets or sets the footer. - - FooterRecord for the sheet. - - - Returns the PrintSetupRecord. - @return PrintSetupRecord for the sheet. - - - @return true if gridlines are printed - - - Returns the PrintGridlinesRecord. - @return PrintGridlinesRecord for the sheet. - - - Returns the information regarding the currently configured pane (split or freeze). - @return null if no pane configured, or the pane information. - - - Returns if gridlines are Displayed. - @return whether gridlines are Displayed - - - Returns if formulas are Displayed. - @return whether formulas are Displayed - - - Returns if RowColHeadings are Displayed. - @return whether RowColHeadings are Displayed - - - @return whether an Uncalced record must be Inserted or not at generation - - - A common exception thrown by our binary format Parsers - (especially HSSF and DDF), when they hit invalid - format or data when Processing a record. - - - - Creates the low evel records for an oval. - - The highlevel shape. - The shape id to use for this shape. - - - - Creates the lowerlevel escher records for this shape. - - The HSSF shape. - The shape id. - - - - - Creates the lowerlevel OBJ records for this shape. - - The HSSF shape. - The shape id. - - - - - The shape container and it's children that can represent this - shape. - - - - - - The object record that is associated with this shape. - - - - - Low level model implementation of a Workbook. Provides creational methods - for Settings and objects contained in the workbook object. - - This file Contains the low level binary records starting at the workbook's BOF and - ending with the workbook's EOF. Use HSSFWorkbook for a high level representation. - - The structures of the highlevel API use references to this to perform most of their - operations. Its probably Unwise to use these low level structures directly Unless you - really know what you're doing. I recommend you Read the Microsoft Excel 97 Developer's - Kit (Microsoft Press) and the documentation at http://sc.openoffice.org/excelfileformat.pdf - before even attempting to use this. - - - @author Luc Girardin (luc dot girardin at macrofocus dot com) - @author Sergei Kozello (sergeikozello at mail.ru) - @author Shawn Laubach (slaubach at apache dot org) (Data Formats) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Brian Sanders (bsanders at risklabs dot com) - custom palette - @author Dan Sherman (dsherman at Isisph.com) - @author Glen Stampoultzis (glens at apache.org) - @see org.apache.poi.hssf.usermodel.HSSFWorkbook - @version 1.0-pre - - - Excel silently truncates long sheet names to 31 chars. - This constant is used to ensure uniqueness in the first 31 chars - - - constant used to Set the "codepage" wherever "codepage" is Set in records - (which is duplciated in more than one record) - - - this Contains the Worksheet record objects - - - this Contains a reference to the SSTRecord so that new stings can be Added - to it. - - - holds the "boundsheet" records (aka bundlesheet) so that they can have their - reference to their "BOF" marker - - - Creates new Workbook with no intitialization --useless right now - @see #CreateWorkbook(List) - - - Read support for low level - API. Pass in an array of Record objects, A Workbook - object is constructed and passed back with all of its initialization Set - to the passed in records and references to those records held. Unlike Sheet - workbook does not use an offset (its assumed to be 0) since its first in a file. - If you need an offset then construct a new array with a 0 offset or Write your - own ;-p. - - @param recs an array of Record objects - @return Workbook object - - - gets the name comment record - @param nameRecord name record who's comment is required. - @return name comment record or null if there isn't one for the given name. - - - Creates an empty workbook object with three blank sheets and all the empty - fields. Use this to Create a workbook from scratch. - - - Retrieves the Builtin NameRecord that matches the name and index - There shouldn't be too many names to make the sequential search too slow - @param name byte representation of the builtin name to match - @param sheetIndex Index to match - @return null if no builtin NameRecord matches - - - Removes the specified Builtin NameRecord that matches the name and index - @param name byte representation of the builtin to match - @param sheetIndex zero-based sheet reference - - - Gets the font record at the given index in the font table. Remember - "There is No Four" (someone at M$ must have gone to Rocky Horror one too - many times) - - @param idx the index to look at (0 or greater but NOT 4) - @return FontRecord located at the given index - - - Creates a new font record and Adds it to the "font table". This causes the - boundsheets to move down one, extended formats to move down (so this function moves - those pointers as well) - - @return FontRecord that was just Created - - - Check if the cloned sheet has drawings. If yes, then allocate a new drawing group ID and - re-generate shape IDs - - @param sheet the cloned sheet - - - Sets the BOF for a given sheet - - @param sheetnum the number of the sheet to Set the positing of the bof for - @param pos the actual bof position - - - Sets the name for a given sheet. If the boundsheet record doesn't exist and - its only one more than we have, go ahead and Create it. If its > 1 more than - we have, except - - @param sheetnum the sheet number (0 based) - @param sheetname the name for the sheet - - - Determines whether a workbook Contains the provided sheet name. - - @param name the name to test (case insensitive match) - @param excludeSheetIdx the sheet to exclude from the Check or -1 to include all sheets in the Check. - @return true if the sheet Contains the name, false otherwise. - - - Sets the name for a given sheet forcing the encoding. This is STILL A BAD IDEA. - Poi now automatically detects Unicode - - @deprecated 3-Jan-06 Simply use SetSheetNam e(int sheetnum, String sheetname) - @param sheetnum the sheet number (0 based) - @param sheetname the name for the sheet - - - Sets the order of appearance for a given sheet. - - @param sheetname the name of the sheet to reorder - @param pos the position that we want to Insert the sheet into (0 based) - - - Gets the name for a given sheet. - - @param sheetnum the sheet number (0 based) - @return sheetname the name for the sheet - - - Gets the hidden flag for a given sheet. - - @param sheetnum the sheet number (0 based) - @return True if sheet is hidden - - - Gets the hidden flag for a given sheet. - Note that a sheet could instead be - set to be very hidden, which is different - ({@link #isSheetVeryHidden(int)}) - - @param sheetnum the sheet number (0 based) - @return True if sheet is hidden - - - Hide or Unhide a sheet - - @param sheetnum The sheet number - @param hidden True to mark the sheet as hidden, false otherwise - - - Hide or unhide a sheet. - 0 = not hidden - 1 = hidden - 2 = very hidden. - - @param sheetnum The sheet number - @param hidden 0 for not hidden, 1 for hidden, 2 for very hidden - - - Get the sheet's index - @param name sheet name - @return sheet index or -1 if it was not found. - - - if we're trying to Address one more sheet than we have, go ahead and Add it! if we're - trying to Address >1 more than we have throw an exception! - - - - make the tabid record look like the current situation. - - number of bytes written in the TabIdRecord - - - Retrieves the index of the given font - - - Returns the StyleRecord for the given - xfIndex, or null if that ExtendedFormat doesn't - have a Style set. - - - Gets the ExtendedFormatRecord at the given 0-based index - - @param index of the Extended format record (0-based) - @return ExtendedFormatRecord at the given index - - - Creates a new Cell-type Extneded Format Record and Adds it to the end of - ExtendedFormatRecords collection - - @return ExtendedFormatRecord that was Created - - - Adds a string to the SST table and returns its index (if its a duplicate - just returns its index and update the counts) ASSUMES compressed Unicode - (meaning 8bit) - - @param string the string to be Added to the SSTRecord - - @return index of the string within the SSTRecord - - - given an index into the SST table, this function returns the corresponding String value - @return String containing the SST String - - - use this function to Add a Shared String Table to an existing sheet (say - generated by a different java api) without an sst.... - @see #CreateSST() - @see org.apache.poi.hssf.record.SSTRecord - - - Serializes all records int the worksheet section into a big byte array. Use - this to Write the Workbook out. - @param offset of the data to be written - @param data array of bytes to Write this to - - - Perform any work necessary before the workbook is about to be serialized. - - Include in it ant code that modifies the workbook record stream and affects its size. - - - Creates the BOF record - @see org.apache.poi.hssf.record.BOFRecord - @see org.apache.poi.hssf.record.Record - @return record containing a BOFRecord - - - Creates the InterfaceHdr record - @see org.apache.poi.hssf.record.InterfaceHdrRecord - @see org.apache.poi.hssf.record.Record - @return record containing a InterfaceHdrRecord - - - Creates an MMS record - @see org.apache.poi.hssf.record.MMSRecord - @see org.apache.poi.hssf.record.Record - @return record containing a MMSRecord - - - Creates the InterfaceEnd record - @see org.apache.poi.hssf.record.InterfaceEndRecord - @see org.apache.poi.hssf.record.Record - @return record containing a InterfaceEndRecord - - - Creates the WriteAccess record containing the logged in user's name - @see org.apache.poi.hssf.record.WriteAccessRecord - @see org.apache.poi.hssf.record.Record - @return record containing a WriteAccessRecord - - - Creates the Codepage record containing the constant stored in CODEPAGE - @see org.apache.poi.hssf.record.CodepageRecord - @see org.apache.poi.hssf.record.Record - @return record containing a CodepageRecord - - - Creates the DSF record containing a 0 since HSSF can't even Create Dual Stream Files - @see org.apache.poi.hssf.record.DSFRecord - @see org.apache.poi.hssf.record.Record - @return record containing a DSFRecord - - - Creates the TabId record containing an array of 0,1,2. This release of HSSF - always has the default three sheets, no less, no more. - @see org.apache.poi.hssf.record.TabIdRecord - @see org.apache.poi.hssf.record.Record - @return record containing a TabIdRecord - - - Creates the FnGroupCount record containing the Magic number constant of 14. - @see org.apache.poi.hssf.record.FnGroupCountRecord - @see org.apache.poi.hssf.record.Record - @return record containing a FnGroupCountRecord - - - Creates the WindowProtect record with protect Set to false. - @see org.apache.poi.hssf.record.WindowProtectRecord - @see org.apache.poi.hssf.record.Record - @return record containing a WindowProtectRecord - - - Creates the Protect record with protect Set to false. - @see org.apache.poi.hssf.record.ProtectRecord - @see org.apache.poi.hssf.record.Record - @return record containing a ProtectRecord - - - Creates the Password record with password Set to 0. - @see org.apache.poi.hssf.record.PasswordRecord - @see org.apache.poi.hssf.record.Record - @return record containing a PasswordRecord - - - Creates the ProtectionRev4 record with protect Set to false. - @see org.apache.poi.hssf.record.ProtectionRev4Record - @see org.apache.poi.hssf.record.Record - @return record containing a ProtectionRev4Record - - - Creates the PasswordRev4 record with password Set to 0. - @see org.apache.poi.hssf.record.PasswordRev4Record - @see org.apache.poi.hssf.record.Record - @return record containing a PasswordRev4Record - - - Creates the WindowOne record with the following magic values: - horizontal hold - 0x168 - vertical hold - 0x10e - width - 0x3a5c - height - 0x23be - options - 0x38 - selected tab - 0 - Displayed tab - 0 - num selected tab- 0 - tab width ratio - 0x258 - @see org.apache.poi.hssf.record.WindowOneRecord - @see org.apache.poi.hssf.record.Record - @return record containing a WindowOneRecord - - - Creates the Backup record with backup Set to 0. (loose the data, who cares) - @see org.apache.poi.hssf.record.BackupRecord - @see org.apache.poi.hssf.record.Record - @return record containing a BackupRecord - - - Creates the HideObj record with hide object Set to 0. (don't hide) - @see org.apache.poi.hssf.record.HideObjRecord - @see org.apache.poi.hssf.record.Record - @return record containing a HideObjRecord - - - Creates the DateWindow1904 record with windowing Set to 0. (don't window) - @see org.apache.poi.hssf.record.DateWindow1904Record - @see org.apache.poi.hssf.record.Record - @return record containing a DateWindow1904Record - - - Creates the Precision record with precision Set to true. (full precision) - @see org.apache.poi.hssf.record.PrecisionRecord - @see org.apache.poi.hssf.record.Record - @return record containing a PrecisionRecord - - - Creates the RefreshAll record with refreshAll Set to true. (refresh all calcs) - @see org.apache.poi.hssf.record.RefreshAllRecord - @see org.apache.poi.hssf.record.Record - @return record containing a RefreshAllRecord - - - Creates the BookBool record with saveLinkValues Set to 0. (don't save link values) - @see org.apache.poi.hssf.record.BookBoolRecord - @see org.apache.poi.hssf.record.Record - @return record containing a BookBoolRecord - - - Creates a Font record with the following magic values: - fontheight = 0xc8 - attributes = 0x0 - color palette index = 0x7fff - bold weight = 0x190 - Font Name Length = 5 - Font Name = Arial - - @see org.apache.poi.hssf.record.FontRecord - @see org.apache.poi.hssf.record.Record - @return record containing a FontRecord - - - Creates an ExtendedFormatRecord object - @param id the number of the extended format record to Create (meaning its position in - a file as MS Excel would Create it.) - - @return record containing an ExtendedFormatRecord - @see org.apache.poi.hssf.record.ExtendedFormatRecord - @see org.apache.poi.hssf.record.Record - - - Creates an default cell type ExtendedFormatRecord object. - @return ExtendedFormatRecord with intial defaults (cell-type) - - - Creates a new StyleRecord, for the given Extended - Format index, and adds it onto the end of the - records collection - - - Creates a StyleRecord object - @param id the number of the style record to Create (meaning its position in - a file as MS Excel would Create it. - @return record containing a StyleRecord - @see org.apache.poi.hssf.record.StyleRecord - @see org.apache.poi.hssf.record.Record - - - Creates a palette record initialized to the default palette - @return a PaletteRecord instance populated with the default colors - @see org.apache.poi.hssf.record.PaletteRecord - - - Creates the UseSelFS object with the use natural language flag Set to 0 (false) - @return record containing a UseSelFSRecord - @see org.apache.poi.hssf.record.UseSelFSRecord - @see org.apache.poi.hssf.record.Record - - - Create a "bound sheet" or "bundlesheet" (depending who you ask) record - Always Sets the sheet's bof to 0. You'll need to Set that yourself. - @param id either sheet 0,1 or 2. - @return record containing a BoundSheetRecord - @see org.apache.poi.hssf.record.BoundSheetRecord - @see org.apache.poi.hssf.record.Record - - - Creates the Country record with the default country Set to 1 - and current country Set to 7 in case of russian locale ("ru_RU") and 1 otherwise - @return record containing a CountryRecord - @see org.apache.poi.hssf.record.CountryRecord - @see org.apache.poi.hssf.record.Record - - - Creates the ExtendedSST record with numstrings per bucket Set to 0x8. HSSF - doesn't yet know what to do with this thing, but we Create it with nothing in - it hardly just to make Excel happy and our sheets look like Excel's - - @return record containing an ExtSSTRecord - @see org.apache.poi.hssf.record.ExtSSTRecord - @see org.apache.poi.hssf.record.Record - - - Finds the first sheet name by his extern sheet index - @param externSheetIndex extern sheet index - @return first sheet name. - - - Finds the (first) sheet index for a particular external sheet number. - @param externSheetNumber The external sheet number to convert - @return The index to the sheet found. - - - Finds the last sheet index for a particular external sheet number, - which may be the same as the first (except for multi-sheet references) - @param externSheetNumber The external sheet number to convert - @return The index to the sheet found. - - - Returns the extern sheet number for specific sheet number. - If this sheet doesn't exist in extern sheet, add it - @param sheetNumber local sheet number - @return index to extern sheet - - - Returns the extern sheet number for specific range of sheets. - If this sheet range doesn't exist in extern sheet, add it - @param firstSheetNumber first local sheet number - @param lastSheetNumber last local sheet number - @return index to extern sheet - - - - @param name the name of an external function, typically a name of a UDF - @param sheetRefIndex the sheet ref index, or -1 if not known - @param udf locator of user-defiend functions to resolve names of VBA and Add-In functions - @return the external name or null - - - Gets the name record - @param index name index - @return name record - - - Creates new name - @return new name record - - - Creates new name - @return new name record - - - Generates a NameRecord to represent a built-in region - @return a new NameRecord Unless the index is invalid - - - Removes the name - @param namenum name index - - - If a {@link NameCommentRecord} is added or the name it references - is renamed, then this will update the lookup cache for it. - - - Returns a format index that matches the passed in format. It does not tie into HSSFDataFormat. - @param format the format string - @param CreateIfNotFound Creates a new format if format not found - @return the format id of a format that matches or -1 if none found and CreateIfNotFound - - - Creates a FormatRecord, Inserts it, and returns the index code. - @param format the format string - @return the index code of the format record. - @see org.apache.poi.hssf.record.FormatRecord - @see org.apache.poi.hssf.record.Record - - - Creates a FormatRecord object - @param id the number of the format record to create (meaning its position in - a file as M$ Excel would create it.) - - - Returns the first occurance of a record matching a particular sid. - - - Returns the index of a record matching a particular sid. - @param sid The sid of the record to match - @return The index of -1 if no match made. - - - Returns the next occurance of a record matching a particular sid. - - - Finds the primary drawing Group, if one already exists - - - Creates a primary drawing Group record. If it already - exists then it's modified. - - - Removes the given font record from the - file's list. This will make all - subsequent font indicies drop by one, - so you'll need to update those yourself! - - - Removes the given ExtendedFormatRecord record from the - file's list. This will make all - subsequent font indicies drop by one, - so you'll need to update those yourself! - - - - Removes ExtendedFormatRecord record with given index from the file's list. This will make all - subsequent font indicies drop by one,so you'll need to update those yourself! - - index of the Extended format record (0-based) - - - protect a workbook with a password (not encypted, just Sets Writeprotect - flags and the password. - @param password to Set - - - Removes the Write protect flag - - - @param reFindex Index to REF entry in EXTERNSHEET record in the Link Table - @param definedNameIndex zero-based to DEFINEDNAME or EXTERNALNAME record - @return the string representation of the defined or external name - - - Updates named ranges due to moving of cells - - - Changes an external referenced file to another file. - A formular in Excel which refers a cell in another file is saved in two parts: - The referenced file is stored in an reference table. the row/cell information is saved separate. - This method invokation will only change the reference in the lookup-table itself. - @param oldUrl The old URL to search for and which is to be replaced - @param newUrl The URL replacement - @return true if the oldUrl was found and replaced with newUrl. Otherwise false - - - Gets the number of font records - - @return number of font records in the "font table" - - - Returns the position of the backup record. - - - returns the number of boundsheet objects contained in this workbook. - - @return number of BoundSheet records - - - Get the number of ExtendedFormat records contained in this workbook. - - @return int count of ExtendedFormat records - - - lazy initialization - Note - creating the link table causes creation of 1 EXTERNALBOOK and 1 EXTERNALSHEET record - - - Gets the total number of names - @return number of names - - - Returns the list of FormatRecords in the workbook. - @return ArrayList of FormatRecords in the notebook - - - Whether date windowing is based on 1/2/1904 or 1/1/1900. - Some versions of Excel (Mac) can save workbooks using 1904 date windowing. - - @return true if using 1904 date windowing - - - Returns the custom palette in use for this workbook; if a custom palette record - does not exist, then it is Created. - - - is the workbook protected with a password (not encrypted)? - - - Get or create RecalcIdRecord - - @see org.apache.poi.hssf.usermodel.HSSFWorkbook#setForceFormulaRecalculation(boolean) - - - - List for records in Workbook - - - - - Adds the specified pos. - - The pos. - The r. - - - - Removes the specified record. - - The record. - - - - Removes the specified position. - - The position. - - - - Gets or sets the records. - - The records. - - - - Gets the count. - - The count. - - - - Gets the at the specified index. - - - - - - Gets or sets the protpos. - - The protpos. - - - - Gets or sets the bspos. - - The bspos. - - - - Gets or sets the tabpos. - - The tabpos. - - - - Gets or sets the fontpos. - - The fontpos. - - - - Gets or sets the xfpos. - - The xfpos. - - - - Gets or sets the backuppos. - - The backuppos. - - - - Gets or sets the palettepos. - - The palettepos. - - - - Gets or sets the namepos. - - The namepos. - - - - Gets or sets the supbookpos. - - The supbookpos. - - - - Gets or sets the externsheet pos. - - The externsheet pos. - - - The escher container record is used to hold escher records. It is abstract and - must be subclassed for maximum benefit. - - @author Glen Stampoultzis (glens at apache.org) - @author Michael Zalewski (zalewski at optonline.net) - - - Constructs a Bar record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Clone the current record, via a call to serialise - it, and another to Create a new record from the - bytes. - May only be used for classes which don't have - internal counts / ids in them. For those which - do, a full record-aware serialise is needed, which - allocates new ids / counts as needed. - - - If we have a EscherContainerRecord as one of our - children (and most top level escher holders do), - then return that. - - - Descends into all our children, returning the - first EscherRecord with the given id, or null - if none found - - - Big drawing Group records are split but it's easier to deal with them - as a whole Group so we need to join them toGether. - - - Convert raw data to escher records. - - - Size of record (including 4 byte header) - - - - - - CFRecordsAggregate - aggregates Conditional Formatting records CFHeaderRecord - and number of up to three CFRuleRecord records toGether to simplify - access to them. - @author Dmitriy Kumshayev - - - Excel allows up to 3 conditional formating rules - - - List of CFRuleRecord objects - - - - Create CFRecordsAggregate from a list of CF Records - - list of Record objects - - - - Create CFRecordsAggregate from a list of CF Records - - list of Record objects - position of CFHeaderRecord object in the list of Record objects - - - - Create a deep Clone of the record - - - - - called by the class that is responsible for writing this sucker. - Subclasses should implement this so that their data is passed back in a - byte array. - - The offset to begin writing at - The data byte array containing instance data - number of bytes written - - - @return false if this whole {@link CFHeaderRecord} / {@link CFRuleRecord}s should be deleted - - - @return sum of sizes of all aggregated records - - - - @author Glen Stampoultzis - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The rs. - - - Performs a deep Clone of the record - - - - Inserts a column into the aggregate (at the end of the list). - - The column. - - - - Inserts a column into the aggregate (at the position specified - by index - - The index. - The columninfo. - - - - called by the class that is responsible for writing this sucker. - Subclasses should implement this so that their data is passed back in a - byte array. - - offset to begin writing at - byte array containing instance data - number of bytes written - - - - Visit each of the atomic BIFF records contained in this {@link RecordAggregate} in the order - that they should be written to file. Implementors may or may not return the actual - Records being used to manage POI's internal implementation. Callers should not - assume either way, and therefore only attempt to modify those Records after cloning - - - - - - Finds the start of column outline group. - - The idx. - - - - - Finds the end of column outline group. - - The idx. - - - - - Gets the col info. - - The idx. - - - - - Determines whether [is column group collapsed] [the specified idx]. - - The idx. - - true if [is column group collapsed] [the specified idx]; otherwise, false. - - - - - Determines whether [is column group hidden by parent] [the specified idx]. - - The idx. - - true if [is column group hidden by parent] [the specified idx]; otherwise, false. - - - - - Collapses the column. - - The column number. - - - - Expands the column. - - The column number. - - - Sets all non null fields into the ci parameter. - - - - Attempts to merge the col info record at the specified index - with either or both of its neighbours - - The col info ix. - - - merges two column info records (if they are adjacent and have the same formatting, etc) - @return false if the two column records could not be merged - - - - Sets all adjacent columns of the same outline level to the specified hidden status. - - the col info index of the start of the outline group. - The level. - The hidden. - the column index of the last column in the outline group - - - - Sets the column. - - The target column ix. - Index of the xf. - The width. - The level. - The hidden. - The collapsed. - - - Sets all non null fields into the ci parameter. - - - - Collapses the col info records. - - The column index. - - - - Creates an outline Group for the specified columns. - - Group from this column (inclusive) - Group to this column (inclusive) - if true the Group will be indented by one level;if false indenting will be Removed by one level. - - - - Finds the ColumnInfoRecord - which contains the specified columnIndex - - index of the column (not the index of the ColumnInfoRecord) - /// null - if no column info found for the specified column - - - - It's an aggregate... just made something up - - - - Gets the num columns. - - The num columns. - - - - Gets the size of the record. - - The size of the record. - - - - Gets the max outline level. - - The max outline level. - - - Holds all the conditional formatting for a workbook sheet.

- - See OOO exelfileformat.pdf sec 4.12 'Conditional Formatting Table' - - @author Josh Micich - - - Creates an empty ConditionalFormattingTable - - - @return index of the newly added CF header aggregate - - - Manages the all the records associated with a 'Custom View Settings' sub-stream.
- Includes the Initial USERSVIEWBEGIN(0x01AA) and USERSVIEWEND(0x01AB). - - @author Josh Micich -
- - All the records between BOF and EOF - - -

- Manages the DVALRecord and DVRecords for a single sheet - See OOO excelfileformat.pdf section 4.14 - @author Josh Micich - -
- - The list of data validations for the current sheet. - Note - this may be empty (contrary to OOO documentation) - - - - The formula record aggregate is used to join toGether the formula record and it's - (optional) string record and (optional) Shared Formula Record (template Reads, excel optimization). - @author Glen Stampoultzis (glens at apache.org) - - - - The cell value record interface Is implemented by all classes of type Record that - contain cell values. It allows the containing sheet to move through them and Compare - them. - - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - - @see org.apache.poi.hssf.model.Sheet - @see org.apache.poi.hssf.record.Record - @see org.apache.poi.hssf.record.RecordFactory - - - Get the row this cell occurs on - - @return the row - - - Get the column this cell defines within the row - - @return the column - - - caches the calculated result of the formula - - - - Initializes a new instance of the class. - - The formula rec. - The string rec. - The SVM. - - - Should be called by any code which is either deleting this formula cell, or changing - its type. This method gives the aggregate a chance to unlink any shared formula - that may be involved with this cell formula. - - - - called by the class that is responsible for writing this sucker. - Subclasses should implement this so that their data is passed back in a - byte array. - - offset to begin writing at - byte array containing instance data. - number of bytes written - - - - Visit each of the atomic BIFF records contained in this {@link RecordAggregate} in the order - that they should be written to file. Implementors may or may not return the actual - {@link Record}s being used to manage POI's internal implementation. Callers should not - assume either way, and therefore only attempt to modify those {@link Record}s after cloning - - - - - - Sometimes the shared formula flag "seems" to be erroneously set (because the corresponding - SharedFormulaRecord does not exist). Normally this would leave no way of determining - the Ptg tokens for the formula. However as it turns out in these - cases, Excel encodes the unshared Ptg tokens in the right place (inside the FormulaRecord). - So the the only thing that needs to be done is to ignore the erroneous - shared formula flag. - - This method may also be used for setting breakpoints to help diagnose issues regarding the - abnormally-set 'shared formula' flags. - - The formula. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - The parameter is null. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Sets the cached string result. - - The value. - - - - Sets the cached boolean result. - - if set to true [value]. - - - - Sets the cached error result. - - The error code. - - - Also checks for a related shared formula and unlinks it if found - - - Removes an array formula - @return the range of the array formula containing the specified cell. Never null - - - - Get the current Serialized size of the record. Should include the sid and recLength (4 bytes). - - The size of the record. - - - - return the non static version of the id for this record. - - The sid. - - - - Gets or sets the formula record. - - The formula record. - - - - Gets or sets the string record. - - The string record. - - - - Gets the string value. - - The string value. - - - - @author Josh Micich - - - - Creates an empty aggregate - - - - Reads zero or more consecutive {@link MergeCellsRecord}s - @param rs - - - Groups the page settings records for a worksheet.

- - See OOO excelfileformat.pdf sec 4.4 'Page Settings Block' - - @author Josh Micich - - - Creates a PageSettingsBlock with default settings - - - @return true if the specified Record sid is one belonging to the - 'Page Settings Block'. - - - Sets a page break at the indicated column - - - - Removes a page break at the indicated column - - - - Creates the HCenter Record and sets it to false (don't horizontally center) - - - Creates the VCenter Record and sets it to false (don't horizontally center) - - - Creates the PrintSetup Record and sets it to defaults and marks it invalid - @see org.apache.poi.hssf.record.PrintSetupRecord - @see org.apache.poi.hssf.record.Record - @return record containing a PrintSetupRecord - - - Gets the size of the margin in inches. - @param margin which margin to Get - @return the size of the margin - - - Sets the size of the margin in inches. - @param margin which margin to Get - @param size the size of the margin - - - Shifts all the page breaks in the range "count" number of rows/columns - @param breaks The page record to be shifted - @param start Starting "main" value to shift breaks - @param stop Ending "main" value to shift breaks - @param count number of units (rows/columns) to shift by - - - Sets a page break at the indicated row - @param row - - - Removes a page break at the indicated row - @param row - - - Queries if the specified row has a page break - @param row - @return true if the specified row has a page break - - - Queries if the specified column has a page break - - @return true if the specified column has a page break - - - Shifts the horizontal page breaks for the indicated count - @param startingRow - @param endingRow - @param count - - - Shifts the vertical page breaks for the indicated count - @param startingCol - @param endingCol - @param count - - -

- HEADERFOOTER is new in 2007. Some apps seem to have scattered this record long after - the PageSettingsBlock where it belongs. - - -
- - - This method reads PageSettingsBlock records from the supplied RecordStream until the first non-PageSettingsBlock record is encountered. - As each record is read, it is incorporated into this PageSettingsBlock. - - - - - Returns the HeaderRecord. - @return HeaderRecord for the sheet. - - - Returns the FooterRecord. - @return FooterRecord for the sheet. - - - Returns the PrintSetupRecord. - @return PrintSetupRecord for the sheet. - - - @return all the horizontal page breaks, never null - - - @return the number of row page breaks - - - @return all the column page breaks, never null - - - @return the number of column page breaks - - - holds any continue records found after the PLS record.
- This would not be required if PLS was properly interpreted. - Currently, PLS is an {@link UnknownRecord} and does not automatically - include any trailing {@link ContinueRecord}s. -
- - A wrapper for {@link RecordVisitor} which accumulates the sizes of all - records visited. - - - - @author andy - @author Jason Height (jheight at chariot dot net dot au) - - - Creates a new instance of ValueRecordsAggregate - - - @param rs record stream with all {@link SharedFormulaRecord} - {@link ArrayRecord}, {@link TableRecord} {@link MergeCellsRecord} Records removed - - - Handles UnknownRecords which appear within the row/cell records - - - Returns the number of physical rows within a block - - - Returns the physical row number of the first row in a block - - - Returns the physical row number of the end row in a block - - - Create a row record. - - @param row number - @return RowRecord Created for the passed in row number - @see org.apache.poi.hssf.record.RowRecord - - - Returns the number of row blocks. -

The row blocks are goupings of rows that contain the DBCell record - after them - - -

- Manages various auxiliary records while constructing a RowRecordsAggregate - @author Josh Micich - -
- - cached for optimization purposes - - - @param firstCells - @param recs list of sheet records (possibly Contains records for other parts of the Excel file) - @param startIx index of first row/cell record for current sheet - @param endIx one past index of last row/cell record for current sheet. It is important - that this code does not inadvertently collect SharedFormulaRecords from any other - sheet (which could happen if endIx is chosen poorly). (see bug 44449) - - - @param firstCell as extracted from the {@link ExpPtg} from the cell's formula. - @return never null - - - Gets the {@link SharedValueRecordBase} record if it should be encoded immediately after the - formula record Contained in the specified {@link FormulaRecordAggregate} agg. Note - the - shared value record always appears after the first formula record in the group. For arrays - and tables the first formula is always the in the top left cell. However, since shared - formula groups can be sparse and/or overlap, the first formula may not actually be in the - top left cell. - - @return the SHRFMLA, TABLE or ARRAY record for the formula cell, if it is the first cell of - a table or array region. null if the formula cell is not shared/array/table, - or if the specified formula is not the the first in the group. - - - Converts all {@link FormulaRecord}s handled by sharedFormulaRecord - to plain unshared formulas - - - Add specified Array Record. - - - Removes the {@link ArrayRecord} for the cell group containing the specified cell. - The caller should clear (set blank) all cells in the returned range. - @return the range of the array formula which was just removed. Never null. - - - @return the shared ArrayRecord identified by (firstRow, firstColumn). never null. - - - Coordinates of the first cell having a formula that uses this shared formula. - This is often but not always the top left cell in the range covered by - {@link #_sfr} - - - Note - the 'first cell' of a shared formula group is not always the top-left cell - of the enclosing range. - @return true if the specified coordinates correspond to the 'first cell' - of this shared formula group. - - - - Aggregate value records toGether. Things are easier to handle that way. - - @author andy - @author Glen Stampoultzis (glens at apache.org) - @author Jason Height (jheight at chariot dot net dot au) - - - Creates a new instance of ValueRecordsAggregate - - - Sometimes the shared formula flag "seems" to be erroneously Set, in which case there is no - call to SharedFormulaRecord.ConvertSharedFormulaRecord and hence the - ParsedExpression field of this FormulaRecord will not Get updated.
- As it turns out, this is not a problem, because in these circumstances, the existing value - for ParsedExpression is perfectly OK.

- - This method may also be used for Setting breakpoints to help diagnose Issues regarding the - abnormally-Set 'shared formula' flags. - (see TestValueRecordsAggregate.testSpuriousSharedFormulaFlag()).

- - The method currently does nothing but do not delete it without Finding a nice home for this - comment. - - - Tallies a count of the size of the cell records - that are attached to the rows in the range specified. - - - Returns true if the row has cells attached to it - - - Serializes the cells that are allocated to a certain row range - - - ARRAY (0x0221)

- - Treated in a similar way to SharedFormulaRecord - - @author Josh Micich - - - Common base class for {@link SharedFormulaRecord}, {@link ArrayRecord} and - {@link TableRecord} which are have similarities. - - @author Josh Micich - - - reads only the range (1 {@link CellRangeAddress8Bit}) from the stream - - - @return true if (rowIx, colIx) is within the range ({@link #Range}) - of this shared value object. - - - @return true if (rowIx, colIx) describes the first cell in this shared value - object's range ({@link #Range}) - - -

- DOPER Structure for AutoFilter record - - author: Tony Qu -
- - - get or set the RK record - - - - - Gets or sets Length of the string (the string is stored in the rgch field that follows the DOPER structures) - - - - - Whether the bBoolErr field contains a Boolean value - - - - - Whether the bBoolErr field contains a Error value - - - - - Get or sets the boolean value - - - - - Get or sets the boolean value - - - - Title: Backup Record - Description: bool specifying whether - the GUI should store a backup of the file. - REFERENCE: PG 287 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - Constructs a BackupRecord and Sets its fields appropriately - @param in the RecordInputstream to Read the record from - - - Get the backup flag - - @return short 0/1 (off/on) - - - Read an unsigned short from the stream without decrypting - - - Read an unsigned short from the stream without decrypting - - - Title: Blank cell record - Description: Represents a column in a row with no value but with styling. - REFERENCE: PG 287 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - Creates a new instance of BlankRecord - - - Constructs a BlankRecord and Sets its fields appropriately - @param in the RecordInputstream to Read the record from - - - called by the class that is responsible for writing this sucker. - Subclasses should implement this so that their data is passed back in a - byte array. - - @return byte array containing instance data - - - Get the row this cell occurs on - - @return the row - - - Get the column this cell defines within the row - - @return the column - - - Set the index of the extended format record to style this cell with - - @param xf - the 0-based index of the extended format - @see org.apache.poi.hssf.record.ExtendedFormatRecord - - - return the non static version of the id for this record. - - - Title: Beginning Of File - Description: Somewhat of a misnomer, its used for the beginning of a Set of - records that have a particular pupose or subject. - Used in sheets and workbooks. - REFERENCE: PG 289 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - for BIFF8 files the BOF is 0x809. For earlier versions see - {@link #biff2_sid} {@link #biff3_sid} {@link #biff4_sid} - {@link #biff5_sid} - - - suggested default (0x06 - BIFF8) - - - suggested default 0x10d3 - - - suggested default 0x07CC (1996) - - - suggested default for a normal sheet (0x41) - - - Constructs an empty BOFRecord with no fields Set. - - - Constructs a BOFRecord and Sets its fields appropriately - @param in the RecordInputstream to Read the record from - - - Version number - for BIFF8 should be 0x06 - @see #VERSION - @param version version to be Set - - - Set the history bit mask (not very useful) - @see #HISTORY_MASK - @param bitmask bitmask to Set for the history - - - Set the minimum version required to Read this file - - @see #VERSION - @param version version to Set - - - type of object this marks - @see #TYPE_WORKBOOK - @see #TYPE_VB_MODULE - @see #TYPE_WORKSHEET - @see #TYPE_CHART - @see #TYPE_EXCEL_4_MACRO - @see #TYPE_WORKSPACE_FILE - @return short type of object - - - Get the build that wrote this file - @see #BUILD - @return short build number of the generator of this file - - - Year of the build that wrote this file - @see #BUILD_YEAR - @return short build year of the generator of this file - - - Title: Save External Links record (BookBool) - Description: Contains a flag specifying whether the Gui should save externally - linked values from other workbooks. - REFERENCE: PG 289 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - Constructs a BookBoolRecord and Sets its fields appropriately - @param in the RecordInputstream to Read the record from - - - Get the save ext links flag - - @return short 0/1 (off/on) - - - Creates new BoolErrRecord. - REFERENCE: PG ??? Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Michael P. Harhen - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - Append specific debug info (used by {@link #toString()} for the value - contained in this record. Trailing new-line should not be Appended - (superclass does that). - - - writes out the value data for this cell record - - - get the index to the ExtendedFormat - - @see org.apache.poi.hssf.record.ExtendedFormatRecord - @return index to the XF record - - - Gets the debug info BIFF record type name (used by {@link #toString()}. - - - @return the size (in bytes) of the value data for this cell record - - - If true, this record represents an error cell value, otherwise this record represents a boolean cell value - - - Creates new BoolErrRecord - - - Constructs a BoolErr record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Set the bool value for the cell - - @param value representing the bool value - - - Set the error value for the cell - - @param value error representing the error value - this value can only be 0,7,15,23,29,36 or 42 - see bugzilla bug 16560 for an explanation - - - Get the value for the cell - - @return bool representing the bool value - - - Get the error value for the cell - - @return byte representing the error value - - - Indicates whether the call holds a boolean value - - @return boolean true if the cell holds a boolean value - - - Indicates whether the call holds an error value - - @return bool true if the cell holds an error value - - - Record for the bottom margin. - NOTE: This source was automatically generated. - - @author Shawn Laubach (slaubach at apache dot org) - - - The margin interface Is a parent used to define left, right, top and bottom margins. - This allows much of the code to be generic when it comes to handling margins. - NOTE: This source wass automatically generated. - - @author Shawn Laubach (slaubach at apache dot org) - - - Get the margin field for the Margin. - - - Constructs a BottomMargin record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Get the margin field for the BottomMargin record. - - - Title: Bound Sheet Record (aka BundleSheet) - Description: Defines a sheet within a workbook. Basically stores the sheetname - and tells where the Beginning of file record Is within the HSSF - file. - REFERENCE: PG 291 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Sergei Kozello (sergeikozello at mail.ru) - - - Constructs a BoundSheetRecord and Sets its fields appropriately - - @param in the RecordInputstream to Read the record from - - - Converts a List of {@link BoundSheetRecord}s to an array and sorts by the position of their - BOFs. - - - Get the offset in bytes of the Beginning of File Marker within the HSSF Stream part of the POIFS file - - @return offset in bytes - - - Is the sheet very hidden? Different from (normal) hidden - - - Get the sheetname for this sheet. (this appears in the tabs at the bottom) - @return sheetname the name of the sheet - - - Title: Calc Count Record - Description: Specifies the maximum times the gui should perform a formula - recalculation. For instance: in the case a formula includes - cells that are themselves a result of a formula and a value - Changes. This Is essentially a failsafe against an infinate - loop in the event the formulas are not independant. - REFERENCE: PG 292 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - @see org.apache.poi.hssf.record.CalcModeRecord - - - Constructs a CalcCountRecord and Sets its fields appropriately - @param in the RecordInputstream to Read the record from - - - - Get the number of iterations to perform - @return iterations - - - Title: Calc Mode Record - Description: Tells the gui whether to calculate formulas - automatically, manually or automatically - except for tables. - REFERENCE: PG 292 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - @see org.apache.poi.hssf.record.CalcCountRecord - - - manually calculate formulas (0) - - - automatically calculate formulas (1) - - - automatically calculate formulas except for tables (-1) - - - Constructs a CalcModeRecord and Sets its fields appropriately - @param in the RecordInputstream to Read the record from - - - Set the calc mode flag for formulas - - @see #MANUAL - @see #AUTOMATIC - @see #AUTOMATIC_EXCEPT_TABLES - - @param calcmode one of the three flags above - - - Get the calc mode flag for formulas - - @see #MANUAL - @see #AUTOMATIC - @see #AUTOMATIC_EXCEPT_TABLES - - @return calcmode one of the three flags above - - - Conditional Formatting Header record (CFHEADER) - - @author Dmitriy Kumshayev - - - Creates new CFHeaderRecord - - - Conditional Formatting Rule Record. - @author Dmitriy Kumshayev - - - Creates new CFRuleRecord - - - Creates a new comparison operation rule - - - Creates a new comparison operation rule - - - Creates a new comparison operation rule - - - @param ptgs may be null - @return encoded size of the formula - - - called by the class that Is responsible for writing this sucker. - Subclasses should implement this so that their data Is passed back in a - byte array. - - @param offset to begin writing at - @param data byte array containing instance data - @return number of bytes written - - - TODO - Parse conditional format formulas properly i.e. produce tRefN and tAreaN instead of tRef and tArea - this call will produce the wrong results if the formula Contains any cell references - One approach might be to apply the inverse of SharedFormulaRecord.ConvertSharedFormulas(Stack, int, int) - Note - two extra parameters (rowIx &colIx) will be required. They probably come from one of the Region objects. - - @return null if formula was null. - - - TODO - parse conditional format formulas properly i.e. produce tRefN and tAreaN instead of tRef and tArea - this call will produce the wrong results if the formula contains any cell references - One approach might be to apply the inverse of SharedFormulaRecord.convertSharedFormulas(Stack, int, int) - Note - two extra parameters (rowIx & colIx) will be required. They probably come from one of the Region objects. - - @return null if formula was null. - - - get the stack of the 1st expression as a list - - @return list of tokens (casts stack to a list and returns it!) - this method can return null is we are unable to create Ptgs from - existing excel file - callers should check for null! - - - get the stack of the 2nd expression as a list - - @return list of tokens (casts stack to a list and returns it!) - this method can return null is we are unable to create Ptgs from - existing excel file - callers should check for null! - - - Get the option flags - - @return bit mask - - - Border Formatting Block of the Conditional Formatting Rule Record. - - @author Dmitriy Kumshayev - - - Creates new FontFormatting - - - - Get the type of border to use for the left border of the cell - - - - - Get the type of border to use for the right border of the cell - - - - - Get the type of border to use for the top border of the cell - - - - - Get the type of border to use for the bottom border of the cell - - - - - Get the type of border to use for the diagonal border of the cell - - - - - Get the color to use for the left border - - - - - Get the color to use for the right border - - - - - Get the color to use for the top border - - - - - Get the color to use for the bottom border - - - - - Get the color to use for the diagonal border - - - - - true if forward diagonal is on - - - - - true if backward diagonal Is on - - - - - @author Dmitriy Kumshayev - - - first range is within the second range - - - first range encloses or is equal to the second - - - Intersect this range with the specified range. - - @param crB - the specified range - @return code which reflects how the specified range is related to this range.
- Possible return codes are: - NO_INTERSECTION - the specified range is outside of this range;
- OVERLAP - both ranges partially overlap;
- INSIDE - the specified range is inside of this one
- ENCLOSES - the specified range encloses (possibly exactly the same as) this range
-
- - Do all possible cell merges between cells of the list so that: - if a cell range is completely inside of another cell range, it s removed from the list - if two cells have a shared border, merge them into one bigger cell range - @param cellRangeList - @return updated List of cell ranges - - - @return the new range(s) to replace the supplied ones. null if no merge is possible - - - ** - - - Check if the specified range is located inside of this cell range. - - @param crB - @return true if this cell range Contains the argument range inside if it's area - - - Check if the specified cell range has a shared border with the current range. - - @return true if the ranges have a complete shared border (i.e. - the two ranges toher make a simple rectangular region. - - - Create an enclosing CellRange for the two cell ranges. - - @return enclosing CellRange - - - @return true if a < b - - - @return true if a <= b - - - @return true if a > b - - - @return true if a >= b - - - Font Formatting Block of the Conditional Formatting Rule Record. - - @author Dmitriy Kumshayev - - - Normal boldness (not bold) - - - Bold boldness (bold) - - - Creates new FontFormatting - - - Gets the height of the font in 1/20th point Units - - @return fontheight (in points/20); or -1 if not modified - - - Get whether the font Is to be italics or not - - @return italics - whether the font Is italics or not - @see #GetAttributes() - - - Get whether the font Is to be stricken out or not - - @return strike - whether the font Is stricken out or not - @see #GetAttributes() - - - - Get or set the font weight for this font (100-1000dec or 0x64-0x3e8). - Default Is 0x190 for normal and 0x2bc for bold - - - - - Get or set whether the font weight is set to bold or not - - - - Get the type of base or subscript for the font - - @return base or subscript option - @see org.apache.poi.hssf.usermodel.HSSFFontFormatting#SS_NONE - @see org.apache.poi.hssf.usermodel.HSSFFontFormatting#SS_SUPER - @see org.apache.poi.hssf.usermodel.HSSFFontFormatting#SS_SUB - - - Get the type of Underlining for the font - - @return font Underlining type - - - Pattern Formatting Block of the Conditional Formatting Rule Record. - - @author Dmitriy Kumshayev - - - Creates new FontFormatting - - - Get the Fill pattern - @return Fill pattern - - - Get the background Fill color - @see org.apache.poi.hssf.usermodel.HSSFPalette#GetColor(short) - @return Fill color - - - Get the foreground Fill color - @see org.apache.poi.hssf.usermodel.HSSFPalette#GetColor(short) - @return Fill color - - - * The area format record is used to define the colours and patterns for an area. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a AreaFormat record and s its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - the foreground color field for the AreaFormat record. - - - the background color field for the AreaFormat record. - - - the pattern field for the AreaFormat record. - - - the format flags field for the AreaFormat record. - - - the forecolor index field for the AreaFormat record. - - - the backcolor index field for the AreaFormat record. - - - automatic formatting - @return the automatic field value. - - - swap foreground and background colours when data is negative - @return the invert field value. - - - * The area record is used to define a area chart. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a Area record and s its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - the format flags field for the Area record. - - - series is stacked - @return the stacked field value. - - - results Displayed as percentages - @return the Display as percentage field value. - - - Display a shadow for the chart - @return the shadow field value. - - - * The axis size and location - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a AxisParent record and s its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - the axis type field for the AxisParent record. - - @return One of - AXIS_TYPE_MAIN - AXIS_TYPE_SECONDARY - - - the x field for the AxisParent record. - - - the y field for the AxisParent record. - - - the width field for the AxisParent record. - - - the height field for the AxisParent record. - - - * The axis record defines the type of an axis. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a Axis record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the axis type field for the Axis record. - - @return One of - AXIS_TYPE_CATEGORY_OR_X_AXIS - AXIS_TYPE_VALUE_AXIS - AXIS_TYPE_SERIES_AXIS - - - Get the reserved1 field for the Axis record. - - - Get the reserved2 field for the Axis record. - - - Get the reserved3 field for the Axis record. - - - Get the reserved4 field for the Axis record. - - - * The bar record is used to define a bar chart. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a Bar record and s its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - the bar space field for the Bar record. - - - the category space field for the Bar record. - - - the format flags field for the Bar record. - - - true to Display horizontal bar charts, false for vertical - @return the horizontal field value. - - - stack Displayed values - @return the stacked field value. - - - Display chart values as a percentage - @return the Display as percentage field value. - - - Display a shadow for the chart - @return the shadow field value. - - - The begin record defines the start of a block of records for a (grpahing - data object. This record is matched with a corresponding EndRecord. - - @see EndRecord - - @author Glen Stampoultzis (glens at apache.org) - - - Constructs a BeginRecord record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - CATLAB - Category Labels (0x0856)
- - @author Patrick Cheng -
- - ENDBLOCK - Chart Future Record Type End Block (0x0853)
- - @author Patrick Cheng -
- - ENDOBJECT - Chart Future Record Type End Object (0x0855)
- - @author Patrick Cheng -
- - Class ChartFormatRecord - - - @author Glen Stampoultzis (glens at apache.org) - @version %I%, %G% - - - Constructs a ChartFormatRecord record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - - The ChartFrtInfo record specifies the versions of the application that originally created and last saved the file. - - - - * The chart record is used to define the location and size of a chart. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a Chart record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the x field for the Chart record. - - - Get the y field for the Chart record. - - - Get the width field for the Chart record. - - - Get the height field for the Chart record. - - - STARTBLOCK - Chart Future Record Type Start Block (0x0852)
- - @author Patrick Cheng -
- - STARTOBJECT - Chart Future Record Type Start Object (0x0854)
- - @author Patrick Cheng -
- - - The CrtLink record is written but unused. - - - - * The data format record is used to index into a series. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a DataFormat record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the point number field for the DataFormat record. - - - Get the series index field for the DataFormat record. - - - Get the series number field for the DataFormat record. - - - Get the format flags field for the DataFormat record. - - - Set true to use excel 4 colors. - @return the use excel 4 colors field value. - - - DATALABEXT - Chart Data Label Extension (0x086A)
- - @author Patrick Cheng -
- - * The dat record is used to store options for the chart. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a Dat record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Sets the horizontal border field value. - has a horizontal border - - - has a horizontal border - @return the horizontal border field value. - - - Sets the vertical border field value. - has vertical border - - - has vertical border - @return the vertical border field value. - - - Sets the border field value. - data table has a border - - - data table has a border - @return the border field value. - - - Sets the show series key field value. - shows the series key - - - shows the series key - @return the show series key field value. - - - Size of record (exluding 4 byte header) - - - Get the options field for the Dat record. - - - The end record defines the end of a block of records for a (Graphing) - data object. This record is matched with a corresponding BeginRecord. - - @see BeginRecord - - @author Glen Stampoultzis (glens at apache.org) - - - Constructs a EndRecord record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - * The font basis record stores various font metrics. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a FontBasis record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the x Basis field for the FontBasis record. - - - Get the y Basis field for the FontBasis record. - - - Get the height basis field for the FontBasis record. - - - Get the scale field for the FontBasis record. - - - Get the index to font table field for the FontBasis record. - - - * The frame record indicates whether there is a border around the Displayed text of a chart. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a Frame record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the border type field for the Frame record. - - @return One of - BORDER_TYPE_REGULAR - BORDER_TYPE_SHADOW - - - Get the options field for the Frame record. - - - excel calculates the size automatically if true - @return the auto size field value. - - - excel calculates the position automatically - @return the auto position field value. - - - * Defines a legend for a chart. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Andrew C. Oliver (acoliver at apache.org) - - - Constructs a Legend record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the x axis upper left field for the Legend record. - - - Get the y axis upper left field for the Legend record. - - - Get the x size field for the Legend record. - - - Get the y size field for the Legend record. - - - Get the type field for the Legend record. - - @return One of - TYPE_BOTTOM - TYPE_CORNER - TYPE_TOP - TYPE_RIGHT - TYPE_LEFT - TYPE_UNDOCKED - - - Get the spacing field for the Legend record. - - @return One of - SPACING_CLOSE - SPACING_MEDIUM - SPACING_OPEN - - - Get the options field for the Legend record. - - - automatic positioning (1=docked) - @return the auto position field value. - - - excel 5 only (true) - @return the auto series field value. - - - position of legend on the x axis is automatic - @return the auto x positioning field value. - - - position of legend on the y axis is automatic - @return the auto y positioning field value. - - - vertical or horizontal legend (1 or 0 respectively). Always 0 if not automatic. - @return the vertical field value. - - - 1 if chart Contains data table - @return the data table field value. - - - * Describes a line format record. The line format record controls how a line on a chart appears. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a LineFormat record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the line color field for the LineFormat record. - - - Get the line pattern field for the LineFormat record. - - @return One of - LINE_PATTERN_SOLID - LINE_PATTERN_DASH - LINE_PATTERN_DOT - LINE_PATTERN_DASH_DOT - LINE_PATTERN_DASH_DOT_DOT - LINE_PATTERN_NONE - LINE_PATTERN_DARK_GRAY_PATTERN - LINE_PATTERN_MEDIUM_GRAY_PATTERN - LINE_PATTERN_LIGHT_GRAY_PATTERN - - - Get the weight field for the LineFormat record. - specifies the thickness of the line. - @return One of - WEIGHT_HAIRLINE - WEIGHT_NARROW - WEIGHT_MEDIUM - WEIGHT_WIDE - - - Get the format field for the LineFormat record. - - - Get the colour palette index field for the LineFormat record. - - - automatic format - @return the auto field value. - - - draw tick marks - @return the draw ticks field value. - - - book marks this as reserved = 0 but it seems to do something - @return the Unknown field value. - - - * The number format index record indexes format table. This applies to an axis. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a NumberFormatIndex record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the format index field for the NumberFormatIndex record. - - - * Links text to an object on the chart or identifies it as the title. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Andrew C. Oliver (acoliver at apache.org) - - - Constructs a ObjectLink record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the anchor id field for the ObjectLink record. - - @return One of - ANCHOR_ID_CHART_TITLE - ANCHOR_ID_Y_AXIS - ANCHOR_ID_X_AXIS - ANCHOR_ID_SERIES_OR_POINT - ANCHOR_ID_Z_AXIS - - - Get the link 1 field for the ObjectLink record. - - - Get the link 2 field for the ObjectLink record. - - - * preceeds and identifies a frame as belonging to the plot area. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Andrew C. Oliver (acoliver at apache.org) - - - Constructs a PlotArea record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - * The plot growth record specifies the scaling factors used when a font is scaled. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a PlotGrowth record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the horizontalScale field for the PlotGrowth record. - - - Get the verticalScale field for the PlotGrowth record. - - - - pecifies positioning mode for position information saved in a Pos record. - - - - - Relative position to the chart, in points. - - - - - Absolute width and height in points. It can only be applied to the mdBotRt field of Pos. - - - - - Owner of Pos determines how to interpret the position data. - - - - - Offset to default position, in 1/1000th of the plot area size. - - - - - Relative position to the chart, in SPRC. - - - - - specifies the size and position for a legend, an attached label, or the plot area, as specified by the primary axis group. - - - - - specifies the positioning mode for the upper-left corner of a legend, an attached label, or the plot area. - - - - - specifies the positioning mode for the lower-right corner of a legend, an attached label, or the plot area - - - - - specifies a position. The meaning is specified in the earlier table showing the valid combinations mdTopLt and mdBotRt by type. - - - - - specifies a width. The meaning is specified in the earlier table showing the valid combinations mdTopLt and mdBotRt by type. - - - - - specifies a position. The meaning is specified in the earlier table showing the valid combinations mdTopLt and mdBotRt by type. - - - - - specifies a height. The meaning is specified in the earlier table showing the valid combinations mdTopLt and mdBotRt by type. - - - - * The series chart Group index record stores the index to the CHARTFORMAT record (0 based). - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a SeriesChartGroupIndex record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the chart Group index field for the SeriesChartGroupIndex record. - - - * links a series to its position in the series list. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Andrew C. Oliver (acoliver at apache.org) - - - Constructs a SeriesIndex record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the index field for the SeriesIndex record. - - - * The series label record defines the type of label associated with the data format record. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a SeriesLabels record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the format flags field for the SeriesLabels record. - - - show actual value of the data point - @return the show actual field value. - - - show value as percentage of total (pie charts only) - @return the show percent field value. - - - show category label/value as percentage (pie charts only) - @return the label as percentage field value. - - - show smooth line - @return the smoothed line field value. - - - Display category label - @return the show label field value. - - - ?? - @return the show bubble sizes field value. - - - * The series list record defines the series Displayed as an overlay to the main chart record. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a SeriesList record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the series numbers field for the SeriesList record. - - - * The series record describes the overall data for a series. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a Series record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the category data type field for the Series record. - - @return One of - CATEGORY_DATA_TYPE_DATES - CATEGORY_DATA_TYPE_NUMERIC - CATEGORY_DATA_TYPE_SEQUENCE - CATEGORY_DATA_TYPE_TEXT - - - Get the values data type field for the Series record. - - @return One of - VALUES_DATA_TYPE_DATES - VALUES_DATA_TYPE_NUMERIC - VALUES_DATA_TYPE_SEQUENCE - VALUES_DATA_TYPE_TEXT - - - Get the num categories field for the Series record. - - - Get the num values field for the Series record. - - - Get the bubble series type field for the Series record. - - @return One of - BUBBLE_SERIES_TYPE_DATES - BUBBLE_SERIES_TYPE_NUMERIC - BUBBLE_SERIES_TYPE_SEQUENCE - BUBBLE_SERIES_TYPE_TEXT - - - Get the num bubble values field for the Series record. - - - * Defines a series name - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Andrew C. Oliver (acoliver at apache.org) - - - the actual text cannot be longer than 255 characters - - - Constructs a SeriesText record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the id field for the SeriesText record. - - - Get the text field for the SeriesText record. - - - * Indicates the chart-group index for a series. The order probably defines the mapping. So the 0th record probably means the 0th series. The only field in this of course defines which chart Group the 0th series (for instance) would map to. Confusing? Well thats because it Is. (p 522 BCG) - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Andrew C. Oliver (acoliver at apache.org) - - - Constructs a SeriesToChartGroup record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the chart Group index field for the SeriesToChartGroup record. - - - - Section [2.4.324]. The Text record specifies the properties of an attached label and specifies the beginning of - a collection of records as defined by the chart sheet substream ABNF. This collection of records specifies an attached label. - - - - - Left-alignment if iReadingOrder specifies left-to-right reading order; otherwise, right-alignment - - - - - Center-alignment - - - - - Right-alignment if iReadingOrder specifies left-to-right reading order; otherwise, left-alignment - - - - - Justify-alignment - - - - - distributed alignment - - - - - distributed alignment - - - - - Transparent background - - - - - Opaque background - - - - Constructs a Text record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the horizontal alignment field for the Text record. - - @return One of - HORIZONTAL_ALIGNMENT_LEFT - HORIZONTAL_ALIGNMENT_CENTER - HORIZONTAL_ALIGNMENT_BOTTOM - HORIZONTAL_ALIGNMENT_JUSTIFY - - - Get the vertical alignment field for the Text record. - - @return One of - VERTICAL_ALIGNMENT_TOP - VERTICAL_ALIGNMENT_CENTER - VERTICAL_ALIGNMENT_BOTTOM - VERTICAL_ALIGNMENT_JUSTIFY - - - Get the Display mode field for the Text record. - - @return One of - DISPLAY_MODE_TRANSPARENT - DISPLAY_MODE_OPAQUE - - - Get the rgbColor field for the Text record. - - - Get the x field for the Text record. - - - Get the y field for the Text record. - - - Set the width field for the Text record. - - - Get the height field for the Text record. - - - Get the options1 field for the Text record. - - - Get the index of color value field for the Text record. - - - Get the options2 field for the Text record. - - - Get the text rotation field for the Text record. - - - true = automaticly selected colour, false = user-selected - @return the auto color field value. - - - true = draw legend - @return the show key field value. - - - false = text is category label - @return the show value field value. - - - - @return the auto generated text field value. - - - - @return the generated field value. - - - - @return the auto label deleted field value. - - - - @return the auto background field value. - - - - @return the show category label as percentage field value. - - - - @return the show value as percentage field value. - - - - @return the show bubble sizes field value. - - - - @return the show label field value. - - - - @return the data label placement field value. - - - * The Tick record defines how tick marks and label positioning/formatting - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Andrew C. Oliver(acoliver at apache.org) - - - Constructs a Tick record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the major tick type field for the Tick record. - - - Get the minor tick type field for the Tick record. - - - Get the label position field for the Tick record. - - - Get the background field for the Tick record. - - - Get the label color rgb field for the Tick record. - - - Get the zero 1 field for the Tick record. - - - Get the zero 2 field for the Tick record. - - - Get the options field for the Tick record. - - - Get the tick color field for the Tick record. - - - Get the zero 3 field for the Tick record. - - - use the quote Unquote automatic color for text - @return the auto text color field value. - - - use the quote Unquote automatic color for text background - @return the auto text background field value. - - - rotate text (0=none, 1=normal, 2=90 degrees counterclockwise, 3=90 degrees clockwise) - @return the rotation field value. - - - automatically rotate the text - @return the autorotate field value. - - - * The Units record describes Units. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a Units record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the Units field for the Units record. - - - * The value range record defines the range of the value axis. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a ValueRange record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the minimum axis value field for the ValueRange record. - - - Get the maximum axis value field for the ValueRange record. - - - Get the major increment field for the ValueRange record. - - - Get the minor increment field for the ValueRange record. - - - Get the category axis cross field for the ValueRange record. - - - Get the options field for the ValueRange record. - - - automatic minimum value selected - @return the automatic minimum field value. - - - automatic maximum value selected - @return the automatic maximum field value. - - - automatic major Unit selected - @return the automatic major field value. - - - automatic minor Unit selected - @return the automatic minor field value. - - - category crossing point is automatically selected - @return the automatic category crossing field value. - - - use logarithmic scale - @return the logarithmic scale field value. - - - values are reverses in graph - @return the values in reverse field value. - - - category axis to cross at maximum value - @return the cross category axis at maximum field value. - - - reserved, must equal 1 (excel dev. guide says otherwise) - @return the reserved field value. - - - Title: Codepage Record -

Description: the default characterset. for the workbook

-

REFERENCE: PG 293 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)

-

Use {@link CodePageUtil} to turn these values into Java code pages - to encode/decode strings.

- @version 2.0-pre -
- - Excel 97+ (Biff 8) should always store strings as UTF-16LE or - compressed versions of that. As such, this should always be - 0x4b0 = UTF_16, except for files coming from older versions. - - - Constructs a CodepageRecord and Sets its fields appropriately - @param in the RecordInputstream to Read the record from - - - Get the codepage for this workbook - - @see #CODEPAGE - @return codepage - the codepage to Set - - - Title: COLINFO Record

- Description: Defines with width and formatting for a range of columns

- REFERENCE: PG 293 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)

- @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - Constructs a ColumnInfo record and Sets its fields appropriately - @param in the RecordInputstream to Read the record from - - - @return true if the format, options and column width match - - - Get the first column this record defines formatting info for - @return the first column index (0-based) - - - Get the last column this record defines formatting info for - @return the last column index (0-based) - - - Get the columns' width in 1/256 of a Char width - @return column width - - - Get the columns' default format info - @return the extended format index - @see org.apache.poi.hssf.record.ExtendedFormatRecord - - - Get the options bitfield - use the bitSetters instead - @return the bitfield raw value - - - Get whether or not these cells are hidden - @return whether the cells are hidden. - @see #SetOptions(short) - - - Get the outline level for the cells - @see #SetOptions(short) - @return outline level for the cells - - - Get whether the cells are collapsed - @return wether the cells are collapsed - @see #SetOptions(short) - - - Class POIFSWriterEvent - - @author Marc Johnson (mjohnson at apache dot org) - @version %I%, %G% - - - namespace scoped constructor - - @param stream the DocumentOutputStream, freshly opened - @param path the path of the document - @param documentName the name of the document - @param limit the limit, in bytes, that can be written to the - stream - - - @return the DocumentOutputStream, freshly opened - - - @return the document's path - - - @return the document's name - - - @return the limit on writing, in bytes - - -

- EventArgs for POIFSWriter - author: Tony Qu - -
- - - Initializes a new instance of the class. - - the POIFSDocumentWriter, freshly opened - the path of the document - the name of the document - the limit, in bytes, that can be written to the stream - - - - Gets the limit on writing, in bytes - - The limit. - - - - Gets the document's name - - The name. - - - - Gets the document's path - - The path. - - - - the POIFSDocumentWriter, freshly opened - - The stream. - - - Interface POIFSWriterListener - - @author Marc Johnson (mjohnson at apache dot org) - @version %I%, %G% - - - Process a POIFSWriterEvent that this listener had registered - for - - @param event the POIFSWriterEvent - - - - This abstract class describes a way to read, store, chain - and free a series of blocks (be they Big or Small ones) - - - - - Returns the size of the blocks managed through the block store. - - - - - - Load the block at the given offset. - - - - - - - Extends the file if required to hold blocks up to - the specified offset, and return the block from there. - - - - - - - Returns the BATBlock that handles the specified offset, - and the relative index within it - - - - - - - Works out what block follows the specified one. - - - - - - - Changes the record of what block follows the specified one. - - - - - - - Finds a free block, and returns its offset. - This method will extend the file/stream if needed, and if doing - so, allocate new FAT blocks to address the extra space. - - - - - - Creates a Detector for loops in the chain - - - - - - Used to detect if a chain has a loop in it, so - we can bail out with an error rather than - spinning away for ever... - - - - This class provides methods to read a DocumentEntry managed by a - {@link POIFSFileSystem} or {@link NPOIFSFileSystem} instance. - It Creates the appropriate one, and delegates, allowing us to - work transparently with the two. - - - returned by read operations if we're at end of document - - - For use by downstream implementations - - - Create an InputStream from the specified DocumentEntry - - @param document the DocumentEntry to be read - - @exception IOException if the DocumentEntry cannot be opened (like, maybe it has - been deleted?) - - - Create an InputStream from the specified Document - - @param document the Document to be read - - - Create an InputStream from the specified Document - - @param document the Document to be read - - - Tests if this input stream supports the mark and reset methods. - - @return true always - - - Repositions this stream to the position at the time the mark() method was - last called on this input stream. If mark() has not been called this - method repositions the stream to its beginning. - - - This class provides a wrapper over an OutputStream so that Document - Writers can't accidently go over their size limits - - @author Marc Johnson (mjohnson at apache dot org) - - - Create a DocumentOutputStream - - @param stream the OutputStream to which the data is actually - read - @param limit the maximum number of bytes that can be written - - - Writes the specified byte to this output stream. The general - contract for write is that one byte is written to the output - stream. The byte to be written is the eight low-order bits of - the argument b. The 24 high-order bits of b are ignored. - - @param b the byte. - @exception IOException if an I/O error occurs. In particular, - an IOException may be thrown if the - output stream has been closed, or if the - Writer tries to write too much data. - - - Writes b.Length bytes from the specified byte array - to this output stream. - - @param b the data. - @exception IOException if an I/O error occurs. - - - - Writes len bytes from the specified byte array starting at - offset off to this output stream. The general contract for - Write(b, off, len) is that some of the bytes in the array b are - written to the output stream in order; element b[off] is the - first byte written and b[off+len-1] is the last byte written by - this operation. - - the data. - the start offset in the data. - the number of bytes to Write. - - - - Flushes this output stream and forces any buffered output bytes to be written out - - - - Closes this output stream and releases any system resources - associated with this stream. The general contract of close is - that it closes the output stream. A closed stream cannot - perform output operations and cannot be reopened. - - @exception IOException if an I/O error occurs. - - - write the rest of the document's data (fill in at the end) - - @param totalLimit the actual number of bytes the corresponding - document must fill - @param fill the byte to fill remaining space with - - @exception IOException on I/O error - - - This class provides methods to read a DocumentEntry managed by a - {@link NPOIFSFileSystem} instance. - - - current offset into the Document - - - current block count - - - current marked offset into the Document (used by mark and Reset) - - - and the block count for it - - - the Document's size - - - have we been closed? - - - the actual Document - - - Create an InputStream from the specified DocumentEntry - - @param document the DocumentEntry to be read - - @exception IOException if the DocumentEntry cannot be opened (like, maybe it has - been deleted?) - - - Create an InputStream from the specified Document - - @param document the Document to be read - - - Repositions this stream to the position at the time the mark() method was - last called on this input stream. If mark() has not been called this - method repositions the stream to its beginning. - - - This class manages a document in the NIO POIFS filesystem. - This is the {@link NPOIFSFileSystem} version. - - - - Interface for a drill-down viewable object. Such an object has - content that may or may not be displayed, at the discretion of the - viewer. The content is returned to the viewer as an array or as an - Iterator, and the object provides a clue as to which technique the - viewer should use to get its content. - A POIFSViewable object is also expected to provide a short - description of itself, that can be used by a viewer when the - viewable object is collapsed. - @author Marc Johnson (mjohnson at apache dot org) - - - - - Provides a short description of the object to be used when a - POIFSViewable object has not provided its contents. - - true if [prefer array]; otherwise, false. - - - - Gets the short description. - - The short description. - - - - Get an array of objects, some of which may implement POIFSViewable - - The viewable array. - - - - Give viewers a hint as to whether to call ViewableArray or ViewableIterator - - The viewable iterator. - - - Constructor for an existing Document - - - Constructor for an existing Document - - - Constructor for a new Document - - @param name the name of the POIFSDocument - @param stream the InputStream we read data from - - - Frees the underlying stream and property - - - Get an array of objects, some of which may implement POIFSViewable - - @return an array of Object; may not be null, but may be empty - - - Get an Iterator of objects, some of which may implement POIFSViewable - - @return an Iterator; may not be null, but may have an empty back end - store - - - Provides a short description of the object, to be used when a - POIFSViewable object has not provided its contents. - - @return short description - - - @return size of the document - - - @return the instance's DocumentProperty - - - This is the main class of the POIFS system; it manages the entire - life cycle of the filesystem. - This is the new NIO version - - - Convenience method for clients that want to avoid the auto-close behaviour of the constructor. - - - What big block size the file uses. Most files - use 512 bytes, but a few use 4096 - - - Constructor, intended for writing - - -

Creates a POIFSFileSystem from a File. This uses less memory than - creating from an InputStream.

- -

Note that with this constructor, you will need to call {@link #close()} - when you're done to have the underlying file closed, as the file is - kept open during normal operation to read the data out.

- - @param file the File from which to read or read/write the data - @param readOnly whether the POIFileSystem will only be used in read-only mode - - @exception IOException on errors reading, or on invalid data -
- - *

Creates a POIFSFileSystem from an open FileChannel. This uses - * less memory than creating from an InputStream. The stream will - * be used in read-only mode.

- * - *

Note that with this constructor, you will need to call {@link #close()} - * when you're done to have the underlying Channel closed, as the channel is - * kept open during normal operation to read the data out.

- * - * @param channel the FileChannel from which to read the data - * - * @exception IOException on errors reading, or on invalid data -
- -

Creates a POIFSFileSystem from an open FileChannel. This uses - less memory than creating from an InputStream.

- -

Note that with this constructor, you will need to call {@link #close()} - when you're done to have the underlying Channel closed, as the channel is - kept open during normal operation to read the data out.

- - @param channel the FileChannel from which to read or read/write the data - @param readOnly whether the POIFileSystem will only be used in read-only mode - - @exception IOException on errors reading, or on invalid data -
- - Create a POIFSFileSystem from an InputStream. Normally the stream is read until - EOF. The stream is always closed.

- - Some streams are usable After reaching EOF (typically those that return true - for markSupported()). In the unlikely case that the caller has such a stream - and needs to use it After this constructor completes, a work around is to wrap the - stream in order to trap the close() call. A convenience method ( - CreateNonClosingInputStream()) has been provided for this purpose: -

-             InputStream wrappedStream = POIFSFileSystem.CreateNonClosingInputStream(is);
-             HSSFWorkbook wb = new HSSFWorkbook(wrappedStream);
-             is.Reset();
-             doSomethingElse(is);
-             
- Note also the special case of MemoryStream for which the close() - method does nothing. -
-             MemoryStream bais = ...
-             HSSFWorkbook wb = new HSSFWorkbook(bais); // calls bais.Close() !
-             bais.Reset(); // no problem
-             doSomethingElse(bais);
-             
- - @param stream the InputStream from which to read the data - - @exception IOException on errors Reading, or on invalid data -
- - @param stream the stream to be closed - @param success false if an exception is currently being thrown in the calling method - - - Checks that the supplied InputStream (which MUST - support mark and reset, or be a PushbackInputStream) - has a POIFS (OLE2) header at the start of it. - If your InputStream does not support mark / reset, - then wrap it in a PushBackInputStream, then be - sure to always use that, and not the original! - @param inp An InputStream which supports either mark/reset, or is a PushbackInputStream - - - Checks if the supplied first 8 bytes of a stream / file - has a POIFS (OLE2) header. - - - Read and process the PropertiesTable and the - FAT / XFAT blocks, so that we're Ready to - work with the file - - - Load the block at the given offset. - - - Load the block at the given offset, - extending the file if needed - - - Returns the BATBlock that handles the specified offset, - and the relative index within it - - - Works out what block follows the specified one. - - - Changes the record of what block follows the specified one. - - - Finds a free block, and returns its offset. - This method will extend the file if needed, and if doing - so, allocate new FAT blocks to Address the extra space. - - - Returns the MiniStore, which performs a similar low - level function to this, except for the small blocks. - - - add a new POIFSDocument to the FileSytem - - @param document the POIFSDocument being Added - - - add a new DirectoryProperty to the FileSystem - - @param directory the DirectoryProperty being Added - - - Create a new document to be Added to the root directory - - @param stream the InputStream from which the document's data - will be obtained - @param name the name of the new POIFSDocument - - @return the new DocumentEntry - - @exception IOException on error creating the new POIFSDocument - - - create a new DocumentEntry in the root entry; the data will be - provided later - - @param name the name of the new DocumentEntry - @param size the size of the new DocumentEntry - @param Writer the Writer of the new DocumentEntry - - @return the new DocumentEntry - - @exception IOException - - - create a new DirectoryEntry in the root directory - - @param name the name of the new DirectoryEntry - - @return the new DirectoryEntry - - @exception IOException on name duplication - - - Write the filesystem out to the open file. Will thrown an - {@link ArgumentException} if opened from an - {@link InputStream}. - - @exception IOException thrown on errors writing to the stream - - - Write the filesystem out - - @param stream the OutputStream to which the filesystem will be - written - - @exception IOException thrown on errors writing to the stream - - - Has our in-memory objects write their state - to their backing blocks - - - Closes the FileSystem, freeing any underlying files, streams - and buffers. After this, you will be unable to read or - write from the FileSystem. - - - open a document in the root entry's list of entries - - @param documentName the name of the document to be opened - - @return a newly opened DocumentInputStream - - @exception IOException if the document does not exist or the - name is that of a DirectoryEntry - - - remove an entry - - @param entry to be Removed - - - Get an array of objects, some of which may implement - POIFSViewable - - @return an array of Object; may not be null, but may be empty - - - Get an Iterator of objects, some of which may implement - POIFSViewable - - @return an Iterator; may not be null, but may have an empty - back end store - - - Provides a short description of the object, to be used when a - POIFSViewable object has not provided its contents. - - @return short description - - - @return The Big Block size, normally 512 bytes, sometimes 4096 bytes - - - @return The Big Block size, normally 512 bytes, sometimes 4096 bytes - - - For unit Testing only! Returns the underlying - properties table - - - Get the root entry - - @return the root entry - - - This class handles the MiniStream (small block store) - in the NIO case for {@link NPOIFSFileSystem} - - - Load the block at the given offset. - - - Load the block, extending the underlying stream if needed - - - Returns the BATBlock that handles the specified offset, - and the relative index within it - - - Works out what block follows the specified one. - - - Changes the record of what block follows the specified one. - - - Finds a free block, and returns its offset. - This method will extend the file if needed, and if doing - so, allocate new FAT blocks to Address the extra space. - - - Writes the SBATs to their backing blocks - - - This handles Reading and writing a stream within a - {@link NPOIFSFileSystem}. It can supply an iterator - to read blocks, and way to write out to existing and - new blocks. - Most users will want a higher level version of this, - which deals with properties to track which stream - this is. - This only works on big block streams, it doesn't - handle small block ones. - This uses the new NIO code - - TODO Implement a streaming write method, and append - - - Constructor for an existing stream. It's up to you - to know how to Get the start block (eg from a - {@link HeaderBlock} or a {@link Property}) - - - Constructor for a new stream. A start block won't - be allocated until you begin writing to it. - - - What block does this stream start at? - Will be {@link POIFSConstants#END_OF_CHAIN} for a - new stream that hasn't been written to yet. - - - Returns an iterator that'll supply one {@link ByteBuffer} - per block in the stream. - - - Updates the contents of the stream to the new - Set of bytes. - Note - if this is property based, you'll still - need to update the size in the property yourself - - - Frees all blocks in the stream - - - This class provides methods to read a DocumentEntry managed by a - {@link POIFSFileSystem} instance. - - @author Marc Johnson (mjohnson at apache dot org) - - - current offset into the Document - - - current marked offset into the Document (used by mark and Reset) - - - the Document's size - - - have we been closed? - - - the actual Document - - - the data block Containing the current stream pointer - - - Create an InputStream from the specified DocumentEntry - - @param document the DocumentEntry to be read - - @exception IOException if the DocumentEntry cannot be opened (like, maybe it has - been deleted?) - - - Create an InputStream from the specified Document - - @param document the Document to be read - - - Repositions this stream to the position at the time the mark() method was - last called on this input stream. If mark() has not been called this - method repositions the stream to its beginning. - - - - This class manages a document in the POIFS filesystem. - @author Marc Johnson (mjohnson at apache dot org) - - - - - This interface defines behaviors for objects managed by the Block - Allocation Table (BAT). - @author Marc Johnson (mjohnson at apache dot org) - - - - - Gets the number of BigBlock's this instance uses - - count of BigBlock instances - - - - Sets the start block for this instance - - index into the array of BigBlock instances making up the the filesystem - - - - An interface for persisting block storage of POIFS components. - @author Marc Johnson (mjohnson at apache dot org) - - - - - Writes the blocks. - - The stream. - - - - Initializes a new instance of the class. - - the name of the POIFSDocument - the InputStream we read data from - - - - Constructor from small blocks - - the name of the POIFSDocument - the small blocks making up the POIFSDocument - the actual length of the POIFSDocument - - - - read data from the internal stores - - the buffer to write to - the offset into our storage to read from - - - - Writes the blocks. - - The stream. - - - - Gets the number of BigBlock's this instance uses - - count of BigBlock instances - - - - Gets the document property. - - The document property. - - - - Provides a short description of the object to be used when a - POIFSViewable object has not provided its contents. - - true if [prefer array]; otherwise, false. - - - - Gets the short description. - - The short description. - - - - Gets the size. - - The size. - - - - Gets the small blocks. - - The small blocks. - - - - Sets the start block for this instance - - - index into the array of BigBlock instances making up the the filesystem - - - - - Get an array of objects, some of which may implement POIFSViewable - - The viewable array. - - - - Give viewers a hint as to whether to call ViewableArray or ViewableIterator - - The viewable iterator. - - - - A POIFS backed by a byte array. - - - - - Common definition of how we read and write bytes - - - - - Close the underlying stream - - - - - Copies the contents to the specified Stream - - - - - - A POIFS DataSource backed by a File - TODO - Return the ByteBuffers in such a way that in RW mode, - changes to the buffer end up on the disk (will fix the HPSF TestWrite - currently failing unit test when done) - - - - - Reads a sequence of bytes from this FileStream starting at the given file position. - - - The file position at which the transfer is to begin; - - - - - Writes a sequence of bytes to this FileStream from the given Stream, - starting at the given file position. - - The Stream from which bytes are to be transferred - The file position at which the transfer is to begin; - must be non-negative - - - Prepare to be written - - - - The block containing the archive header - @author Marc Johnson (mjohnson at apache dot org) - - - - - Constants used in reading/writing the Header block - @author Marc Johnson (mjohnson at apache dot org) - - - - What big block Size the file uses. Most files - use 512 bytes, but a few use 4096 - - - Number of small block allocation table blocks (int) - (Number of MiniFAT Sectors in Microsoft parlance) - - - - create a new HeaderBlockReader from an Stream - - the source Stream - - - - Alerts the short read. - - The read. - The expected size. - - - - Get start of Property Table - - the index of the first block of the Property Table - - - - Gets start of small block allocation table - - The SBAT start. - - - - Gets number of BAT blocks - - The BAT count. - - - - Gets the BAT array. - - The BAT array. - - - - Gets the XBAT count. - - The XBAT count. - @return XBAT count - - - - Gets the index of the XBAT. - - The index of the XBAT. - - - - Gets The Big Block Size, normally 512 bytes, sometimes 4096 bytes - - The size of the big block. - @return - - - Formats a date value. - - @author Ken Arnold, Industrious Media LLC - - - This is the abstract supertype for the various cell formatters. - - @author Ken Arnold, Industrious Media LLC - - - The original specified format. - - - This is the locale used to Get a consistent format result from which to - work. - - - Creates a new formatter object, storing the format in {@link #format}. - - @param format The format. - - - Format a value according the format string. - - @param toAppendTo The buffer to append to. - @param value The value to format. - - - Format a value according to the type, in the most basic way. - - @param toAppendTo The buffer to append to. - @param value The value to format. - - - Formats the value, returning the resulting string. - - @param value The value to format. - - @return The value, formatted. - - - Formats the value in the most basic way, returning the resulting string. - - @param value The value to format. - - @return The value, formatted. - - - Returns the input string, surrounded by quotes. - - @param str The string to quote. - - @return The input string, surrounded by quotes. - - - Creates a new date formatter with the given specification. - - @param format The format. - - - {@inheritDoc} - - - {@inheritDoc} -

- For a date, this is "mm/d/y". - - - Objects of this class represent a single part of a cell format expression. - Each cell can have up to four of these for positive, zero, negative, and text - values. -

- Each format part can contain a color, a condition, and will always contain a - format specification. For example "[Red][>=10]#" has a color - ([Red]), a condition (>=10) and a format specification - (#). -

- This class also Contains patterns for matching the subparts of format - specification. These are used internally, but are made public in case other - code has use for them. - - @author Ken Arnold, Industrious Media LLC - - - Pattern for the color part of a cell format part. - - - Pattern for the condition part of a cell format part. - - - Pattern for the format specification part of a cell format part. - - - Pattern for an entire cell single part. - - - Within {@link #FORMAT_PAT}, the group number for the matched color. - - - Within {@link #FORMAT_PAT}, the group number for the operator in the - condition. - - - Within {@link #FORMAT_PAT}, the group number for the value in the - condition. - - - Within {@link #FORMAT_PAT}, the group number for the format - specification. - - - Create an object to represent a format part. - - @param desc The string to Parse. - - - Returns true if this format part applies to the given value. If - the value is a number and this is part has a condition, returns - true only if the number passes the condition. Otherwise, this - allways return true. - - @param valueObject The value to Evaluate. - - @return true if this format part applies to the given value. - - - Returns the number of the first group that is the same as the marker - string. The search starts with group 1. - - @param pat The pattern to use. - @param str The string to match against the pattern. - @param marker The marker value to find the group of. - - @return The matching group number. - - @throws ArgumentException No group matches the marker. - - - Returns the color specification from the matcher, or null if - there is none. - - @param m The matcher for the format part. - - @return The color specification or null. - - - Returns the condition specification from the matcher, or null if - there is none. - - @param m The matcher for the format part. - - @return The condition specification or null. - - - Returns the CellFormatType object implied by the format specification for - the format part. - - @param matcher The matcher for the format part. - - @return The CellFormatType. - - - Returns the formatter object implied by the format specification for the - format part. - - @param matcher The matcher for the format part. - - @return The formatter. - - - Returns the type of format. - - @param fdesc The format specification - - @return The type of format. - - - Returns a version of the original string that has any special characters - quoted (or escaped) as appropriate for the cell format type. The format - type object is queried to see what is special. - - @param repl The original string. - @param type The format type representation object. - - @return A version of the string with any special characters Replaced. - - @see CellFormatType#isSpecial(char) - - - Apply this format part to the given value. This returns a {@link - CellFormatResult} object with the results. - - @param value The value to apply this format part to. - - @return A {@link CellFormatResult} object Containing the results of - Applying the format to the value. - - - Apply this format part to the given value, Applying the result to the - given label. - - @param label The label - @param value The value to apply this format part to. - - @return true if the - - - Expands a character. This is only partly done, because we don't have the - correct info. In Excel, this would be expanded to fill the rest of the - cell, but we don't know, in general, what the "rest of the cell" is1. - - @param part The character to be repeated is the second character in this - string. - - @return The character repeated three times. - - - Returns the string from the group, or "" if the group is - null. - - @param m The matcher. - @param g The group number. - - @return The group or "". - - - Returns the CellFormatType object implied by the format specification for - the format part. - - @return The CellFormatType. - - - Returns true if this format part has a condition. - - @return true if this format part has a condition. - - - This class : printing out an elapsed time format. - - @author Ken Arnold, Industrious Media LLC - - - Creates a elapsed time formatter. - - @param pattern The pattern to Parse. - - - {@inheritDoc} - - - {@inheritDoc} -

- For a date, this is "mm/d/y". - - - Format a value according to the standard Excel behavior. This "standard" is - not explicitly documented by Microsoft, so the behavior is determined by - experimentation; see the tests. - - An Excel format has up to four parts, Separated by semicolons. Each part - specifies what to do with particular kinds of values, depending on the number - of parts given: - - - One part (example: [Green]#.##) - If the value is a number, display according to this one part (example: green text, - with up to two decimal points). If the value is text, display it as is. - - - Two parts (example: [Green]#.##;[Red]#.##) - If the value is a positive number or zero, display according to the first part (example: green - text, with up to two decimal points); if it is a negative number, display - according to the second part (example: red text, with up to two decimal - points). If the value is text, display it as is. - - - Three parts (example: [Green]#.##;[Black]#.##;[Red]#.##) - If the value is a positive number, display according to the first part (example: green text, with up to - two decimal points); if it is zero, display according to the second part - (example: black text, with up to two decimal points); if it is a negative - number, display according to the third part (example: red text, with up to - two decimal points). If the value is text, display it as is. - - - Four parts (example: [Green]#.##;[Black]#.##;[Red]#.##;[@]) - If the value is a positive number, display according to the first part (example: green text, - with up to two decimal points); if it is zero, display according to the - second part (example: black text, with up to two decimal points); if it is a - negative number, display according to the third part (example: red text, with - up to two decimal points). If the value is text, display according to the - fourth part (example: text in the cell's usual color, with the text value - surround by brackets). - - In Addition to these, there is a general format that is used when no format - is specified. This formatting is presented by the {@link #GENERAL_FORMAT} - object. - - @author Ken Arnold, Industrious Media LLC - - - Maps a format string to its Parsed version for efficiencies sake. - - - Returns a {@link CellFormat} that applies the given format. Two calls - with the same format may or may not return the same object. - - @param format The format. - - @return A {@link CellFormat} that applies the given format. - - - Creates a new object. - - @param format The format. - - - Returns the result of Applying the format to the given value. If the - value is a number (a type of {@link Number} object), the correct number - format type is chosen; otherwise it is considered a text object. - - @param value The value - - @return The result, in a {@link CellFormatResult}. - - - Returns the result of applying the format to the given date. - - @param date The date. - @param numericValue The numeric value for the date. - - @return The result, in a {@link CellFormatResult}. - - - Fetches the appropriate value from the cell, and returns the result of - Applying it to the appropriate format. For formula cells, the computed - value is what is used. - - @param c The cell. - - @return The result, in a {@link CellFormatResult}. - - - Uses the result of Applying this format to the value, Setting the text - and color of a label before returning the result. - - @param label The label to apply to. - @param value The value to Process. - - @return The result, in a {@link CellFormatResult}. - - - Uses the result of applying this format to the given date, setting the text - and color of a label before returning the result. - - @param label The label to apply to. - @param date The date. - @param numericValue The numeric value for the date. - - @return The result, in a {@link CellFormatResult}. - - - Fetches the appropriate value from the cell, and uses the result, Setting - the text and color of a label before returning the result. - - @param label The label to apply to. - @param c The cell. - - @return The result, in a {@link CellFormatResult}. - - - Returns the {@link CellFormatPart} that applies to the value. Result - depends on how many parts the cell format has, the cell value and any - conditions. The value must be a {@link Number}. - - @param value The value. - @return The {@link CellFormatPart} that applies to the value. - - - Returns the ultimate cell type, following the results of formulas. If - the cell is a {@link Cell#CELL_TYPE_FORMULA}, this returns the result of - {@link Cell#getCachedFormulaResultType()}. Otherwise this returns the - result of {@link Cell#getCellType()}. - - @param cell The cell. - - @return The ultimate type of this cell. - - - Returns true if the other object is a {@link CellFormat} object - with the same format. - - @param obj The other object. - - @return true if the two objects are Equal. - - - Returns a hash code for the format. - - @return A hash code for the format. - - - Format a value as it would be were no format specified. This is also - used when the format specified is General. - - - This object represents a condition in a cell format. - - @author Ken Arnold, Industrious Media LLC - - - Returns an instance of a condition object. - - @param opString The operator as a string. One of "<", - "<=", ">", ">=", - "=", "==", "!=", or - "<>". - @param constStr The constant (such as "12"). - - @return A condition object for the given condition. - - - Returns true if the given value passes the constraint's test. - - @param value The value to compare against. - - @return true if the given value passes the constraint's test. - - - This object Contains the result of Applying a cell format or cell format part - to a value. - - @author Ken Arnold, Industrious Media LLC - @see CellFormatPart#Apply(Object) - @see CellFormat#Apply(Object) - - - Creates a new format result object. - - @param applies The value for {@link #applies}. - @param text The value for {@link #text}. - @param textColor The value for {@link #textColor}. - - - This is true if no condition was given that applied to the - value, or if the condition is satisfied. If a condition is relevant, and - when applied the value fails the test, this is false. - - - The resulting text. This will never be null. - - - The color the format Sets, or null if the format Sets no color. - This will always be null if {@link #applies} is false. - - - The different kinds of formats that the formatter understands. - - @author Ken Arnold, Industrious Media LLC - - - The general (default) format; also used for "General". - - - A numeric format. - - - A date format. - - - An elapsed time format. - - - A text format. - - - Returns true if the format is special and needs to be quoted. - - @param ch The character to test. - - @return true if the format is special and needs to be quoted. - - - Returns a new formatter of the appropriate type, for the given pattern. - The pattern must be appropriate for the type. - - @param pattern The pattern to use. - - @return A new formatter of the appropriate type, for the given pattern. - - - A formatter for the default "General" cell format. - - @author Ken Arnold, Industrious Media LLC - - - Creates a new general formatter. - - - The general style is not quite the same as any other, or any combination - of others. - - @param toAppendTo The buffer to append to. - @param value The value to format. - - - Equivalent to {@link #formatValue(StringBuilder,Object)}. {@inheritDoc}. - - - This class : printing out a value using a number format. - - @author Ken Arnold, Industrious Media LLC - - - Creates a new cell number formatter. - - @param format The format to Parse. - - - {@inheritDoc} - - - {@inheritDoc} -

- For a number, this is "#" for integer values, and "#.#" - for floating-point values. - - -

- The CellNumberFormatter.simpleValue() method uses the SIMPLE_NUMBER - CellFormatter defined here. The CellFormat.GENERAL_FORMAT CellFormat - no longer uses the SIMPLE_NUMBER CellFormatter. - Note that the simpleValue()/SIMPLE_NUMBER CellFormatter format - ("#" for integer values, and "#.#" for floating-point values) is - different from the 'General' format for numbers ("#" for integer - values and "#.#########" for floating-point values). - -
- - This class is used to mark where the special characters in the format - are, as opposed to the other characters that are simply printed. - - - This class represents a single modification to a result string. The way - this works is complicated, but so is numeric formatting. In general, for - most formats, we use a DecimalFormat object that will Put the string out - in a known format, usually with all possible leading and trailing zeros. - We then walk through the result and the orginal format, and note any - modifications that need to be made. Finally, we go through and apply - them all, dealing with overlapping modifications. - - - This class : printing out text. - - @author Ken Arnold, Industrious Media LLC - - - {@inheritDoc} - - - {@inheritDoc} -

- For text, this is just printing the text. - - - Implementation of Excel 'Analysis ToolPak' function EDATE()
- - Adds a specified number of months to the specified date.

- - Syntax
- EDATE(date, number) - -

- - @author Tomas Herceg - - - To support Constant Values (2.5.7) as required by the CRN record. - This class is also used for two dimensional arrays which are encoded by - EXTERNALNAME (5.39) records and Array tokens.

- - @author Josh Micich - - - @return encoded size without the 'type' code byte - - -

- Represents a constant error code value as encoded in a constant values array. - This class is a type-safe wrapper for a 16-bit int value performing a similar job to - ErrorEval - - @author Josh Micich -
- - - Initializes a new instance of the class. - - The error code. - - - - Values the of. - - The error code. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Gets the error code. - - The error code. - - - - Gets the text. - - The text. - - - Title: Continue Record - Helper class used primarily for SST Records - Description: handles overflow for prior record in the input - stream; content Is tailored to that prior record - @author Marc Johnson (mjohnson at apache dot org) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Csaba Nagy (ncsaba at yahoo dot com) - @version 2.0-pre - - - default constructor - - - Main constructor -- kinda dummy because we don't validate or fill fields - - @param in the RecordInputstream to Read the record from - - - Writes the full encoding of a Continue record without making an instance - - - @param initialDataByte (optional - often used for unicode flag). - If supplied, this will be written before srcData - @return the total number of bytes written - - - Debugging toString - - @return string representation - - - Clone this record. - - - Get the data for continuation - @return byte array containing all of the continued data - - - Common superclass of all records that can produce {@link ContinueRecord}s while being Serialized. - - @author Josh Micich - - - Serializes this record's content to the supplied data output.
- The standard BIFF header (ushort sid, ushort size) has been handled by the superclass, so - only BIFF data should be written by this method. Simple data types can be written with the - standard {@link LittleEndianOutput} methods. Methods from {@link ContinuableRecordOutput} - can be used to Serialize strings (with {@link ContinueRecord}s being written as required). - If necessary, implementors can explicitly start {@link ContinueRecord}s (regardless of the - amount of remaining space). - - @param out a data output stream -
- - @return the total Length of the encoded record(s) - (Note - if any {@link ContinueRecord} is required, this result includes the - size of those too) - - - An augmented {@link LittleEndianOutput} used for serialization of {@link ContinuableRecord}s. - This class keeps track of how much remaining space is available in the current BIFF record and - can start new {@link ContinueRecord}s as required. - - @author Josh Micich - - - - @author Josh Micich - - - Terminates the last record (also updates its 'ushort size' field) - - - Terminates the current record and starts a new {@link ContinueRecord} (regardless - of how much space is still available in the current record). - - - Writes the 'optionFlags' byte and encoded character data of a unicode string. This includes: -
    -
  • byte optionFlags
  • -
  • encoded character data (in "ISO-8859-1" or "UTF-16LE" encoding)
  • -
- - Notes: -
    -
  • The value of the 'is16bitEncoded' flag is determined by the actual character data - of text
  • -
  • The string options flag is never separated (by a {@link ContinueRecord}) from the - first chunk of character data it refers to.
  • -
  • The 'ushort Length' field is assumed to have been explicitly written earlier. Hence, - there may be an intervening {@link ContinueRecord}
  • -
-
- - Writes a unicode string complete with header and character data. This includes: -
    -
  • ushort Length
  • -
  • byte optionFlags
  • -
  • ushort numberOfRichTextRuns (optional)
  • -
  • ushort extendedDataSize (optional)
  • -
  • encoded character data (in "ISO-8859-1" or "UTF-16LE" encoding)
  • -
- - The following bits of the 'optionFlags' byte will be set as appropriate: - - - - - -
MaskDescription
0x01is16bitEncoded
0x04hasExtendedData
0x08isRichText
- Notes: -
    -
  • The value of the 'is16bitEncoded' flag is determined by the actual character data - of text
  • -
  • The string header fields are never separated (by a {@link ContinueRecord}) from the - first chunk of character data (i.e. the first character is always encoded in the same - record as the string header).
  • -
-
- - ** - - - @return total number of bytes written so far (including all BIFF headers) - - - @return number of remaining bytes of space in current record - - - - Implementors of this interface allow client code to 'delay' writing to a certain section of a - data output stream.
- A typical application is for writing BIFF records when the size is not known until well after - the header has been written. The client code can call - to reserve two bytes of the output for the 'ushort size' header field. The delayed output can - be written at any stage. -
- @author Josh Micich -
- - - Creates an output stream intended for outputting a sequence of size bytes. - - - - - - Allows the writing of BIFF records when the 'ushort size' header field is not known in advance. - When the client is finished writing data, it calls {@link #terminate()}, at which point this - class updates the 'ushort size' with its value. - - @author Josh Micich - - - for writing the 'ushort size' field once its value is known - - - Finishes writing the current record and updates 'ushort size' field.
- After this method is called, only {@link #getTotalSize()} may be called. -
- - includes 4 byte header - - - Title: Country Record (aka WIN.INI country) - Description: used for localization. Currently HSSF always Sets this to 1 - and it seems to work fine even in Germany. (es geht's auch fuer Deutschland) - - REFERENCE: PG 298 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - Constructs a CountryRecord and Sets its fields appropriately - @param in the RecordInputstream to Read the record from - - - Gets the default country - - @return country ID (1 = US) - - - Gets the current country - - @return country ID (1 = US) - - - XCT ?CRN Count - - REFERENCE: 5.114 - - @author Josh Micich - - - return the non static version of the id for this record. - - - Title: CRN - Description: This record stores the contents of an external cell or cell range - REFERENCE: 5.23 - - @author josh micich - - - return the non static version of the id for this record. - - - - @author Josh Micich - - - Reads an unsigned short value without decrypting - - - Reads an unsigned short value without decrypting - - - Create using the default password and a specified docId - @param docId 16 bytes - - - @return true if the keyDigest is compatible with the specified saltData and saltHash - - - The {@link RC4} instance needs to be Changed every 1024 bytes. - @param keyBlockNo used to seed the newly Created {@link RC4} - - - Stores the BIFF8 encryption/decryption password for the current thread. This has been done - using a {@link ThreadLocal} in order to avoid further overloading the various public APIs - (e.g. {@link HSSFWorkbook}) that need this functionality. - - - @return the BIFF8 encryption/decryption password for the current thread. - null if it is currently unSet. - - - Used for both encrypting and decrypting BIFF8 streams. The internal - {@link RC4} instance is renewed (re-keyed) every 1024 bytes. - - @author Josh Micich - - - This field is used to keep track of when to change the {@link RC4} - instance. The change occurs every 1024 bytes. Every byte passed over is - counted. - - - TODO: Additionally, the lbPlyPos (position_of_BOF) field of the BoundSheet8 record MUST NOT be encrypted. - - @return true if record type specified by sid is never encrypted - - - Used when BIFF header fields (sid, size) are being Read. The internal - {@link RC4} instance must step even when unencrypted bytes are read - - - Simple implementation of the alleged RC4 algorithm. - - Inspired by wikipedia's RC4 article - - @author Josh Micich - - - Populates this fields data from the byte array passed in1. - @param in the RecordInputstream to Read the record from - - - Appends the string representation of this field to the supplied - StringBuilder. - - @param str The string buffer to Append to. - - - Converts this field to it's byte array form. - @param offset The offset into the byte array to start writing to. - @param data The data array to Write to. - @return The number of bytes written. - - - @return The size of this field in bytes. This operation Is not valid - Until after the call to FillField() - - - Title: Date Window 1904 Flag record - Description: Flag specifying whether 1904 date windowing Is used. - (tick toc tick toc...BOOM!) - REFERENCE: PG 280 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - Constructs a DateWindow1904 record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Gets whether or not to use 1904 date windowing (which means you'll be screwed in 2004) - @return window flag - 0/1 (false,true) - - - Title: DBCell Record - Description: Used by Excel and other MS apps to quickly Find rows in the sheets. - REFERENCE: PG 299/440 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height - @version 2.0-pre - - - Constructs a DBCellRecord and Sets its fields appropriately - @param in the RecordInputstream to Read the record from - - - offset from the start of this DBCellRecord to the start of the first cell in - the next DBCell block. - - - return the cell offset in the array - - @param index of the cell offset to retrieve - @return celloffset from the celloffset array - - - @returns the size of the Group of DBCellRecords needed to encode - the specified number of blocks and rows - - - Gets offset from the start of this DBCellRecord to the start of the first cell in - the next DBCell block. - - @return rowoffset to the start of the first cell in the next DBCell block - - - Get the number of cell offsets in the celloffset array - - @return number of cell offsets - - - Title: Default Column Width Record - Description: Specifies the default width for columns that have no specific - width Set. - REFERENCE: PG 302 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - The default column width is 8 characters - - - Constructs a DefaultColumnWidth record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get the default column width - @return defaultwidth for columns - - - Title: Default Row Height Record - Description: Row height for rows with Undefined or not explicitly defined - heights. - REFERENCE: PG 301 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - The default row height for empty rows is 255 twips (255 / 20 == 12.75 points) - - - - Constructs a DefaultRowHeight record and Sets its fields appropriately. - - the RecordInputstream to Read the record from - - - - Get the default row height - - - - Title: Delta Record - Description: controls the accuracy of the calculations - REFERENCE: PG 303 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - Constructs a Delta record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get the maximum Change - @return maxChange - maximum rounding error - - - Title: Dimensions Record - Description: provides the minumum and maximum bounds - of a sheet. - REFERENCE: PG 303 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - Constructs a Dimensions record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get the first row number for the sheet - @return row - first row on the sheet - - - Get the last row number for the sheet - @return row - last row on the sheet - - - Get the first column number for the sheet - @return column - first column on the sheet - - - Get the last col number for the sheet - @return column - last column on the sheet - - - Process the bytes into escher records. - (Not done by default in case we break things, - Unless you Set the "poi.deSerialize.escher" - system property) - - - Size of record (including 4 byte headers for all sections) - - - DrawingRecord (0x00EC)

- - - - Cloning of drawing records must be executed through HSSFPatriarch, because all id's must be changed - @return cloned drawing records - - - This Is purely for the biff viewer. During normal operations we don't want - to be seeing this. - - - Title: double Stream Flag Record - Description: tells if this Is a double stream file. (always no for HSSF generated files) - double Stream files contain both BIFF8 and BIFF7 workbooks. - REFERENCE: PG 305 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - Constructs a DBCellRecord and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Title: DATAVALIDATIONS Record - Description: used in data validation ; - This record Is the list header of all data validation records (0x01BE) in the current sheet. - @author Dragos Buleandra (dragos.buleandra@trade2b.ro) - - - Options of the DVAL - - - Horizontal position of the dialog - - - Vertical position of the dialog - - - Object ID of the drop down arrow object for list boxes ; - in our case this will be always FFFF , Until - MSODrawingGroup and MSODrawing records are implemented - - - Number of following DV Records - - - Constructs a DVAL record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - @return the field_1_options - - - @return the Horizontal position of the dialog - - - @return the the Vertical position of the dialog - - - Get Object ID of the drop down arrow object for list boxes - - - Get number of following DV records - - - Title: DATAVALIDATION Record (0x01BE)

- Description: This record stores data validation Settings and a list of cell ranges - which contain these Settings. The data validation Settings of a sheet - are stored in a sequential list of DV records. This list Is followed by - DVAL record(s) - @author Dragos Buleandra (dragos.buleandra@trade2b.ro) - @version 2.0-pre - - - Option flags - - - Title of the prompt box - - - Title of the error box - - - Text of the prompt box - - - Text of the error box - - - Not used - Excel seems to always write 0x3FE0 - - - Formula data for first condition (RPN token array without size field) - - - Not used - Excel seems to always write 0x0000 - - - Formula data for second condition (RPN token array without size field) - - - Cell range address list with all affected ranges - - - Option flags field - @see org.apache.poi.hssf.util.HSSFDataValidation utility class - - - Constructs a DV record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - When entered via the UI, Excel translates empty string into "\0" - While it is possible to encode the title/text as empty string (Excel doesn't exactly crash), - the resulting tool-tip text / message box looks wrong. It is best to do the same as the - Excel UI and encode 'not present' as "\0". - - - Clones the object. Uses serialisation, as the - contents are somewhat complex - - - Get the condition data type - @return the condition data type - @see org.apache.poi.hssf.util.HSSFDataValidation utility class - - - Get the condition error style - @return the condition error style - @see org.apache.poi.hssf.util.HSSFDataValidation utility class - - - return true if in list validations the string list Is explicitly given in the formula, false otherwise - @return true if in list validations the string list Is explicitly given in the formula, false otherwise - @see org.apache.poi.hssf.util.HSSFDataValidation utility class - - - return true if empty values are allowed in cells, false otherwise - @return if empty values are allowed in cells, false otherwise - @see org.apache.poi.hssf.util.HSSFDataValidation utility class - - - @return true if drop down arrow should be suppressed when list validation is - used, false otherwise - - - return true if a prompt window should appear when cell Is selected, false otherwise - @return if a prompt window should appear when cell Is selected, false otherwise - @see org.apache.poi.hssf.util.HSSFDataValidation utility class - - - return true if an error window should appear when an invalid value Is entered in the cell, false otherwise - @return if an error window should appear when an invalid value Is entered in the cell, false otherwise - @see org.apache.poi.hssf.util.HSSFDataValidation utility class - - - Get the condition operator - @return the condition operator - @see org.apache.poi.hssf.util.HSSFDataValidation utility class - - - Gets the option flags field. - @return options - the option flags field - - - End Of File record. - - Description: Marks the end of records belonging to a particular object in the - HSSF File - REFERENCE: PG 307 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - Constructs a EOFRecord record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - This class Is used to aggregate the MSODRAWING and OBJ record - combinations. This Is necessary due to the bizare way in which - these records are Serialized. What happens Is that you Get a - combination of MSODRAWING -> OBJ -> MSODRAWING -> OBJ records - but the escher records are Serialized _across_ the MSODRAWING - records. - - It Gets even worse when you start looking at TXO records. - - So what we do with this class Is aggregate lazily. That Is - we don't aggregate the MSODRAWING -> OBJ records Unless we - need to modify them. - - At first document contains 4 types of records which belong to drawing layer. - There are can be such sequence of record: -

- DrawingRecord - ContinueRecord - ... - ContinueRecord - ObjRecord | TextObjectRecord - ..... - ContinueRecord - ... - ContinueRecord - ObjRecord | TextObjectRecord - NoteRecord - ... - NoteRecord -

- To work with shapes we have to read data from Drawing and Continue records into single array of bytes and - build escher(office art) records tree from this array. - Each shape in drawing layer matches corresponding ObjRecord - Each textbox matches corresponding TextObjectRecord -

- ObjRecord contains information about shape. Thus each ObjRecord corresponds EscherContainerRecord(SPGR) -

- EscherAggrefate contains also NoteRecords - NoteRecords must be serial - - @author Glen Stampoultzis (glens at apache.org) - - - Maps shape container objects to their OBJ records - - - list of "tail" records that need to be Serialized after all drawing Group records - - - Calculates the string representation of this record. This Is - simply a dump of all the records. - - - Calculates the xml representation of this record. This is - simply a dump of all the records. - @param tab - string which must be added before each line (used by default '\t') - @return xml representation of the all aggregated records - - - @param sid - record sid we want to check if it belongs to drawing layer - @return true if record is instance of DrawingRecord or ContinueRecord or ObjRecord or TextObjRecord - - - Collapses the drawing records into an aggregate. - read Drawing, Obj, TxtObj, Note and Continue records into single byte array, - create Escher tree from byte array, create map <EscherRecord, Record> - - @param records - list of all records inside sheet - @param locFirstDrawingRecord - location of the first DrawingRecord inside sheet - @return new EscherAggregate create from all aggregated records which belong to drawing layer - - - Serializes this aggregate to a byte array. Since this Is an aggregate - record it will effectively Serialize the aggregated records. - - @param offset The offset into the start of the array. - @param data The byte array to Serialize to. - @return The number of bytes Serialized. - - - @param drawingData - escher records saved into single byte array - @param writtenEscherBytes - count of bytes already saved into drawing records (we should know it to decide create - drawing or continue record) - @param pos current position of data array - @param data - array of bytes where drawing records must be serialized - @param i - number of shape, saved into data array - @return offset of data array after serialization - - - How many bytes do the raw escher records contain. - - @param records List of escher records - @return the number of bytes - - - @param records list of records to look into - @param loc - location of the record which sid must be returned - @return sid of the record with selected location - - - create base tree with such structure: - EscherDgContainer - -EscherSpgrContainer - --EscherSpContainer - ---EscherSpRecord - ---EscherSpgrRecord - ---EscherSpRecord - -EscherDgRecord - - id of DgRecord and SpRecord are empty and must be set later by HSSFPatriarch - - - Unused since this Is an aggregate record. Use CreateAggregate(). - - @see #CreateAggregate - - - Converts the Records into UserModel - objects on the bound HSSFPatriarch - - -

- Associates an escher record to an OBJ record or a TXO record. - - ClientData or Textbox record - Obj or TextObj record -
- - - Remove echerRecord and associated to it Obj or TextObj record - - clientData or textbox record to be removed - - - @param obj - ObjRecord with id == NoteRecord.id - @return null if note record is not found else returns note record with id == obj.id - - - @return Returns the current sid. - - - @return record size, including header size of obj, text, note, drawing, continue records - - - @return unmodifiable copy of tail records. We need to access them when building shapes. - Every HSSFComment shape has a link to a NoteRecord from the tailRec collection. - - - Title: Extended Format Record - Description: Probably one of the more complex records. There are two breeds: - Style and Cell. - - It should be noted that fields in the extended format record are - somewhat arbitrary. Almost all of the fields are bit-level, but - we name them as best as possible by functional Group. In some - places this Is better than others. - - - REFERENCE: PG 426 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - Constructor ExtendedFormatRecord - - - - - Constructs an ExtendedFormat record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Clones all the style information from another - ExtendedFormatRecord, onto this one. This - will then hold all the same style options. - - If The source ExtendedFormatRecord comes from - a different Workbook, you will need to sort - out the font and format indicies yourself! - - - Will consider two different records with the same - contents as Equals, as the various indexes - that matter are embedded in the records - - - - Get the index to the FONT record (which font to use 0 based) - - - - - Get the index to the Format record (which FORMAT to use 0-based) - - - - - Gets the options bitmask - you can also use corresponding option bit Getters - (see other methods that reference this one) - - - - - Get whether the cell Is locked or not - - - - - Get whether the cell Is hidden or not - - - - - Get whether the cell Is a cell or style XFRecord - - - - - Get some old holdover from lotus 123. Who cares, its all over for Lotus. - RIP Lotus. - - - - - for cell XF types this Is the parent style (usually 0/normal). For - style this should be NULL. - - - - - Get the alignment options bitmask. See corresponding bitGetter methods - that reference this one. - - - - - Get the horizontal alignment of the cell. - - - - - Get whether to wrap the text in the cell - - - - - Get the vertical alignment of text in the cell - - - - - Docs just say this Is for far east versions.. (I'm guessing it - justifies for right-to-left Read languages) - - - - - Get the degree of rotation. (I've not actually seen this used anywhere) - - - - - Get the indent options bitmask (see corresponding bit Getters that reference - this field) - - - - - Get indention (not sure of the Units, think its spaces) - - - - - Get whether to shrink the text to fit - - - - - Get whether to merge cells - - - - - Get the Reading order for far east versions (0 - Context, 1 - Left to right, - 2 - right to left) - We could use some help with support for the far east. - - - - - Get whether or not to use the format in this XF instead of the parent XF. - - - - - Get whether or not to use the font in this XF instead of the parent XF. - - - - - Get whether or not to use the alignment in this XF instead of the parent XF. - - - - - Get whether or not to use the border in this XF instead of the parent XF. - - - - - Get whether or not to use the pattern in this XF instead of the parent XF. - (foregrount/background) - - - - - Get whether or not to use the locking/hidden in this XF instead of the parent XF. - - - - - Get the border options bitmask (see the corresponding bit Getter methods - that reference back to this one) - - - - - Get the borderline style for the left border - - - - - Get the borderline style for the right border - - - - - Get the borderline style for the top border - - - - - Get the borderline style for the bottom border - - - - - Get the palette options bitmask (see the individual bit Getter methods that - reference this one) - - - - - Get the palette index for the left border color - - - - - Get the palette index for the right border color - - - - - Get the Additional palette options bitmask (see individual bit Getter methods - that reference this method) - - - - - Get the palette index for the top border - - - - - Get the palette index for the bottom border - - - - - Get for diagonal borders - - - - - Get the diagonal border line style - - - - - Not sure what this Is for (maybe Fill lines?) 1 = down, 2 = up, 3 = both, 0 for none.. - - - - - Get the Additional Fill pattern - - - - - Get the Fill palette options bitmask (see indivdual bit Getters that - reference this method) - - - - - Get the foreground palette color index - - - - - Get the background palette color index - - - - EXTERNALNAME

- - @author Josh Micich - - - 'rgoper' / 'Last received results of the DDE link' - (seems to be only applicable to DDE links)
- Logically this is a 2-D array, which has been flattened into 1-D array here. -
- - (logical) number of columns in the {@link #_ddeValues} array - - - (logical) number of rows in the {@link #_ddeValues} array - - - Convenience Function to determine if the name Is a built-in name - - - For OLE and DDE, links can be either 'automatic' or 'manual' - - - only for OLE and DDE - - - DDE links only. If true, this denotes the 'StdDocumentName' - - - @return the standard String representation of this name - - - index to External Book Block (which starts with a EXTERNALBOOK record) - - - a Constructor for making new sub record - - - @param in the RecordInputstream to Read the record from - - - called by the class that is responsible for writing this sucker. - Subclasses should implement this so that their data is passed back in a - byte array. - - @param offset to begin writing at - @param data byte array containing instance data - @return number of bytes written - - - Title: Extern Sheet - Description: A List of Inndexes to SupBook - REFERENCE: - @author Libin Roman (Vista Portal LDT. Developer) - @version 1.0-pre - - - Constructs a Extern Sheet record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Add a zero-based reference to a {@link org.apache.poi.hssf.record.SupBookRecord}. -

- If the type of the SupBook record is same-sheet referencing, Add-In referencing, - DDE data source referencing, or OLE data source referencing, - then no scope is specified and this value MUST be -2. Otherwise, - the scope must be set as follows: -

    -
  1. -2 Workbook-level reference that applies to the entire workbook.
  2. -
  3. -1 Sheet-level reference.
  4. -
  5. >=0 Sheet-level reference. This specifies the first sheet in the reference. -

    - If the SupBook type is unused or external workbook referencing, - then this value specifies the zero-based index of an external sheet name, - see {@link org.apache.poi.hssf.record.SupBookRecord#getSheetNames()}. - This referenced string specifies the name of the first sheet within the external workbook that is in scope. - This sheet MUST be a worksheet or macro sheet. -

    -

    - If the supporting link type is self-referencing, then this value specifies the zero-based index of a - {@link org.apache.poi.hssf.record.BoundSheetRecord} record in the workbook stream that specifies - the first sheet within the scope of this reference. This sheet MUST be a worksheet or a macro sheet. -

    -
  6. -

- - @param firstSheetIndex the scope, must be -2 for add-in references - @param lastSheetIndex the scope, must be -2 for add-in references - @return index of newly added ref -
- - Adds REF struct (ExternSheetSubRecord) - @param rec REF struct - - - Returns the index of the SupBookRecord for this index - - - @return -1 if not found - - - Returns the first sheet that the reference applies to, or - -1 if the referenced sheet can't be found, or -2 if the - reference is workbook scoped. - - - Returns the last sheet that the reference applies to, or - -1 if the referenced sheet can't be found, or -2 if the - reference is workbook scoped. - For a single sheet reference, the first and last should be - the same. - - - called by the class that Is responsible for writing this sucker. - Subclasses should implement this so that their data Is passed back in a - byte array. - - @param offset to begin writing at - @param data byte array containing instance data - @return number of bytes written - - - returns the number of REF Records, which is in model - @return number of REF records - - - @return number of REF structures - - - return the non static version of the id for this record. - - - Title: A sub Record for Extern Sheet - Description: Defines a named range within a workbook. - REFERENCE: - @author Libin Roman (Vista Portal LDT. Developer) - @version 1.0-pre - - - a Constractor for making new sub record - - - Constructs a Extern Sheet Sub Record record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Sets the Index to the sup book - @param index sup book index - - - Gets the index to sup book - @return sup book index - - - Sets the index to first sheet in supbook - @param index index to first sheet - - - Gets the index to first sheet from supbook - @return index to first supbook - - - Sets the index to last sheet in supbook - @param index index to last sheet - - - Gets the index to last sheet in supbook - @return index to last supbook - - - called by the class that Is responsible for writing this sucker. - Subclasses should implement this so that their data Is passed back in a - byte array. - - @param offset to begin writing at - @param data byte array containing instance data - @return number of bytes written - - - returns the record size - - - return the non static version of the id for this record. - - - Extended SST table info subrecord - Contains the elements of "info" in the SST's array field - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - @see org.apache.poi.hssf.record.ExtSSTRecord - - - Creates new ExtSSTInfoSubRecord - - - Title: Extended Static String Table - Description: This record Is used for a quick Lookup into the SST record. This - record breaks the SST table into a Set of buckets. The offsets - to these buckets within the SST record are kept as well as the - position relative to the start of the SST record. - REFERENCE: PG 313 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at apache dot org) - @version 2.0-pre - @see org.apache.poi.hssf.record.ExtSSTInfoSubRecord - - - Constructs a EOFRecord record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Given a number of strings (in the sst), returns the size of the extsst record - - - Returns the size of this record - - - Title: File Pass Record - Description: Indicates that the record after this record are encrypted. HSSF does not support encrypted excel workbooks - and the presence of this record will cause Processing to be aborted. - REFERENCE: PG 420 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Jason Height (jheight at chariot dot net dot au) - @version 3.0-pre - - - Title: FILESHARING - Description: stores the encrypted Readonly for a workbook (Write protect) - This functionality Is accessed from the options dialog box available when performing 'Save As'.

- REFERENCE: PG 314 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)

- @author Andrew C. Oliver (acoliver at apache dot org) - - - Constructs a FileSharing record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Clone this record. - - - Get the Readonly - - @return short representing if this Is Read only (1 = true) - - - @returns password hashed with hashPassword() (very lame) - - - @returns username of the user that Created the file - - - Title: Function Group Count Record - Description: Number of built in function Groups in the current version of the - SpReadsheet (probably only used on Windoze) - REFERENCE: PG 315 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - suggested default (14 dec) - - - Constructs a FnGroupCount record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get the number of built-in functions - - @return number of built-in functions - - - Title: Font Record - descrbes a font in the workbook (index = 0-3,5-infinity - skip 4) - Description: An element in the Font Table - REFERENCE: PG 315 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - Constructs a Font record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Clones all the font style information from another - FontRecord, onto this one. This - will then hold all the same font style options. - - - Does this FontRecord have all the same font - properties as the supplied FontRecord? - Note that {@link #equals(Object)} will check - for exact objects, while this will check - for exact contents, because normally the - font record's position makes a big - difference too. - - - Only returns two for the same exact object - - creating a second FontRecord with the same - properties won't be considered equal, as - the record's position in the record stream - matters. - - - Set the font to be italics or not - - @param italics - whether the font Is italics or not - @see #SetAttributes(short) - - - Set the font to be stricken out or not - - @param strike - whether the font Is stricken out or not - @see #SetAttributes(short) - - - whether to use the mac outline font style thing (mac only) - Some mac person - should comment this instead of me doing it (since I have no idea) - - @param mac - whether to do that mac font outline thing or not - @see #SetAttributes(short) - - - whether to use the mac shado font style thing (mac only) - Some mac person - should comment this instead of me doing it (since I have no idea) - - @param mac - whether to do that mac font shadow thing or not - @see #SetAttributes(short) - - - Set the type of Underlining for the font - - - Set the font family (TODO) - - @param f family - - - Set the Char Set - - @param charSet - CharSet - - - Set the name of the font - - @param fn - name of the font (i.e. "Arial") - - - Gets the height of the font in 1/20th point Units - - @return fontheight (in points/20) - - - Get the font attributes (see individual bit Getters that reference this method) - - @return attribute - the bitmask - - - Get the font's color palette index - - @return cpi - font color index - - - Get the bold weight for this font (100-1000dec or 0x64-0x3e8). Default Is - 0x190 for normal and 0x2bc for bold - - @return bw - a number between 100-1000 for the fonts "boldness" - - - Get the type of base or subscript for the font - - @return base or subscript option - - - Title: Footer Record - Description: Specifies the footer for a sheet - REFERENCE: PG 317 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Shawn Laubach (slaubach at apache dot org) Modified 3/14/02 - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - Common header/footer base class - - @author Josh Micich - - - get the length of the footer string - - @return length of the footer string - - -

- Initializes a new instance of the class. - - the RecordInputstream to Read the record from -
- - - Returns a that represents the current . - - - A that represents the current . - - - - - - - return the non static version of the id for this record. - - - Title: Format Record - Description: describes a number format -- those goofy strings like $(#,###) - - REFERENCE: PG 317 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Shawn M. Laubach (slaubach at apache dot org) - @version 2.0-pre - - - Constructs a Format record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get the format index code (for built in formats) - - @return the format index code - @see org.apache.poi.hssf.model.Workbook - - - Get the format string - - @return the format string - - - Manages the cached formula result values of other types besides numeric. - Excel encodes the same 8 bytes that would be field_4_value with various NaN - values that are decoded/encoded by this class. - - - deliberately chosen by Excel in order to encode other values within Double NaNs - - - @return null if the double value encoded by valueLongBits - is a normal (non NaN) double value. - - - Formula Record. - REFERENCE: PG 317/444 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - Since the NaN support seems sketchy (different constants) we'll store and spit it out directly - - - Creates new FormulaRecord - - - Constructs a Formula record and Sets its fields appropriately. - Note - id must be 0x06 (NOT 0x406 see MSKB #Q184647 for an - "explanation of this bug in the documentation) or an exception - will be throw upon validation - - @param in the RecordInputstream to Read the record from - - - @return true if this {@link FormulaRecord} is followed by a - {@link StringRecord} representing the cached text result of the formula - evaluation. - - - Get the calculated value of the formula - - @return calculated value - - - Get the option flags - - @return bitmask - - - Get the stack as a list - - @return list of tokens (casts stack to a list and returns it!) - this method can return null Is we are Unable to Create Ptgs from - existing excel file - callers should Check for null! - - - Title: GridSet Record. - Description: flag denoting whether the user specified that gridlines are used when - printing. - REFERENCE: PG 320 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - - @author Andrew C. Oliver (acoliver at apache dot org) - @author Glen Stampoultzis (glens at apache.org) - @author Jason Height (jheight at chariot dot net dot au) - - @version 2.0-pre - - - Constructs a GridSet record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get whether the gridlines are shown during printing. - - @return gridSet - true if gridlines are NOT printed, false if they are. - - - Title: Guts Record - Description: Row/column gutter sizes - REFERENCE: PG 320 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - Constructs a Guts record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get the size of the gutter that appears at the left of the rows - - @return gutter size in screen Units - - - Get the size of the gutter that appears at the above the columns - - @return gutter size in screen Units - - - Get the maximum outline level for the row gutter. - - @return maximum outline level - - - Get the maximum outline level for the col gutter. - - @return maximum outline level - - - Title: HCenter record - Description: whether to center between horizontal margins - REFERENCE: PG 320 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - Constructs an HCenter record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get whether or not to horizonatally center this sheet. - @return center - t/f - - - The HEADERFOOTER record stores information Added in Office Excel 2007 for headers/footers. - - @author Yegor Kozlov - - - construct a HeaderFooterRecord record. No fields are interpreted and the record will - be Serialized in its original form more or less - @param in the RecordInputstream to read the record from - - - spit the record out AS IS. no interpretation or identification - - - If this header belongs to a specific sheet view , the sheet view?s GUID will be saved here. - - If it is zero, it means the current sheet. Otherwise, this field MUST match the guid field - of the preceding {@link UserSViewBegin} record. - - @return the sheet view's GUID - - - @return whether this record belongs to the current sheet - - - Title: Header Record - Description: Specifies a header for a sheet - REFERENCE: PG 321 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Shawn Laubach (slaubach at apache dot org) Modified 3/14/02 - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - Constructs an Header record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Title: Hide Object Record - Description: flag defines whether to hide placeholders and object - REFERENCE: PG 321 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - Constructs an HideObj record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Set hide object options - - @param hide options - @see #HIDE_ALL - @see #SHOW_PLACEHOLDERS - @see #SHOW_ALL - - - Get hide object options - - @return hide options - @see #HIDE_ALL - @see #SHOW_PLACEHOLDERS - @see #SHOW_ALL - - - HorizontalPageBreak record that stores page breaks at rows - - This class Is just used so that SID Compares work properly in the RecordFactory - @see PageBreakRecord - @author Danny Mui (dmui at apache dot org) - - - Record that Contains the functionality page _breaks (horizontal and vertical) - - The other two classes just specifically Set the SIDS for record creation. - - REFERENCE: Microsoft Excel SDK page 322 and 420 - - @see HorizontalPageBreakRecord - @see VerticalPageBreakRecord - @author Danny Mui (dmui at apache dot org) - - - Adds the page break at the specified parameters - @param main Depending on sid, will determine row or column to put page break (zero-based) - @param subFrom No user-interface to Set (defaults to minumum, 0) - @param subTo No user-interface to Set - - - Removes the break indicated by the parameter - @param main (zero-based) - - - Retrieves the region at the row/column indicated - @param main FIXME: Document this! - @return The Break or null if no break exists at the row/col specified. - - - Since both records store 2byte integers (short), no point in - differentiating it in the records. - - The subs (rows or columns, don't seem to be able to Set but excel Sets - them automatically) - - - - - - @param in the RecordInputstream to Read the record from - - - The HyperlinkRecord wraps an HLINK-record - from the Excel-97 format. - Supports only external links for now (eg http://) - - @author Mark Hissink Muller mark@hissinkmuller.nl - @author Yegor Kozlov (yegor at apache dot org) - - - Link flags - - - Tail of a URL link - - - Tail of a file link - - - cell range of this hyperlink - - - 16-byte GUID - - - Some sort of options for file links. - - - Link options. Can include any of HLINK_* flags. - - - Test label - - - Moniker. Makes sense only for URL and file links - - - in 8:3 DOS format No Unicode string header, - always 8-bit characters, zero-terminated - - - Link - - - Text describing a place in document. In Excel UI, this is appended to the - address, (after a '#' delimiter).
- This field is optional. If present, the {@link #HLINK_PLACE} must be set. -
- - Remaining bytes - - - Create a new hyperlink - - - Read hyperlink from input stream - - @param in the stream to Read from - - - - Initialize a new url link - - - - - Initialize a new file link - - - - - Initialize a new document link - - - - Return the column of the first cell that Contains the hyperlink - - @return the 0-based column of the first cell that Contains the hyperlink - - - Set the column of the last cell that Contains the hyperlink - - @return the 0-based column of the last cell that Contains the hyperlink - - - Return the row of the first cell that Contains the hyperlink - - @return the 0-based row of the first cell that Contains the hyperlink - - - Return the row of the last cell that Contains the hyperlink - - @return the 0-based row of the last cell that Contains the hyperlink - - - Returns a 16-byte guid identifier. Seems to always equal {@link STD_MONIKER} - - @return 16-byte guid identifier - - - Returns a 16-byte moniker. - - @return 16-byte moniker - - - Return text label for this hyperlink - - @return text to Display - - - Hypelink Address. Depending on the hyperlink type it can be URL, e-mail, patrh to a file, etc. - - @return the Address of this hyperlink - - - Link options. Must be a combination of HLINK_* constants. - - - Label options - - - Options for a file link - - - Title: Index Record - Description: Occurs right after BOF, tells you where the DBCELL records are for a sheet - Important for locating cells - NOT USED IN THIS RELEASE - REFERENCE: PG 323 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - Constructs an Index record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Returns the size of an INdexRecord when it needs to index the specified number of blocks - - - - Title: Interface End Record - Description: Shows where the Interface Records end (MMS) - (has no fields) - REFERENCE: PG 324 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - Constructs an InterfaceEnd record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - - for test TestInterfaceEndRecord.TestCreate() - - - - - Title: Interface Header Record - Description: Defines the beginning of Interface records (MMS) - REFERENCE: PG 324 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - suggested (and probably correct) default - - - Constructs an Codepage record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Title: Iteration Record - Description: Tells whether to iterate over forumla calculations or not - (if a formula Is dependant upon another formula's result) - (odd feature for something that can only have 32 elements in - a formula!) - REFERENCE: PG 325 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - Constructs an Iteration record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get whether or not to iterate for calculations - - @return whether iterative calculations are turned off or on - - - Label Record - Read only support for strings stored directly in the cell.. Don't - use this (except to Read), use LabelSST instead - REFERENCE: PG 325 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - - @see org.apache.poi.hssf.record.LabelSSTRecord - - - Creates new LabelRecord - - - Constructs an Label record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - THROWS A RUNTIME EXCEPTION.. USE LABELSSTRecords. YOU HAVE NO REASON to use LABELRecord!! - - - Get the number of Chars this string Contains - @return number of Chars - - - Is this Uncompressed Unicode (16bit)? Or just 8-bit compressed? - @return IsUnicode - True for 16bit- false for 8bit - - - Get the value - - @return the text string - @see #GetStringLength - - - Title: Label SST Record - Description: Refers to a string in the shared string table and Is a column - value. - REFERENCE: PG 325 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - Constructs an LabelSST record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get the index to the string in the SSTRecord - - @return index of string in the SST Table - @see org.apache.poi.hssf.record.SSTRecord - - - Record for the left margin. - NOTE: This source was automatically generated. - @author Shawn Laubach (slaubach at apache dot org) - - - Constructs a LeftMargin record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Get the margin field for the LeftMargin record. - - - Not implemented yet. May commit it anyway just so people can see - where I'm heading. - - @author Glen Stampoultzis (glens at apache.org) - - - Title: Merged Cells Record - - Description: Optional record defining a square area of cells to "merged" into - one cell. - REFERENCE: NONE (UNDOCUMENTED PRESENTLY) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - sometimes the regions array is shared with other MergedCellsRecords - - - Constructs a MergedCellsRecord and Sets its fields appropriately - @param in the RecordInputstream to Read the record from - - - @return MergedRegion at the given index representing the area that is Merged (r1,c1 - r2,c2) - - - Get the number of merged areas. If this drops down to 0 you should just go - ahead and delete the record. - @return number of areas - - - Title: MMS Record - Description: defines how many Add menu and del menu options are stored - in the file. Should always be Set to 0 for HSSF workbooks - REFERENCE: PG 328 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - Constructs a MMS record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Set number of Add menu options (Set to 0) - @param am number of Add menu options - - - Set number of del menu options (Set to 0) - @param dm number of del menu options - - - Title: Mulitple Blank cell record - Description: Represents a Set of columns in a row with no value but with styling. - In this release we have Read-only support for this record type. - The RecordFactory Converts this to a Set of BlankRecord objects. - REFERENCE: PG 329 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Glen Stampoultzis (glens at apache.org) - @version 2.0-pre - @see org.apache.poi.hssf.record.BlankRecord - - - Creates new MulBlankRecord - - - Constructs a MulBlank record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - returns the xf index for column (coffset = column - field_2_first_col) - @param coffset the column (coffset = column - field_2_first_col) - @return the XF index for the column - - - Get the row number of the cells this represents - - @return row number - - - starting column (first cell this holds in the row) - @return first column number - - - ending column (last cell this holds in the row) - @return first column number - - - Get the number of columns this Contains (last-first +1) - @return number of columns (last - first +1) - - - Used to store multiple RK numbers on a row. 1 MulRk = Multiple Cell values. - HSSF just Converts this into multiple NUMBER records. Read-ONLY SUPPORT! - REFERENCE: PG 330 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - Creates new MulRKRecord - - - Constructs a MulRK record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - returns the xf index for column (coffset = column - field_2_first_col) - @return the XF index for the column - - - returns the rk number for column (coffset = column - field_2_first_col) - @return the value (decoded into a double) - - - starting column (first cell this holds in the row) - @return first column number - - - ending column (last cell this holds in the row) - @return first column number - - - Get the number of columns this Contains (last-first +1) - @return number of columns (last - first +1) - - - Title: NAMECMT Record (0x0894) - Description: Defines a comment associated with a specified name. - REFERENCE: - - @author Andrew Shirley (aks at corefiling.co.uk) - - - @param ris the RecordInputstream to read the record from - - - return the non static version of the id for this record. - - - @return the name of the NameRecord to which this comment applies. - - - @return the text of the comment. - - - Title: Name Record (aka Named Range) - Description: Defines a named range within a workbook. - REFERENCE: - @author Libin Roman (Vista Portal LDT. Developer) - @author Sergei Kozello (sergeikozello at mail.ru) - @author Glen Stampoultzis (glens at apache.org) - @version 1.0-pre - - - - - Included for completeness sake, not implemented - - - Included for completeness sake, not implemented - - - Included for completeness sake, not implemented - - - Included for completeness sake, not implemented - - - Included for completeness sake, not implemented - - - Included for completeness sake, not implemented - - - Included for completeness sake, not implemented - - - Included for completeness sake, not implemented - - - Included for completeness sake, not implemented - - - Included for completeness sake, not implemented - - - One-based extern index of sheet (resolved via LinkTable). Zero if this is a global name - - - the one based sheet number. - - - Creates new NameRecord - - - Constructs a Name record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Constructor to Create a built-in named region - @param builtin Built-in byte representation for the name record, use the public constants - @param index - - - Indicates that the defined name refers to a user-defined function. - This attribute is used when there is an add-in or other code project associated with the file. - - @param function true indicates the name refers to a function. - - - called by the class that Is responsible for writing this sucker. - Subclasses should implement this so that their data Is passed back in a - @param offset to begin writing at - @param data byte array containing instance data - @return number of bytes written - - - @see Object#ToString() - - - Creates a human Readable name for built in types - @return Unknown if the built-in name cannot be translated - - - @return function Group - @see FnGroupCountRecord - - - Gets the option flag - @return option flag - - - returns the keyboard shortcut - @return keyboard shortcut - - - ** - - - @return true if name has a formula (named range or defined value) - - - @return true if name Is hidden - - - @return true if name Is a function - - - @return true if name Is a command - - - @return true if function macro or command macro - - - @return true if array formula or user defined - - - Convenience Function to determine if the name Is a built-in name - - - Gets the name - @return name - - - Gets the Built In Name - @return the built in Name - - - Gets the definition, reference (Formula) - @return definition -- can be null if we cant Parse ptgs - - - Get the custom menu text - @return custom menu text - - - Gets the description text - @return description text - - - Get the help topic text - @return gelp topic text - - - Gets the status bar text - @return status bar text - - - For named ranges, and built-in names - @return the 1-based sheet number. - - - Gets the extern sheet number - @return extern sheet index - - - return the non static version of the id for this record. - - - NOTE: Comment Associated with a Cell (1Ch) - - @author Yegor Kozlov - - - Flag indicating that the comment Is hidden (default) - - - Flag indicating that the comment Is visible - - - Saves padding byte value to reduce delta during round-trip serialization.
- - The documentation is not clear about how padding should work. In any case - Excel(2007) does something different. -
- - Construct a new NoteRecord and - Fill its data with the default values - - - Constructs a NoteRecord and Fills its fields - from the supplied RecordInputStream. - - @param in the stream to Read from - - - Serialize the record data into the supplied array of bytes - - @param offset offset in the data - @param data the data to Serialize into - - @return size of the record - - - Convert this record to string. - Used by BiffViewer and other utulities. - - - @return id of this record. - - - Size of record - - - Return the row that Contains the comment - - @return the row that Contains the comment - - - Return the column that Contains the comment - - @return the column that Contains the comment - - - Options flags. - - @return the options flag - @see #NOTE_VISIBLE - @see #NOTE_HIDDEN - - - Object id for OBJ record that Contains the comment - - - Name of the original comment author - - @return the name of the original author of the comment - - - For unit testing only! - - - Contains a numeric cell value. - REFERENCE: PG 334 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - Creates new NumberRecord - - - Constructs a Number record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Get the value for the cell - - @return double representing the value - - - Title: Object Protect Record - Description: Protect embedded object with the lamest "security" ever invented. - This record tells "I want to protect my objects" with lame security. It - appears in conjunction with the PASSWORD and PROTECT records as well as its - scenario protect cousin. - REFERENCE: PG 368 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - - - Constructs a Protect record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get whether the sheet Is protected or not - @return whether to protect the sheet or not - - - The obj record is used to hold various graphic objects and controls. - - @author Glen Stampoultzis (glens at apache.org) - - - used when POI has no idea what is going on - - - Excel seems to tolerate padding to quad or double byte length - - - Constructs a OBJ record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Some XLS files have ObjRecords with nearly 8Kb of excessive padding. These were probably - written by a version of POI (around 3.1) which incorrectly interpreted the second short of - the ftLbs subrecord (0x1FEE) as a length, and read that many bytes as padding (other bugs - helped allow this to occur). - - Excel reads files with this excessive padding OK, truncating the over-sized ObjRecord back - to the its proper size. POI does the same. - - - Size of record (excluding 4 byte header) - - - PaletteRecord - Supports custom palettes. - @author Andrew C. Oliver (acoliver at apache dot org) - @author Brian Sanders (bsanders at risklabs dot com) - custom palette editing - @version 2.0-pre - - - The standard size of an XLS palette - - - The byte index of the first color - - - Constructs a PaletteRecord record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - - Dangerous! Only call this if you intend to replace the colors! - - - - Returns the color value at a given index - - @return the RGB triplet for the color, or null if the specified index - does not exist - - - Sets the color value at a given index - - If the given index Is greater than the current last color index, - then black Is Inserted at every index required to make the palette continuous. - - @param byteIndex the index to Set; if this index Is less than 0x8 or greater than - 0x40, then no modification Is made - - - Creates the default palette as PaletteRecord binary data - - @see org.apache.poi.hssf.model.Workbook#createPalette - - - PColor - element in the list of colors - consider it a "struct" - - - * Describes the frozen and Unfozen panes. - * NOTE: This source Is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a Pane record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Get the x field for the Pane record. - - - Get the y field for the Pane record. - - - Get the top row field for the Pane record. - - - Get the left column field for the Pane record. - - - Get the active pane field for the Pane record. - - @return One of - ACTIVE_PANE_LOWER_RIGHT - ACTIVE_PANE_UPPER_RIGHT - ACTIVE_PANE_LOWER_LEFT - ACTIVE_PANE_UPPER_LEFT - - - Title: Password Record - Description: stores the encrypted password for a sheet or workbook (HSSF doesn't support encryption) - REFERENCE: PG 371 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - Constructs a Password record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Clone this record. - - - Get the password - - @return short representing the password - - - Title: Protection Revision 4 password Record - Description: Stores the (2 byte??!!) encrypted password for a shared - workbook - REFERENCE: PG 374 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - Constructs a PasswordRev4 (PROT4REVPASS) record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - set the password - - @param pw representing the password - - - SXDI - Data Item (0x00C5)
- - @author Patrick Cheng -
- - SXVDEX - Extended PivotTable View Fields (0x0100)
- - @author Patrick Cheng -
- - the value of the cchSubName field when the subName is not present - - - SXPI - Page Item (0x00B6)
- - @author Patrick Cheng -
- - Index to the View Item SXVI(0x00B2) record - - - Index to the {@link ViewFieldsRecord} SXVD(0x00B1) record - - - Object ID for the drop-down arrow - - - SXIDSTM - Stream ID (0x00D5)
- - @author Patrick Cheng -
- - SXVIEW - View Definition (0x00B0)
- - @author Patrick Cheng -
- - SXVD - View Fields (0x00B1)
- - @author Patrick Cheng -
- - the value of the cchName field when the name is not present - - - 5 shorts - - - values for the {@link ViewFieldsRecord#sxaxis} field - - - SXVS - View Source (0x00E3)
- - @author Patrick Cheng -
- - Title: Precision Record - Description: defines whether to store with full precision or what's Displayed by the gui - (meaning have really screwed up and skewed figures or only think you do!) - REFERENCE: PG 372 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - Constructs a Precision record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get whether to use full precision or just skew all you figures all to hell. - - @return fullprecision - or not - - - Title: Print Gridlines Record - Description: whether to print the gridlines when you enjoy you spReadsheet on paper. - REFERENCE: PG 373 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - Constructs a PrintGridlines record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get whether or not to print the gridlines (and make your spReadsheet ugly) - - @return make spReadsheet ugly - Y/N - - - Title: Print Headers Record - Description: Whether or not to print the row/column headers when you - enjoy your spReadsheet in the physical form. - REFERENCE: PG 373 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - Constructs a PrintHeaders record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - - Get whether to print the headers - y/n - - true if [print headers]; otherwise, false. - - - Title: Print Setup Record - Description: Stores print Setup options -- bogus for HSSF (and marked as such) - REFERENCE: PG 385 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - Constructs a PrintSetup (SetUP) record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Title: Protection Revision 4 Record - Description: describes whether this is a protected shared/tracked workbook - ( HSSF does not support encryption because we don't feel like going to jail ) - REFERENCE: PG 373 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - Constructs a ProtectionRev4 record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get whether the this is protected shared/tracked workbook or not - @return whether to protect the workbook or not - - - Title: Protect Record - Description: defines whether a sheet or workbook is protected (HSSF DOES NOT SUPPORT ENCRYPTION) - (kindly ask the US government to stop having arcane stupid encryption laws and we'll support it) - (after all terrorists will all use US-legal encrypton right??) - HSSF now supports the simple "protected" sheets (where they are not encrypted and open office et al - ignore the password record entirely). - REFERENCE: PG 373 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - - - Constructs a Protect record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get whether the sheet is protected or not - @return whether to protect the sheet or not - - - Title: Recalc Id Record - Description: This record Contains an ID that marks when a worksheet was last - recalculated. It's an optimization Excel uses to determine if it - needs to recalculate the spReadsheet when it's opened. So far, only - the two values 0xC1 0x01 0x00 0x00 0x80 0x38 0x01 0x00 - (do not recalculate) and 0xC1 0x01 0x00 0x00 0x60 0x69 0x01 - 0x00 have been seen. If the field isNeeded Is - Set to false (default), then this record Is swallowed during the - serialization Process - REFERENCE: http://chicago.sourceforge.net/devel/docs/excel/biff8.html - @author Luc Girardin (luc dot girardin at macrofocus dot com) - @version 2.0-pre - @see org.apache.poi.hssf.model.Workbook - - - An unsigned integer that specifies the recalculation engine identifier - of the recalculation engine that performed the last recalculation. - If the value is less than the recalculation engine identifier associated with the application, - the application will recalculate the results of all formulas on - this workbook immediately after loading the file - - - Constructs a RECALCID record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Title: Record Factory - Description: Takes a stream and outputs an array of Record objects. - - @deprecated use {@link org.apache.poi.hssf.eventmodel.EventRecordFactory} instead - @see org.apache.poi.hssf.eventmodel.EventRecordFactory - @author Andrew C. Oliver (acoliver at apache dot org) - @author Marc Johnson (mjohnson at apache dot org) - @author Glen Stampoultzis (glens at apache.org) - @author Csaba Nagy (ncsaba at yahoo dot com) - - - cache of the recordsToMap(); - - - Debug / diagnosis method
- Gets the POI implementation class for a given sid. Only a subset of the any BIFF - records are actually interpreted by POI. A few others are known but not interpreted - (see {@link UnknownRecord#getBiffName(int)}). - @return the POI implementation class for the specified record sid. - null if the specified record is not interpreted by POI. -
- - Changes the default capacity (10000) to handle larger files - - - Create an array of records from an input stream - - @param in the InputStream from which the records will be - obtained - - @return an array of Records Created from the InputStream - - @exception RecordFormatException on error Processing the - InputStream - - - Converts a {@link MulBlankRecord} into an equivalent array of {@link BlankRecord}s - - - - RK record is a slightly smaller alternative to NumberRecord - POI likes NumberRecord better - - The rk. - - - - - Converts a MulRKRecord into an equivalent array of NumberRecords - - The MRK. - - - - A "create" method is used instead of the usual constructor if the created record might - be of a different class to the declaring class. - - - A stream based way to get at complete records, with - as low a memory footprint as possible. - This handles Reading from a RecordInputStream, turning - the data into full records, processing continue records - etc. - Most users should use {@link HSSFEventFactory} / - {@link HSSFListener} and have new records pushed to - them, but this does allow for a "pull" style of coding. - - - Temporarily stores a group of {@link Record}s, for future return by {@link #nextRecord()}. - This is used at the start of the workbook stream, and also when the most recently read - underlying record is a {@link MulRKRecord} - - - used to help iterating over the unread records - - - The most recent record that we gave to the user - - - The most recent DrawingRecord seen - - - @param shouldIncludeContinueRecords caller can pass false if loose - {@link ContinueRecord}s should be skipped (this is sometimes useful in event based - processing). - - - Returns the next (complete) record from the - stream, or null if there are no more. - - - @return the next {@link Record} from the multiple record group as expanded from - a recently read {@link MulRKRecord}. null if not present. - - - @return the next available record, or null if - this pass didn't return a record that's - suitable for returning (eg was a continue record). - - - Keeps track of the sizes of the Initial records up to and including {@link FilePassRecord} - Needed for protected files because each byte is encrypted with respect to its absolute - position from the start of the stream. - - - @return last record scanned while looking for encryption info. - This will typically be the first or second record Read. Possibly null - if stream was empty - - - false in some test cases - - - Title: Record Input Stream - Description: Wraps a stream and provides helper methods for the construction of records. - - @author Jason Height (jheight @ apache dot org) - - - Maximum size of a single record (minus the 4 byte header) without a continue - - - Header {@link LittleEndianInput} facet of the wrapped {@link InputStream} - - - Data {@link LittleEndianInput} facet of the wrapped {@link InputStream} - - - the record identifier of the BIFF record currently being read - - - This method will Read a byte from the current record - - - - @return the sid of the next record or {@link #INVALID_SID_VALUE} if at end of stream - - - Moves to the next record in the stream. - - Note: The auto continue flag is Reset to true - - - Reads an 8 bit, signed value - - - Reads a 16 bit, signed value - - - Reads an 8 bit, Unsigned value - - - Reads a 16 bit,un- signed value. - @return - - - given a byte array of 16-bit Unicode Chars, compress to 8-bit and - return a string - - { 0x16, 0x00 } -0x16 - - @param Length the Length of the string - @return the Converted string - @exception ArgumentException if len is too large (i.e., - there is not enough data in string to Create a String of that - Length) - - - Returns the remaining bytes for the current record. - - @return The remaining bytes of the current record. - - - Reads all byte data for the current record, including any - that overlaps into any following continue records. - - @deprecated Best to write a input stream that wraps this one where there Is - special sub record that may overlap continue records. - - - @return sid of next record. Can be called after hasNextRecord() - - - The remaining number of bytes in the current record. - - @return The number of bytes remaining in the current record - - - Returns true iif a Continue record is next in the excel stream _currentDataOffset - - @return True when a ContinueRecord is next. - - - Title: RefMode Record - Description: Describes which reference mode to use - REFERENCE: PG 376 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - Constructs a RefMode record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get the reference mode to use (HSSF uses/assumes A1) - @return mode to use - @see #USE_A1_MODE - @see #USE_R1C1_MODE - - - Title: Refresh All Record - Description: Flag whether to refresh all external data when loading a sheet. - (which hssf doesn't support anyhow so who really cares?) - REFERENCE: PG 376 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - Constructs a RefreshAll record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get whether to refresh all external data when loading a sheet - @return refreshall or not - - - Record for the right margin. * NOTE: This source was automatically generated. * @author Shawn Laubach (slaubach at apache dot org) - - - Constructs a RightMargin record and Sets its fields appropriately. * * @param id id must be 0x27 or an exception * will be throw upon validation * @param size size the size of the data area of the record * @param data data of the record (should not contain sid/len) - - - Get the margin field for the RightMargin record. - - - Title: RK Record - Description: An internal 32 bit number with the two most significant bits - storing the type. This is part of a bizarre scheme to save disk - space and memory (gee look at all the other whole records that - are in the file just "cause"..,far better to waste Processor - cycles on this then leave on of those "valuable" records out). - We support this in Read-ONLY mode. HSSF Converts these to NUMBER records - - - - REFERENCE: PG 376 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - @see org.apache.poi.hssf.record.NumberRecord - - - Constructs a RK record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get the type of the number - - @return one of these values: -
    -
  1. RK_IEEE_NUMBER
  2. -
  3. RK_IEEE_NUMBER_TIMES_100
  4. -
  5. RK_INTEGER
  6. -
  7. RK_INTEGER_TIMES_100
  8. -
-
- - Extract the value of the number - - The mechanism for determining the value is dependent on the two - low order bits of the raw number. If bit 1 is Set, the number - is an integer and can be cast directly as a double, otherwise, - it's apparently the exponent and mantissa of a double (and the - remaining low-order bits of the double's mantissa are 0's). - - If bit 0 is Set, the result of the conversion to a double Is - divided by 100; otherwise, the value is left alone. - - [Insert picture of Screwy Squirrel in full Napoleonic regalia] - - @return the value as a proper double (hey, it could - happen) - - - Title: Row Record - Description: stores the row information for the sheet. - REFERENCE: PG 379 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - The maximum row number that excel can handle (zero based) ie 65536 rows Is - max number of rows. - - - 16 bit options flags - - - Constructs a Row record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get the logical row number for this row (0 based index) - @return row - the row number - - - Get the logical col number for the first cell this row (0 based index) - @return col - the col number - - - Get the logical col number for the last cell this row plus one (0 based index) - @return col - the last col number + 1 - - - Get the height of the row - @return height of the row - - - Get whether to optimize or not (Set to 0) - @return optimize (Set to 0) - - - Gets the option bitmask. (use the individual bit Setters that refer to this - method) - @return options - the bitmask - - - Get the outline level of this row - @return ol - the outline level - @see #GetOptionFlags() - - - Get whether or not to colapse this row - @return c - colapse or not - @see #GetOptionFlags() - - - Get whether or not to Display this row with 0 height - @return - z height is zero or not. - @see #GetOptionFlags() - - - Get whether the font and row height are not compatible - @return - f -true if they aren't compatible (damn not logic) - @see #GetOptionFlags() - - - Get whether the row has been formatted (even if its got all blank cells) - @return formatted or not - @see #GetOptionFlags() - - - if the row is formatted then this is the index to the extended format record - @see org.apache.poi.hssf.record.ExtendedFormatRecord - @return index to the XF record or bogus value (undefined) if Isn't formatted - - - bit that specifies whether any cell in the row has a thick top border, or any - cell in the row directly above the current row has a thick bottom border. - @param f has thick top border - - - A bit that specifies whether any cell in the row has a medium or thick - bottom border, or any cell in the row directly below the current row has - a medium or thick top border. - @param f has thick bottom border - - - A bit that specifies whether the phonetic guide feature is enabled for - any cell in this row. - @param f use phoenetic guide - - - Title: Save Recalc Record - Description: defines whether to recalculate before saving (Set to true) - REFERENCE: PG 381 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - Constructs an SaveRecalc record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get whether to recalculate formulas/etc before saving or not - @return recalc - whether to recalculate or not - - - Title: Scenario Protect Record - Description: I have no idea what a Scenario is or why on would want to - protect it with the lamest "security" ever invented. However this record tells - excel "I want to protect my scenarios" (0xAF) with lame security. It appears - in conjunction with the PASSWORD and PROTECT records as well as its object - protect cousin. - REFERENCE: PG 383 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - - - Constructs a Protect record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get whether the sheet is protected or not - @return whether to protect the sheet or not - - - * Specifies the window's zoom magnification. If this record Isn't present then the windows zoom is 100%. see p384 Excel Dev Kit - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Andrew C. Oliver (acoliver at apache.org) - - - Constructs a SCL record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the numerator field for the SCL record. - - - Get the denominator field for the SCL record. - - - Title: Selection Record - Description: shows the user's selection on the sheet - for Write Set num refs to 0 - - TODO : Fully implement reference subrecords. - REFERENCE: PG 291 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @author Glen Stampoultzis (glens at apache.org) - - - - Constructs a Selection record and Sets its fields appropriately. - - the RecordInputstream to Read the record from - - - - Gets or sets the pane this is for. - - The pane. - - - - Gets or sets the active cell row. - - row number of active cell - - - - Gets or sets the active cell's col - - number of active cell - - - - Gets or sets the active cell's reference number - - ref number of active cell - - - Title: SharedFormulaRecord - Description: Primarily used as an excel optimization so that multiple similar formulas - are not written out too many times. We should recognize this record and - Serialize as Is since this Is used when Reading templates. - - Note: the documentation says that the SID Is BC where biffviewer reports 4BC. The hex dump shows - that the two byte sid representation to be 'BC 04' that Is consistent with the other high byte - record types. - @author Danny Mui at apache dot org - - - @param in the RecordInputstream to Read the record from - - - print a sort of string representation ([SHARED FORMULA RECORD] id = x [/SHARED FORMULA RECORD]) - - - @return the equivalent {@link Ptg} array that the formula would have, were it not shared. - - - Handles the task of deserializing a SST string. The two main entry points are - - @author Glen Stampoultzis (glens at apache.org) - @author Jason Height (jheight at apache.org) - - - This Is the starting point where strings are constructed. Note that - strings may span across multiple continuations. Read the SST record - carefully before beginning to hack. - - - Title: Static String Table Record - - Description: This holds all the strings for LabelSSTRecords. - - REFERENCE: PG 389 Microsoft Excel 97 Developer's Kit (ISBN: - 1-57231-498-2) - - @author Andrew C. Oliver (acoliver at apache dot org) - @author Marc Johnson (mjohnson at apache dot org) - @author Glen Stampoultzis (glens at apache.org) - - @see org.apache.poi.hssf.record.LabelSSTRecord - @see org.apache.poi.hssf.record.ContinueRecord - - - how big can an SST record be? As big as any record can be: 8228 bytes - - - standard record overhead: two shorts (record id plus data space size) - - - SST overhead: the standard record overhead, plus the number of strings and the number of Unique strings -- two ints - - - how much data can we stuff into an SST record? That would be _max minus the standard SST record overhead - - - Union of strings in the SST and EXTSST - - - according to docs ONLY SST - - - Offsets from the beginning of the SST record (even across continuations) - - - Offsets relative the start of the current SST or continue record - - - default constructor - - - Constructs an SST record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Add a string. - - @param string string to be Added - - @return the index of that string in the table - - - Get a particular string by its index - - @param id index into the array of strings - - @return the desired string - - - Return a debugging string representation - - @return string representation - - - @return hashcode - - - @return an iterator of the strings we hold. All instances are - UnicodeStrings - - - called by the class that Is responsible for writing this sucker. - Subclasses should implement this so that their data Is passed back in a - byte array. - - @return size - - - Creates an extended string record based on the current contents of - the current SST record. The offset within the stream to the SST record - Is required because the extended string record points directly to the - strings in the SST record. - - NOTE: THIS FUNCTION MUST ONLY BE CALLED AFTER THE SST RECORD HAS BEEN - SERIALIZED. - - @param sstOffset The offset in the stream to the start of the - SST record. - @return The new SST record. - - - Calculates the size in bytes of the EXTSST record as it would be if the - record was Serialized. - - @return The size of the ExtSST record in bytes. - - - @return number of strings - - - @return number of Unique strings - - - @return sid - - - @return count of the strings we hold. - - - This class handles serialization of SST records. It utilizes the record processor - class write individual records. This has been refactored from the SSTRecord class. - - @author Glen Stampoultzis (glens at apache.org) - - - OffSets from the beginning of the SST record (even across continuations) - - - OffSets relative the start of the current SST or continue record - - - Supports the STRING record structure. - - @author Glen Stampoultzis (glens at apache.org) - - - Constructs a String record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - called by the class that Is responsible for writing this sucker. - Subclasses should implement this so that their data Is passed back in a - byte array. - - @param offset to begin writing at - @param data byte array containing instance data - @return number of bytes written - - - return the non static version of the id for this record. - - - @return The string represented by this record. - - - Title: Style Record - Description: Describes a builtin to the gui or user defined style - REFERENCE: PG 390 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author aviks : string fixes for UserDefined Style - @version 2.0-pre - - - Constructs a Style record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - if this is a builtin style set the number of the built in style - @param builtinStyleId style number (0-7) - - - - Get the actual index of the style extended format record - @see #Index - @return index of the xf record - - - Get the style's name - @return name of the style - @see #NameLength - - - Get the row or column level of the style (if builtin 1||2) - - - * The common object data record is used to store all common preferences for an excel object. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a CommonObjectData record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - Get the object type field for the CommonObjectData record. - - - Get the object id field for the CommonObjectData record. - - - Get the option field for the CommonObjectData record. - - - Get the reserved1 field for the CommonObjectData record. - - - Get the reserved2 field for the CommonObjectData record. - - - Get the reserved3 field for the CommonObjectData record. - - - true if object is locked when sheet has been protected - @return the locked field value. - - - object appears when printed - @return the printable field value. - - - whether object uses an automatic Fill style - @return the autoFill field value. - - - whether object uses an automatic line style - @return the autoline field value. - - - A sub-record within the OBJ record which stores a reference to an object - stored in a Separate entry within the OLE2 compound file. - - @author Daniel Noll - - - either an area or a cell ref - - - Formulas often have a single non-zero trailing byte. - This is in a similar position to he pre-streamId padding - It is unknown if the value is important (it seems to mirror a value a few bytes earlier) - - - - Constructs an EmbeddedObjectRef record and Sets its fields appropriately. - - @param in the record input stream. - - - Gets the stream ID containing the actual data. The data itself - can be found under a top-level directory entry in the OLE2 filesystem - under the name "MBDxxxxxxxx" where xxxxxxxx is - this ID converted into hex (in big endian order, funnily enough.) - - @return the data stream ID. Possibly null - - - * The end data record is used to denote the end of the subrecords. - * NOTE: This source is automatically generated please do not modify this file. Either subclass or - * Remove the record in src/records/definitions. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a End record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - * The Group marker record is used as a position holder for Groups. - - * @author Glen Stampoultzis (glens at apache.org) - - - Constructs a Group marker record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Size of record (exluding 4 byte header) - - - From [MS-XLS].pdf 2.5.147 FtLbsData: - - An unsigned integer that indirectly specifies whether - some of the data in this structure appear in a subsequent Continue record. - If _cbFContinued is 0x00, all of the fields in this structure except sid and _cbFContinued - MUST NOT exist. If this entire structure is Contained within the same record, - then _cbFContinued MUST be greater than or equal to the size, in bytes, - of this structure, not including the four bytes for the ft and _cbFContinued fields - - - a formula that specifies the range of cell values that are the items in this list. - - - An unsigned integer that specifies the number of items in the list. - - - An unsigned integer that specifies the one-based index of the first selected item in this list. - A value of 0x00 specifies there is no currently selected item. - - - flags that tell what data follows - - - An ObjId that specifies the edit box associated with this list. - A value of 0x00 specifies that there is no edit box associated with this list. - - - An optional LbsDropData that specifies properties for this dropdown control. - This field MUST exist if and only if the Containing Obj?s cmo.ot is equal to 0x14. - - - An optional array of strings where each string specifies an item in the list. - The number of elements in this array, if it exists, MUST be {@link #_cLines} - - - An optional array of bools that specifies - which items in the list are part of a multiple selection - - - @param in the stream to read data from - @param cbFContinued the seconf short in the record header - @param cmoOt the Containing Obj's {@link CommonObjectDataSubRecord#field_1_objectType} - - - - @return a new instance of LbsDataSubRecord to construct auto-filters - @see org.apache.poi.hssf.model.ComboboxShape#createObjRecord(org.apache.poi.hssf.usermodel.HSSFSimpleShape, int) - - - - @return the formula that specifies the range of cell values that are the items in this list. - - - @return the number of items in the list - - - This structure specifies properties of the dropdown list control - - - Combo dropdown control - - - Combo Edit dropdown control - - - Simple dropdown control (just the dropdown button) - - - An unsigned integer that specifies the style of this dropdown. - - - An unsigned integer that specifies the number of lines to be displayed in the dropdown. - - - An unsigned integer that specifies the smallest width in pixels allowed for the dropdown window - - - a string that specifies the current string value in the dropdown - - - Optional, undefined and MUST be ignored. - This field MUST exist if and only if the size of str in bytes is an odd number - - - Represents a NoteStructure (0xD) sub record. - - - The docs say nothing about it. The Length of this record is always 26 bytes. - - - @author Yegor Kozlov - - - Construct a new NoteStructureSubRecord and - Fill its data with the default values - - - Constructs a NoteStructureSubRecord and Sets its fields appropriately. - - - - Convert this record to string. - Used by BiffViewer and other utulities. - - - Serialize the record data into the supplied array of bytes - - @param offset offset in the data - @param data the data to Serialize into - - @return size of the record - - - Size of record - - - @return id of this record. - - - - FtSbs structure - - - - Title: Sup Book (EXTERNALBOOK) - Description: A External Workbook Description (Suplemental Book) - Its only a dummy record for making new ExternSheet Record - REFERENCE: 5.38 - @author Libin Roman (Vista Portal LDT. Developer) - @author Andrew C. Oliver (acoliver@apache.org) - - - - Constructs a Extern Sheet record and Sets its fields appropriately. - - @param id id must be 0x16 or an exception will be throw upon validation - @param size the size of the data area of the record - @param data data of the record (should not contain sid/len) - - - Title: Sheet Tab Index Array Record - Description: Contains an array of sheet id's. Sheets always keep their ID - regardless of what their name Is. - REFERENCE: PG 412 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - Constructs a TabID record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Set the tab array. (0,1,2). - @param array of tab id's {0,1,2} - - - Get the tab array. (0,1,2). - @return array of tab id's {0,1,2} - - - DATATABLE (0x0236)

- - TableRecord - The record specifies a data table. - This record Is preceded by a single Formula record that - defines the first cell in the data table, which should - only contain a single Ptg, {@link TblPtg}. - - See p536 of the June 08 binary docs - - - TABLESTYLES (0x088E)
- - @author Patrick Cheng -
- - expect tRef, tRef3D, tArea, tArea3D or tName - - - Not clear if needed . Excel seems to be OK if this byte is not present. - Value is often the same as the earlier firstColumn byte. - - - Get the text orientation field for the TextObjectBase record. - - @return a TextOrientation - - - @return the Horizontal text alignment field value. - - - @return the Vertical text alignment field value. - - - Text has been locked - @return the text locked field value. - - - Record for the top margin. - NOTE: This source was automatically generated. - - @author Shawn Laubach (slaubach at apache dot org) - - - Constructs a TopMargin record and Sets its fields appropriately. - - @param in the RecordInputstream to Read the record from - - - Get the margin field for the TopMargin record. - - - Title: Uncalced Record - - If this record occurs in the Worksheet Substream, it indicates that the formulas have not - been recalculated before the document was saved. - - @author Olivier Leprince - - - Default constructor - - - Read constructor - - - Title: Unknown Record (for debugging) - Description: Unknown record just tells you the sid so you can figure out - what records you are missing. Also helps us Read/modify sheets we - don't know all the records to. (HSSF leaves these alone!) - Company: SuperLink Software, Inc. - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @author Glen Stampoultzis (glens at apache.org) - - - @param id id of the record -not Validated, just stored for serialization - @param data the data - - - construct an Unknown record. No fields are interperated and the record will - be Serialized in its original form more or less - @param in the RecordInputstream to Read the record from - - - spit the record out AS IS. no interpretation or identification - - - print a sort of string representation ([UNKNOWN RECORD] id = x [/UNKNOWN RECORD]) - - - These BIFF record types are known but still uninterpreted by POI - - @return the documented name of this BIFF record type, null if unknown to POI - - - @return true if the unknown record id has been observed in POI unit tests - - - Unlike the other Record.Clone methods this Is a shallow Clone - - - The UserSViewBegin record specifies Settings for a custom view associated with the sheet. - This record also marks the start of custom view records, which save custom view Settings. - Records between {@link UserSViewBegin} and {@link UserSViewEnd} contain Settings for the custom view, - not Settings for the sheet itself. - - @author Yegor Kozlov - - - construct an UserSViewBegin record. No fields are interpreted and the record will - be Serialized in its original form more or less - @param in the RecordInputstream to read the record from - - - spit the record out AS IS. no interpretation or identification - - - @return Globally unique identifier for the custom view - - - The UserSViewEnd record marks the end of the Settings for a custom view associated with the sheet - - @author Yegor Kozlov - - - construct an UserSViewEnd record. No fields are interpreted and the record will - be Serialized in its original form more or less - @param in the RecordInputstream to read the record from - - - spit the record out AS IS. no interpretation or identification - - - Title: Use Natural Language Formulas Flag - Description: Tells the GUI if this was written by something that can use - "natural language" formulas. HSSF can't. - REFERENCE: PG 420 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - Constructs a UseSelFS record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Title: VCenter record - Description: tells whether to center the sheet between vertical margins - REFERENCE: PG 420 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - Constructs a VCENTER record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get whether to center vertically or not - @return vcenter or not - - - VerticalPageBreak record that stores page breaks at columns - - This class Is just used so that SID Compares work properly in the RecordFactory - @see PageBreakRecord - @author Danny Mui (dmui at apache dot org) - - - - - - @param in the RecordInputstream to Read the record from - - - Title: Window1 Record - Description: Stores the attributes of the workbook window. This Is basically - so the gui knows how big to make the window holding the spReadsheet - document. - REFERENCE: PG 421 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - Constructs a WindowOne record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get the horizontal position of the window (in 1/20ths of a point) - @return h - horizontal location - - - Get the vertical position of the window (in 1/20ths of a point) - @return v - vertical location - - - Get the width of the window - @return width - - - Get the height of the window - @return height - - - Get the options bitmask (see bit Setters) - - @return o - the bitmask - - - Get whether the window Is hidden or not - @return Ishidden or not - - - Get whether the window has been iconized or not - @return iconize or not - - - Get whether to Display the horizontal scrollbar or not - @return Display or not - - - Get whether to Display the vertical scrollbar or not - @return Display or not - - - Get whether to Display the tabs or not - @return Display or not - - - @return the index of the currently Displayed sheet - - - deprecated May 2008 - @deprecated - Misleading name - use GetActiveSheetIndex() - - - @return the first visible sheet in the worksheet tab-bar. - I.E. the scroll position of the tab-bar. - - - deprecated May 2008 - @deprecated - Misleading name - use GetFirstVisibleTab() - - - Get the number of selected tabs - @return number of tabs - - - ratio of the width of the tabs to the horizontal scrollbar - @return ratio - - - Title: Window Protect Record - Description: flags whether workbook windows are protected - REFERENCE: PG 424 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - Constructs a WindowProtect record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Is this window protected or not - - @return protected or not - - - Title: Window Two Record - Description: sheet window Settings - REFERENCE: PG 422 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - Constructs a WindowTwo record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get the options bitmask or just use the bit Setters. - @return options - - - Get whether the window should Display formulas - @return formulas or not - - - Get whether the window should Display gridlines - @return gridlines or not - - - Get whether the window should Display row and column headings - @return headings or not - - - Get whether the window should freeze panes - @return freeze panes or not - - - Get whether the window should Display zero values - @return zeros or not - - - Get whether the window should Display a default header - @return header or not - - - Is this arabic? - @return arabic or not - - - Get whether the outline symbols are displaed - @return symbols or not - - - freeze Unsplit panes or not - @return freeze or not - - - sheet tab Is selected - @return selected or not - - - Is the sheet currently Displayed in the window - @return Displayed or not - - - deprecated May 2008 - @deprecated use IsActive() - - - was the sheet saved in page break view - @return pagebreaksaved or not - - - Get the top row visible in the window - @return toprow - - - Get the leftmost column Displayed in the window - @return leftmost - - - Get the palette index for the header color - @return color - - - zoom magification in page break view - @return zoom - - - Get the zoom magnification in normal view - @return zoom - - - Get the reserved bits - why would you do this? - @return reserved stuff -probably garbage - - - Title: Write Access Record - Description: Stores the username of that who owns the spReadsheet generator - (on Unix the user's login, on Windoze its the name you typed when - you installed the thing) - REFERENCE: PG 424 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @version 2.0-pre - - - this record is always padded to a constant length - - - Constructs a WriteAccess record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get the username for the user that Created the report. HSSF uses the logged in user. On - natively Created M$ Excel sheet this would be the name you typed in when you installed it - in most cases. - @return username of the user who Is logged in (probably "tomcat" or "apache") - - - Title: Write Protect Record - Description: Indicated that the sheet/workbook Is Write protected. - REFERENCE: PG 425 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @version 3.0-pre - - - Constructs a WriteAccess record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Title: WSBool Record. - Description: stores workbook Settings (aka its a big "everything we didn't - put somewhere else") - REFERENCE: PG 425 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Glen Stampoultzis (gstamp@iprimus.com.au) - @author Jason Height (jheight at chariot dot net dot au) - @version 2.0-pre - - - Constructs a WSBool record and Sets its fields appropriately. - @param in the RecordInputstream to Read the record from - - - Get first byte (see bit Getters) - - -

- Whether to show automatic page breaks or not - -
- - - Whether sheet is a dialog sheet or not - - - - - Get if row summaries appear below detail in the outline - - - - - Get if col summaries appear right of the detail in the outline - - - - - Get the second byte (see bit Getters) - - - - - fit to page option is on - - - - - Whether to display the guts or not - - - - - whether alternate expression evaluation is on - - - - - whether alternative formula entry is on - - - - Has methods for construction of a chart object. - - @author Glen Stampoultzis (glens at apache.org) - - - Creates a bar chart. API needs some work. :) - - NOTE: Does not yet work... checking it in just so others - can take a look. - - - Returns all the charts for the given sheet. - - NOTE: You won't be able to do very much with - these charts yet, as this is very limited support - - - Set value range (basic Axis Options) - @param axisIndex 0 - primary axis, 1 - secondary axis - @param minimum minimum value; Double.NaN - automatic; null - no change - @param maximum maximum value; Double.NaN - automatic; null - no change - @param majorUnit major unit value; Double.NaN - automatic; null - no change - @param minorUnit minor unit value; Double.NaN - automatic; null - no change - - - Get the X offset of the chart - - - Get the Y offset of the chart - - - Get the width of the chart. {@link ChartRecord} - - - Get the height of the chart. {@link ChartRecord} - - - Returns the series of the chart - - - Returns the chart's title, if there is one, - or null if not - - - A series in a chart - - - @return record with data names - - - @return record with data values - - - @return record with data category labels - - - @return record with data secondary category labels - - - @return record with series - - - See {@link SeriesRecord} - - - Returns the series' title, if there is one, - or null if not - - - - Contains raw Excel error codes (as defined in OOO's excelfileformat.pdf (2.5.6) - @author Michael Harhen - - - - #NULL! - Intersection of two cell ranges is empty - - - #DIV/0! - Division by zero - - - #VALUE! - Wrong type of operand - - - #REF! - Illegal or deleted cell reference - - - #NAME? - Wrong function or range name - - - #NUM! - Value range overflow - - - #N/A - Argument or function not available - - - - Gets standard Excel error literal for the specified error code. - @throws ArgumentException if the specified error code is not one of the 7 - standard error codes - - The error code. - - - - - Determines whether [is valid code] [the specified error code]. - - The error code. - - true if the specified error code is a standard Excel error code.; otherwise, false. - - - -

A class describing attributes of the Big Block Size

-
- - Returns the value that Gets written into the - header. - Is the power of two that corresponds to the - size of the block, eg 512 => 9 - - - - A repository for constants shared by POI classes. - @author Marc Johnson (mjohnson at apache dot org) - - - - Most files use 512 bytes as their big block size - - - Some use 4096 bytes - - - Most files use 512 bytes as their big block size - - - Most files use 512 bytes as their big block size - - - How big a block in the small block stream is. Fixed size - - - How big a single property is - - - The minimum size of a document before it's stored using - Big Blocks (normal streams). Smaller documents go in the - Mini Stream (SBAT / Small Blocks) - - - The highest sector number you're allowed, 0xFFFFFFFA - - - Indicates the sector holds a FAT block (0xFFFFFFFD) - - - Indicates the sector holds a DIFAT block (0xFFFFFFFC) - - - Indicates the sector is the end of a chain (0xFFFFFFFE) - - - Indicates the sector is not used (0xFFFFFFFF) - - - The first 4 bytes of an OOXML file, used in detection - - - - This class contains methods used to inspect POIFSViewable objects - @author Marc Johnson (mjohnson at apache dot org) - - - - - Inspect an object that may be viewable, and drill down if told to - - the object to be viewed - if true and the object implements POIFSViewable, inspect the objects' contents - how far in to indent each string - string to use for indenting - a List of Strings holding the content - - - - Indents the specified indent level. - - how far in to indent each string - string to use for indenting - The data. - - - - - An event-driven Reader for POIFS file systems. Users of this class - first Create an instance of it, then use the RegisterListener - methods to Register POIFSReaderListener instances for specific - documents. Once all the listeners have been Registered, the Read() - method is called, which results in the listeners being notified as - their documents are Read. - @author Marc Johnson (mjohnson at apache dot org) - - - - - Initializes a new instance of the class. - - - - - Read from an InputStream and Process the documents we Get - - the InputStream from which to Read the data - POIFSDocument list - - - Register a POIFSReaderListener for all documents - - @param listener the listener to be registered - - @exception NullPointerException if listener is null - @exception IllegalStateException if read() has already been - called - - - Register a POIFSReaderListener for a document in the root - directory - - @param listener the listener to be registered - @param name the document name - - @exception NullPointerException if listener is null or name is - null or empty - @exception IllegalStateException if read() has already been - called - - - Register a POIFSReaderListener for a document in the specified - directory - - @param listener the listener to be registered - @param path the document path; if null, the root directory is - assumed - @param name the document name - - @exception NullPointerException if listener is null or name is - null or empty - @exception IllegalStateException if read() has already been - called - - - - Processes the properties. - - The small_blocks. - The big_blocks. - The properties. - The path. - - - - Class POIFSReaderEvent - - @author Marc Johnson (mjohnson at apache dot org) - @version %I%, %G% - - - package scoped constructor - - @param stream the DocumentInputStream, freshly opened - @param path the path of the document - @param documentName the name of the document - - - @return the DocumentInputStream, freshly opened - - - @return the document's path - - - @return the document's name - - - - EventArgs for POIFSReader - author: Tony Qu - - - - Interface POIFSReaderListener - - @author Marc Johnson (mjohnson at apache dot org) - @version %I%, %G% - - - Process a POIFSReaderEvent that this listener had Registered - for - - @param event the POIFSReaderEvent - - - A registry for POIFSReaderListeners and the DocumentDescriptors of - the documents those listeners are interested in - - @author Marc Johnson (mjohnson at apache dot org) - @version %I%, %G% - - - Construct the registry - - - Register a POIFSReaderListener for a particular document - - @param listener the listener - @param path the path of the document of interest - @param documentName the name of the document of interest - - - Register for all documents - - @param listener the listener who wants to Get all documents - - - Get am iterator of listeners for a particular document - - @param path the document path - @param name the name of the document - - @return an Iterator POIFSReaderListeners; may be empty - - - Represents a cell being used for forked Evaluation that has had a value Set different from the - corresponding cell in the shared master workbook. - - @author Josh Micich - - - Abstracts a cell for the purpose of formula evaluation. This interface represents both formula - and non-formula cells.
- - Implementors of this class must implement {@link #HashCode()} and {@link #Equals(Object)} - To provide an identity relationship based on the underlying HSSF or XSSF cell

- - For POI internal use only - - @author Josh Micich - - - corresponding cell from master workbook - - - Represents a sheet being used for forked Evaluation. Initially, objects of this class contain - only the cells from the master workbook. By calling {@link #getOrCreateUpdatableCell(int, int)}, - the master cell object is logically Replaced with a {@link ForkedEvaluationCell} instance, which - will be used in all subsequent Evaluations. - - @author Josh Micich - - - Abstracts a sheet for the purpose of formula evaluation.
- - For POI internal use only - - @author Josh Micich -
- - @return null if there is no cell at the specified coordinates - - - Only cells which have been split are Put in this map. (This has been done to conserve memory). - - - Represents a workbook being used for forked Evaluation. Most operations are delegated to the - shared master workbook, except those that potentially involve cell values that may have been - updated After a call to {@link #getOrCreateUpdatableCell(String, int, int)}. - - @author Josh Micich - - - Abstracts a workbook for the purpose of formula evaluation.
- - For POI internal use only - - @author Josh Micich -
- - @return -1 if the specified sheet is from a different book - - - HSSF Only - fetch the external-style sheet details -

Return will have no workbook set if it's actually in our own workbook

-
- - XSSF Only - fetch the external-style sheet details -

Return will have no workbook set if it's actually in our own workbook

-
- - HSSF Only - convert an external sheet index to an internal sheet index, - for an external-style reference to one of this workbook's own sheets - - - HSSF Only - fetch the external-style name details - - - XSSF Only - fetch the external-style name details - - - An alternative workbook Evaluator that saves memory in situations where a single workbook is - concurrently and independently Evaluated many times. With standard formula Evaluation, around - 90% of memory consumption is due to loading of the {@link HSSFWorkbook} or {@link NPOI.xssf.usermodel.XSSFWorkbook}. - This class enables a 'master workbook' to be loaded just once and shared between many Evaluation - clients. Each Evaluation client Creates its own {@link ForkedEvaluator} and can Set cell values - that will be used for local Evaluations (and don't disturb Evaluations on other Evaluators). - - @author Josh Micich - - - @deprecated (Sep 2009) (reduce overloading) use {@link #Create(Workbook, IStabilityClassifier, UDFFinder)} - - - @param udfFinder pass null for default (AnalysisToolPak only) - - - Sets the specified cell to the supplied value - @param sheetName the name of the sheet Containing the cell - @param rowIndex zero based - @param columnIndex zero based - - - Copies the values of all updated cells (modified by calls to {@link - #updateCell(String, int, int, ValueEval)}) to the supplied workbook.
- Typically, the supplied workbook is a writable copy of the 'master workbook', - but at the very least it must contain sheets with the same names. -
- - If cell Contains a formula, the formula is Evaluated and returned, - else the CellValue simply copies the appropriate cell value from - the cell and also its cell type. This method should be preferred over - EvaluateInCell() when the call should not modify the contents of the - original cell. - - @param sheetName the name of the sheet Containing the cell - @param rowIndex zero based - @param columnIndex zero based - @return null if the supplied cell is null or blank - - - Coordinates several formula Evaluators together so that formulas that involve external - references can be Evaluated. - @param workbookNames the simple file names used to identify the workbooks in formulas - with external links (for example "MyData.xls" as used in a formula "[MyData.xls]Sheet1!A1") - @param Evaluators all Evaluators for the full Set of workbooks required by the formulas. - - - contribute by Pavel Egorov - https://github.com/xoposhiy/npoi/commit/27b34a2389030c7115a666ace65daafda40d61af - Implementation of Excel ISERR() function.

- - Syntax:
- ISERR(value)

- - value The value to be tested

- - Returns the logical value TRUE if value refers to any error value except - '#N/A'; otherwise, it returns FALSE. - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @param arg any {@link ValueEval}, potentially {@link BlankEval} or {@link ErrorEval}. - - - Encapsulates logic to convert shared formulaa into non shared equivalent - - - Creates a non shared formula from the shared formula counterpart, i.e. - Converts the shared formula into the equivalent {@link org.apache.poi.ss.formula.ptg.Ptg} array that it would have, - were it not shared. - - @param ptgs parsed tokens of the shared formula - @param formulaRow - @param formulaColumn - - -

- No diagional border - -
- - - Backward diagional border, from left-top to right-bottom - - - - - Forward diagional border, from right-top to left-bottom - - - - - Both forward and backward diagional border - - - - Returns point value at specified index. - - @param index index to value from - @return point value at specified index. - @throws {@code IndexOutOfBoundsException} if index - parameter not in range {@code 0 <= index <= pointCount} - - - Return number of points contained by data source. - - @return number of points contained by data source - - - Returns {@code true} if charts data source is valid cell range. - - @return {@code true} if charts data source is valid cell range - - - Returns {@code true} if data source points should be treated as numbers. - - @return {@code true} if data source points should be treated as numbers - - - Returns formula representation of the data source. It is only applicable - for data source that is valid cell range. - - @return formula representation of the data source - @throws {@code UnsupportedOperationException} if the data source is not a - reference. - - - Sets the title of the series as a string literal. - - @param title - - - Sets the title of the series as a cell reference. - - @param titleReference - - - @return title as string literal. - - - @return title as cell reference. - - - @return title type. - - - - Data for a Line Chart - - - - - - - A base for all chart data types. - - - @author Roman Kashitsyn - - - - - Fills a chart with data specified by implementation. - - a chart to fill in - chart axis to use - - - @return list of all series. - - - @return data source used for category axis data. - - - @return data source used for value axis. - - - Enum mapping the values of STDataConsolidateFunction - - - the different types of possible underline formatting - - @author Gisella Bronzetti - - - Single-line underlining under each character in the cell. - The underline is drawn through the descenders of - characters such as g and p.. - - - Double-line underlining under each character in the - cell. underlines are drawn through the descenders of - characters such as g and p. - - - Single-line accounting underlining under each - character in the cell. The underline is drawn under the - descenders of characters such as g and p. - - - Double-line accounting underlining under each - character in the cell. The underlines are drawn under - the descenders of characters such as g and p. - - - No underline. - - -

Format class that handles Excel style fractions, such as "# #/#" and "#/###"

- -

As of this writing, this is still not 100% accurate, but it does a reasonable job - of trying to mimic Excel's fraction calculations. It does not currently - maintain Excel's spacing.

- -

This class relies on a method lifted nearly verbatim from org.apache.math.fraction. - If further uses for Commons Math are found, we will consider Adding it as a dependency. - For now, we have in-lined the one method to keep things simple.

-
- - - A substitute class for Format class in Java - - - - Single parameter ctor - @param denomFormatString The format string for the denominator - - - The denominator. - - - The numerator. - - - Create a fraction given a double value and a denominator. - - @param val double value of fraction - @param exactDenom the exact denominator - @return a SimpleFraction with the given values set. - - - Create a fraction given the double value and either the maximum error - allowed or the maximum number of denominator digits. - - @param value the double value to convert to a fraction. - @param maxDenominator maximum denominator value allowed. - - @throws RuntimeException if the continued fraction failed to - converge. - @throws IllegalArgumentException if value > Integer.MAX_VALUE - - - Create a fraction given the double value and either the maximum error - allowed or the maximum number of denominator digits. -

- References: -

-

- - Based on org.apache.commons.math.fraction.Fraction from Apache Commons-Math. - YK: The only reason of having this class is to avoid dependency on the Commons-Math jar. - - @param value the double value to convert to a fraction. - @param epsilon maximum error allowed. The resulting fraction is within - epsilon of value, in absolute terms. - @param maxDenominator maximum denominator value allowed. - @param maxIterations maximum number of convergents - @throws RuntimeException if the continued fraction failed to - converge. - @throws IllegalArgumentException if value > Integer.MAX_VALUE -
- - Create a fraction given a numerator and denominator. - @param numerator - @param denominator maxDenominator The maximum allowed value for denominator - - - Access the denominator. - @return the denominator. - - - Access the numerator. - @return the numerator. - - - - Represents data marker used in charts. - @author Roman Kashitsyn - - - - - constructor - - the sheet where data located. - the range within that sheet. - - - - Formats data marker using canonical format, for example - 'SheetName!$A$1:$A$5'. - - formatted data marker - - - - get or set the sheet marker points to. - - - - - get or set range of the marker. - - - - Convert DateFormat patterns into Excel custom number formats. - For example, to format a date in excel using the "dd MMMM, yyyy" pattern and Japanese - locale, use the following code: - -

-                  // returns "[$-0411]dd MMMM, yyyy;@" where the [$-0411] prefix tells Excel to use the Japanese locale
-                  String excelFormatPattern = DateFormatConverter.convert(Locale.JAPANESE, "dd MMMM, yyyy");
-            
-                  CellStyle cellStyle = workbook.createCellStyle();
-            
-                  DataFormat poiFormat = workbook.createDataFormat();
-                  cellStyle.setDataFormat(poiFormat.getFormat(excelFormatPattern));
-                  cell.setCellValue(new Date());
-                  cell.setCellStyle(cellStyle);  // formats date as '2012\u5e743\u670817\u65e5'
-            
-              
- - -
- - @author Yegor Kozlov - - - Return the dimension of this image - - @param is the stream Containing the image data - @param type type of the picture: {@link NPOI.SS.UserModel.Workbook#PICTURE_TYPE_JPEG}, - {@link NPOI.SS.UserModel.Workbook#PICTURE_TYPE_PNG} or {@link NPOI.SS.UserModel.Workbook#PICTURE_TYPE_DIB} - - @return image dimension in pixels - - - The metadata of PNG and JPEG can contain the width of a pixel in millimeters. - Return the the "effective" dpi calculated as 25.4/HorizontalPixelSize - and 25.4/VerticalPixelSize. Where 25.4 is the number of mm in inch. - - @return array of two elements: {horisontalPdi, verticalDpi}. - {96, 96} is the default. - - - Calculate and Set the preferred size (anchor) for this picture. - - @param scaleX the amount by which image width is multiplied relative to the original width. - @param scaleY the amount by which image height is multiplied relative to the original height. - @return the new Dimensions of the scaled picture in EMUs - - - Calculates the dimensions in EMUs for the anchor of the given picture - - @param picture the picture Containing the anchor - @return the dimensions in EMUs - - - Implementation of a BlockingInputStream to provide data to - RawDataBlock that expects data in 512 byte chunks. Useful to read - data from slow (ie, non FileInputStream) sources, for example when - Reading an OLE2 Document over a network. - - Possible extentions: add a timeout. Curently a call to Read(byte[]) on this - class is blocking, so use at your own peril if your underlying stream blocks. - - @author Jens Gerhard - @author aviks - documentation cleanups. - - - We had to revert to byte per byte Reading to keep - with slow network connections on one hand, without - missing the end-of-file. - This is the only method that does its own thing in this class - everything else is delegated to aggregated stream. - THIS IS A BLOCKING BLOCK READ!!! - - - - Returns the number of elements between the current position and the limit. - - The number of elements remaining in this buffer - - - - Tells whether there are any elements between the current position and the limit. - - true if, and only if, there is at least one element remaining in this buffer - - - - Represents a class ID (16 bytes). Unlike other little-endian - type the {@link ClassID} is not just 16 bytes stored in the wrong - order. Instead, it is a double word (4 bytes) followed by two - words (2 bytes each) followed by 8 bytes. - @author Rainer Klute - klute@rainer-klute.de - @version $Id: ClassID.java 489730 2006-12-22 19:18:16Z bayard $ - @since 2002-02-09 - - - - The number of bytes occupied by this object in the byte - stream. - - - The bytes making out the class ID in correct order, - i.e. big-endian. - - - - Creates a and Reads its value from a byte array. - - The byte array to Read from. - The offset of the first byte to Read. - - - - Creates a and initializes its value with 0x00 bytes. - - - -

Creates a {@link ClassID} from a human-readable representation of the Class ID in standard - format "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}".

- - @param externalForm representation of the Class ID represented by this object. -
- - - Reads the class ID's value from a byte array by turning little-endian into big-endian. - - The byte array to Read from - The offset within the - A byte array containing the class ID. - - - - Writes the class ID to a byte array in the little-endian format. - - The byte array to Write to. - The offset within the - - - - Checks whether this ClassID is equal to another - object. - - the object to compare this PropertySet with - true if the objects are equal, else - false - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Returns a human-Readable representation of the Class ID in standard - format "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}". - - - A String representation of the Class ID represented by this object.. - - - - - Gets the length. - - The number of bytes occupied by this object in the byte stream. - - - - Gets or sets the bytes making out the class ID. They are returned in correct order, i.e. big-endian. - - the bytes making out the class ID.. - - - - Simple implementation of DirectoryEntry - @author Marc Johnson (mjohnson at apache dot org) - - - - - Abstract implementation of Entry - Extending classes should override isDocument() or isDirectory(), as - appropriate - Extending classes must override isDeleteOK() - @author Marc Johnson (mjohnson at apache dot org) - - - - - Create a DocumentNode. ThIs method Is not public by design; it - Is intended strictly for the internal use of extending classes - - the Property for this Entry - the parent of this entry - - - - Delete this Entry. ThIs operation should succeed, but there are - special circumstances when it will not: - If this Entry Is the root of the Entry tree, it cannot be - deleted, as there Is no way to Create another one. - If this Entry Is a directory, it cannot be deleted unless it Is - empty. - - - true if the Entry was successfully deleted, else false - - - - - Rename this Entry. ThIs operation will fail if: - There Is a sibling Entry (i.e., an Entry whose parent Is the - same as this Entry's parent) with the same name. - ThIs Entry Is the root of the Entry tree. Its name Is dictated - by the Filesystem and many not be Changed. - - the new name for this Entry - - true if the operation succeeded, else false - - - - - grant access to the property - - the property backing this entry - - - - Is this the root of the tree? - - true if this instance is root; otherwise, false. - - - - extensions use this method to verify internal rules regarding - deletion of the underlying store. - - - true if it's ok to Delete the underlying store; otherwise, false. - - - - - Get the name of the Entry - - The name. - Get the name of the Entry - @return name - - - - Is this a DirectoryEntry? - - - true if the Entry Is a DirectoryEntry; otherwise, false. - - - - - Is this a DocumentEntry? - - - true if the Entry Is a DocumentEntry; otherwise, false. - - - - - Get this Entry's parent (the DocumentEntry that owns this - Entry). All Entry objects, except the root Entry, has a parent. - - this Entry's parent; null iff this Is the root Entry - - - - Create a DirectoryNode. This method Is not public by design; it - Is intended strictly for the internal use of this package - - the DirectoryProperty for this DirectoryEntry - the POIFSFileSystem we belong to - the parent of this entry - - - - open a document in the directory's entry's list of entries - - the name of the document to be opened - a newly opened DocumentStream - - - - Create a new DocumentEntry; the data will be provided later - - the name of the new documentEntry - the new DocumentEntry - - - - Change a contained Entry's name - - the original name - the new name - true if the operation succeeded, else false - - - - Deletes the entry. - - the EntryNode to be Deleted - true if the entry was Deleted, else false - - - - get a specified Entry by name - - the name of the Entry to obtain. - - the specified Entry, if it is directly contained in - this DirectoryEntry - - - - - Create a new DirectoryEntry - - the name of the new DirectoryEntry - the name of the new DirectoryEntry - - - - Gets the path. - - this directory's path representation - - - - get an iterator of the Entry instances contained directly in - this instance (in other words, children only; no grandchildren - etc.) - - - The entries.never null, but hasNext() may return false - immediately (i.e., this DirectoryEntry is empty). All - objects retrieved by next() are guaranteed to be - implementations of Entry. - - - - get the names of all the Entries contained directly in this - instance (in other words, names of children only; no grandchildren - etc). - - @return the names of all the entries that may be retrieved with - getEntry(String), which may be empty (if this - DirectoryEntry is empty) - - - - is this DirectoryEntry empty? - - - true if this instance contains no Entry instances; otherwise, false. - - - - - find out how many Entry instances are contained directly within - this DirectoryEntry - - - number of immediately (no grandchildren etc.) contained - Entry instances - - - - - Gets or Sets the storage clsid for the directory entry - - The storage ClassID. - - - - Is this a DirectoryEntry? - - true if the Entry Is a DirectoryEntry, else false - - - - extensions use this method to verify internal rules regarding - deletion of the underlying store. - - true if it's ok to Delete the underlying store, else - false - - - - Get an array of objects, some of which may implement POIFSViewable - - an array of Object; may not be null, but may be empty - - - - Get an Iterator of objects, some of which may implement - POIFSViewable - - an Iterator; may not be null, but may have an empty - back end store - - - - Give viewers a hint as to whether to call GetViewableArray or - GetViewableIterator - - true if a viewer should call GetViewableArray; otherwise, falseif - a viewer should call GetViewableIterator - - - - Provides a short description of the object, to be used when a - POIFSViewable object has not provided its contents. - - The short description. - - - - Class DocumentDescriptor - @author Marc Johnson (mjohnson at apache dot org) - - - - - Initializes a new instance of the class. - - the Document path - the Document name - - - - equality. Two DocumentDescriptor instances are equal if they - have equal paths and names - - the object we're checking equality for - true if the object is equal to this object - - - - Serves as a hash function for a particular type. - - - hashcode - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Gets the path. - - The path. - - - - Gets the name. - - The name. - - - - This interface defines methods specific to Document objects - managed by a Filesystem instance. - @author Marc Johnson (mjohnson at apache dot org) - - - - - get the size of the document, in bytes - - size in bytes - - - - Simple implementation of DocumentEntry - @author Marc Johnson (mjohnson at apache dot org) - - - - create a DocumentNode. This method Is not public by design; it - Is intended strictly for the internal use of this package - - @param property the DocumentProperty for this DocumentEntry - @param parent the parent of this entry - - - get the POIFSDocument - - @return the internal POIFSDocument - - - get the zize of the document, in bytes - - @return size in bytes - - - Is this a DocumentEntry? - - @return true if the Entry Is a DocumentEntry, else false - - - extensions use this method to verify internal rules regarding - deletion of the underlying store. - - @return true if it's ok to delete the underlying store, else - false - - - Get an array of objects, some of which may implement - POIFSViewable - - @return an array of Object; may not be null, but may be empty - - - Get an Iterator of objects, some of which may implement - POIFSViewable - - @return an Iterator; may not be null, but may have an empty - back end store - - - Give viewers a hint as to whether to call getViewableArray or - getViewableIterator - - @return true if a viewer should call getViewableArray, false if - a viewer should call getViewableIterator - - - Provides a short description of the object, to be used when a - POIFSViewable object has not provided its contents. - - @return short description - - - - This exception is thrown when we try to open a file that's actually - an Office 2007+ XML file, rather than an OLE2 file (which is what - POIFS works with) - - - - Represents an Ole10Native record which is wrapped around certain binary - files being embedded in OLE2 documents. - - @author Rainer Schwarze - - - - Creates an instance of this class from an embedded OLE Object. The OLE Object is expected - to include a stream "{01}Ole10Native" which Contains the actual - data relevant for this class. - - poifs POI Filesystem object - Returns an instance of this class - - - - Creates an instance of this class from an embedded OLE Object. The OLE Object is expected - to include a stream "{01}Ole10Native" which contains the actual - data relevant for this class. - - directory POI Filesystem object - Returns an instance of this class - - - Creates an instance and fills the fields based on ... the fields - - - Creates an instance and Fills the fields based on the data in the given buffer. - - @param data The buffer Containing the Ole10Native record - @param offset The start offset of the record in the buffer - @param plain as of POI 3.11 this parameter is ignored - @throws Ole10NativeException on invalid or unexcepted data format - - - Creates an instance and Fills the fields based on the data in the given buffer. - - @param data The buffer Containing the Ole10Native record - @param offset The start offset of the record in the buffer - @throws Ole10NativeException on invalid or unexcepted data format - - - Have the contents printer out into an OutputStream, used when writing a - file back out to disk (Normally, atom classes will keep their bytes - around, but non atom classes will just request the bytes from their - children, then chuck on their header and return) - - - Returns the value of the totalSize field - the total length of the structure - is totalSize + 4 (value of this field + size of this field). - - @return the totalSize - - - Returns flags1 - currently unknown - usually 0x0002. - - @return the flags1 - - - Returns the label field - usually the name of the file (without directory) but - probably may be any name specified during packaging/embedding the data. - - @return the label - - - Returns the fileName field - usually the name of the file being embedded - including the full path. - - @return the fileName - - - Returns flags2 - currently unknown - mostly 0x0000. - - @return the flags2 - - - Returns unknown1 field - currently unknown. - - @return the unknown1 - - - Returns the command field - usually the name of the file being embedded - including the full path, may be a command specified during embedding the file. - - @return the command - - - Returns the size of the embedded file. If the size is 0 (zero), no data has been - embedded. To be sure, that no data has been embedded, check whether - {@link #getDataBuffer()} returns null. - - @return the dataSize - - - Returns the buffer Containing the embedded file's data, or null - if no data was embedded. Note that an embedding may provide information about - the data, but the actual data is not included. (So label, filename etc. are - available, but this method returns null.) - - @return the dataBuffer - - - Returns the flags3 - currently unknown. - - @return the flags3 - - - the field encoding mode - merely a try-and-error guess ... - - - - the data is stored in parsed format - including label, command, etc. - - - the data is stored raw after the length field - - - the data is stored raw after the length field and the flags1 field - - - - Class POIFSDocumentPath - @author Marc Johnson (mjohnson at apache dot org) - - - - - simple constructor for the path of a document that is in the - root of the POIFSFileSystem. The constructor that takes an - array of Strings can also be used to create such a - POIFSDocumentPath by passing it a null or empty String array - - - - - constructor for the path of a document that is not in the root - of the POIFSFileSystem - - the Strings making up the path to a document. - The Strings must be ordered as they appear in - the directory hierarchy of the the document - -- the first string must be the name of a - directory in the root of the POIFSFileSystem, - and every Nth (for N > 1) string thereafter - must be the name of a directory in the - directory identified by the (N-1)th string. - If the components parameter is null or has - zero length, the POIFSDocumentPath is - appropriate for a document that is in the - root of a POIFSFileSystem - - - - constructor that adds additional subdirectories to an existing - path - - the existing path - the additional subdirectory names to be added - - - - equality. Two POIFSDocumentPath instances are equal if they - have the same number of component Strings, and if each - component String is equal to its coresponding component String - - the object we're checking equality for - true if the object is equal to this object - - - - get the specified component - - which component (0 ... length() - 1) - the nth component; - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Gets the length. - - the number of components - - - - Returns the path's parent or null if this path - is the root path. - - path of parent, or null if this path is the root path - - - - This class provides methods to read a DocumentEntry managed by a - Filesystem instance. - @author Marc Johnson (mjohnson at apache dot org) - - - - - Create an InputStream from the specified DocumentEntry - - the DocumentEntry to be read - - - - Create an InputStream from the specified Document - - the Document to be read - - - - Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. - - - - - Reads some number of bytes from the input stream and stores - them into the buffer array b. The number of bytes actually read - is returned as an integer. The definition of this method in - java.io.InputStream allows this method to block, but it won't. - If b is null, a NullPointerException is thrown. If the length - of b is zero, then no bytes are read and 0 is returned; - otherwise, there is an attempt to read at least one byte. If no - byte is available because the stream is at end of file, the - value -1 is returned; otherwise, at least one byte is read and - stored into b. - The first byte read is stored into element b[0], the next one - into b[1], and so on. The number of bytes read is, at most, - equal to the length of b. Let k be the number of bytes actually - read; these bytes will be stored in elements b[0] through - b[k-1], leaving elements b[k] through b[b.length-1] unaffected. - If the first byte cannot be read for any reason other than end - of file, then an IOException is thrown. In particular, an - IOException is thrown if the input stream has been closed. - The read(b) method for class InputStream has the same effect as: - - the buffer into which the data is read. - the total number of bytes read into the buffer, or -1 - if there is no more data because the end of the stream - has been reached. - - - - Reads up to len bytes of data from the input stream into an - array of bytes. An attempt is made to read as many as len - bytes, but a smaller number may be read, possibly zero. The - number of bytes actually read is returned as an integer. - The definition of this method in java.io.InputStream allows it - to block, but it won't. - If b is null, a NullPointerException is thrown. - If off is negative, or len is negative, or off+len is greater - than the length of the array b, then an - IndexOutOfBoundsException is thrown. - If len is zero, then no bytes are read and 0 is returned; - otherwise, there is an attempt to read at least one byte. If no - byte is available because the stream is at end of file, the - value -1 is returned; otherwise, at least one byte is read and - stored into b. - The first byte read is stored into element b[off], the next one - into b[off+1], and so on. The number of bytes read is, at most, - equal to len. Let k be the number of bytes actually read; these - bytes will be stored in elements b[off] through b[off+k-1], - leaving elements b[off+k] through b[off+len-1] unaffected. - In every case, elements b[0] through b[off] and elements - b[off+len] through b[b.length-1] are unaffected. - If the first byte cannot be read for any reason other than end - of file, then an IOException is thrown. In particular, an - IOException is thrown if the input stream has been closed. - - the buffer into which the data is read. - the start offset in array b at which the data is - written. - the maximum number of bytes to read. - the total number of bytes read into the buffer, or -1 - if there is no more data because the end of the stream - has been reached. - - - - Reads the next byte of data from the input stream. The value - byte is returned as an int in the range 0 to 255. If no byte is - available because the end of the stream has been reached, the - value -1 is returned. The definition of this method in - java.io.InputStream allows this method to block, but it won't. - - the next byte of data, or -1 if the end of the stream - is reached. - - - - - When overridden in a derived class, sets the position within the current stream. - - A byte offset relative to the parameter. - A value of type indicating the reference point used to obtain the new position. - - The new position within the current stream. - - - An I/O error occurs. - - - The stream does not support seeking, such as if the stream is constructed from a pipe or console output. - - - Methods were called after the stream was closed. - - - - - Skips the specified n. - - The n. - - - - - When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. - - An array of bytes. This method copies bytes from to the current stream. - The zero-based byte offset in at which to begin copying bytes to the current stream. - The number of bytes to be written to the current stream. - - The sum of and is greater than the buffer length. - - - is null. - - - or is negative. - - - An I/O error occurs. - - - The stream does not support writing. - - - Methods were called after the stream was closed. - - - - - at the end Of document. - - - - - - Returns the number of bytes that can be read (or skipped over) - from this input stream without blocking by the next caller of a - method for this input stream. The next caller might be the same - thread or or another thread. - - the number of bytes that can be read from this input - stream without blocking. - - - - When overridden in a derived class, gets a value indicating whether the current stream supports reading. - - - true if the stream supports reading; otherwise, false. - - - - - When overridden in a derived class, gets a value indicating whether the current stream supports seeking. - - - true if the stream supports seeking; otherwise, false. - - - - - When overridden in a derived class, gets a value indicating whether the current stream supports writing. - - - true if the stream supports writing; otherwise, false. - - - - - When overridden in a derived class, gets the length in bytes of the stream. - - - - A long value representing the length of the stream in bytes. - - - A class derived from Stream does not support seeking. - - - Methods were called after the stream was closed. - - - - - When overridden in a derived class, gets or sets the position within the current stream. - - - - The current position within the stream. - - - An I/O error occurs. - - - The stream does not support seeking. - - - Methods were called after the stream was closed. - - - - - This class provides a wrapper over an OutputStream so that Document - writers can't accidently go over their size limits - @author Marc Johnson (mjohnson at apache dot org) - - - - - Create a POIFSDocumentWriter - - the OutputStream to which the data is actually - the maximum number of bytes that can be written - - - - Closes this output stream and releases any system resources - associated with this stream. The general contract of close is - that it closes the output stream. A closed stream cannot - perform output operations and cannot be reopened. - - - - - Flushes this output stream and forces any buffered output bytes - to be written out. - - - - - Writes b.length bytes from the specified byte array - to this output stream. - - the data. - - - - Writes len bytes from the specified byte array starting at - offset off to this output stream. The general contract for - write(b, off, len) is that some of the bytes in the array b are - written to the output stream in order; element b[off] is the - first byte written and b[off+len-1] is the last byte written by - this operation. - If b is null, a NullPointerException is thrown. - If off is negative, or len is negative, or off+len is greater - than the length of the array b, then an - IndexOutOfBoundsException is thrown. - - the data. - the start offset in the data. - the number of bytes to write. - - - - Writes the specified byte to this output stream. The general - contract for write is that one byte is written to the output - stream. The byte to be written is the eight low-order bits of - the argument b. The 24 high-order bits of b are ignored. - - the byte. - - - - write the rest of the document's data (fill in at the end) - - the actual number of bytes the corresponding - document must fill - the byte to fill remaining space with - - - - When overridden in a derived class, gets a value indicating whether the current stream supports reading. - - - true if the stream supports reading; otherwise, false. - - - - - When overridden in a derived class, gets a value indicating whether the current stream supports seeking. - - - true if the stream supports seeking; otherwise, false. - - - - - When overridden in a derived class, gets a value indicating whether the current stream supports writing. - - - true if the stream supports writing; otherwise, false. - - - - - When overridden in a derived class, gets the length in bytes of the stream. - - - - A long value representing the length of the stream in bytes. - - - A class derived from Stream does not support seeking. - - - Methods were called after the stream was closed. - - - - - When overridden in a derived class, gets or sets the position within the current stream. - - - - The current position within the stream. - - - An I/O error occurs. - - - The stream does not support seeking. - - - Methods were called after the stream was closed. - - - - - This is the main class of the POIFS system; it manages the entire - life cycle of the filesystem. - @author Marc Johnson (mjohnson at apache dot org) - - - - - Convenience method for clients that want to avoid the auto-Close behaviour of the constructor. - - The stream. - - A convenience method ( - CreateNonClosingInputStream()) has been provided for this purpose: - StreamwrappedStream = POIFSFileSystem.CreateNonClosingInputStream(is); - HSSFWorkbook wb = new HSSFWorkbook(wrappedStream); - is.reset(); - doSomethingElse(is); - - - - - What big block size the file uses. Most files - use 512 bytes, but a few use 4096 - - - - Initializes a new instance of the class. intended for writing - - - - - Create a POIFSFileSystem from an Stream. Normally the stream is Read until - EOF. The stream is always Closed. In the unlikely case that the caller has such a stream and - needs to use it after this constructor completes, a work around is to wrap the - stream in order to trap the Close() call. - - the Streamfrom which to Read the data - - - @param stream the stream to be Closed - @param success false if an exception is currently being thrown in the calling method - - - - Checks that the supplied Stream(which MUST - support mark and reset, or be a PushbackInputStream) - has a POIFS (OLE2) header at the start of it. - If your Streamdoes not support mark / reset, - then wrap it in a PushBackInputStream, then be - sure to always use that, and not the original! - - An Streamwhich supports either mark/reset, or is a PushbackStream - - true if [has POIFS header] [the specified inp]; otherwise, false. - - - - - Create a new document to be Added to the root directory - - the Streamfrom which the document's data will be obtained - the name of the new POIFSDocument - the new DocumentEntry - - - - Create a new DocumentEntry in the root entry; the data will be - provided later - - the name of the new DocumentEntry - the size of the new DocumentEntry - the Writer of the new DocumentEntry - the new DocumentEntry - - - - Create a new DirectoryEntry in the root directory - - the name of the new DirectoryEntry - the new DirectoryEntry - - - open a document in the root entry's list of entries - - @param documentName the name of the document to be opened - - @return a newly opened DocumentInputStream - - @exception IOException if the document does not exist or the - name is that of a DirectoryEntry - - - - Writes the file system. - - the OutputStream to which the filesystem will be - written - - - - Add a new POIFSDocument - - the POIFSDocument being Added - - - - Add a new DirectoryProperty - - The directory. - - - - Removes the specified entry. - - The entry. - - - - Get the root entry - - The root. - - - - Get an array of objects, some of which may implement - POIFSViewable - - an array of Object; may not be null, but may be empty - - - - Get an Iterator of objects, some of which may implement - POIFSViewable - - an Iterator; may not be null, but may have an empty - back end store - - - - Give viewers a hint as to whether to call GetViewableArray or - GetViewableIterator - - true if a viewer should call GetViewableArray, false if - a viewer should call GetViewableIterator - - - - Provides a short description of the object, to be used when a - POIFSViewable object has not provided its contents. - - The short description. - - - - Gets The Big Block size, normally 512 bytes, sometimes 4096 bytes - - The size of the big block. - - - - This interface defines methods for finding and setting sibling - Property instances - @author Marc Johnson (mjohnson at apache dot org) - - - - - Gets or sets the previous child. - - The previous child. - - - - Gets or sets the next child. - - The next child. - - - - Trivial extension of Property for POIFSDocuments - @author Marc Johnson (mjohnson at apache dot org) - - - - - This abstract base class is the ancestor of all classes - implementing POIFS Property behavior. - @author Marc Johnson (mjohnson at apache dot org) - - - - - Initializes a new instance of the class. - - - - - Constructor from byte data - - index number - byte data - offset into byte data - - - - Write the raw data to an OutputStream. - - the OutputStream to which the data Should be - written. - - - - does the length indicate a small document? - - length in bytes - - true if the length Is less than - _big_block_minimum_bytes; otherwise, false. - - - - - Perform whatever activities need to be performed prior to - writing - - - - - Determines whether the specified index Is valid - - value to be checked - - true if the index Is valid; otherwise, false. - - - - - Gets or sets the start block for the document referred to by this - Property. - - the start block index - - - - Based on the currently defined size, Should this property use - small blocks? - - true if the size Is less than _big_block_minimum_bytes - - - - Gets or sets the name of this property - - property name - - - - Gets a value indicating whether this instance is directory. - - - true if a directory type Property; otherwise, false. - - - - - Gets or sets the storage class ID for this property stream. ThIs Is the Class ID - of the COM object which can read and write this property stream - Storage Class ID - - - - Set the property type. Makes no attempt to validate the value. - - the property type (root, file, directory) - - - - Sets the color of the node. - - the node color (red or black) - - - - Sets the child property. - - the child property's index in the Property Table - - - - Get the child property (its index in the Property Table) - - The index of the child. - - - - Gets or sets the size of the document associated with this Property - - the size of the document, in bytes - - - - Gets or sets the index. - - The index. - Get the index for this Property - @return the index of this Property within its Property Table - - - - Gets the index of the next child. - - The index of the next child. - - - - Gets the index of the previous child. - - The index of the previous child. - - - - Gets or sets the previous child. - - the new 'previous' child; may be null, which has - the effect of saying there Is no 'previous' child - - - - Gets or sets the next Child - - the new 'next' child; may be null, which has the - effect of saying there Is no 'next' child - - - - Get an array of objects, some of which may implement - POIFSViewable - - an array of Object; may not be null, but may be empty - - - - Get an Iterator of objects, some of which may implement POIFSViewable - - may not be null, but may have an empty - back end store - - - - Give viewers a hint as to whether to call GetViewableArray or - GetViewableIterator - - true if a viewer Should call GetViewableArray; otherwise, false - if a viewer Should call GetViewableIterator - - - - - Provides a short description of the object, to be used when a - POIFSViewable object has not provided its contents. - - The short description. - - - - Behavior for parent (directory) properties - @author Marc Johnson27591@hotmail.com - - - - - Add a new child to the collection of children - - the new child to be added; must not be null - - - - Get an iterator over the children of this Parent - all elements are instances of Property. - - - - - - Sets the previous child. - - - - - Sets the next child. - - - - - Initializes a new instance of the class. - - the name of the directory - - - - Initializes a new instance of the class. - - index number - byte data - offset into byte data - - - - Change a Property's name - - the Property whose name Is being Changed. - the new name for the Property - true if the name Change could be made, else false - - - - Delete a Property - - the Property being Deleted - true if the Property could be Deleted, else false - - - - Perform whatever activities need to be performed prior to - writing - - - - - Add a new child to the collection of children - - the new child to be added; must not be null - - - - Gets a value indicating whether this instance is directory. - - - true if a directory type Property; otherwise, false. - - - - - Get an iterator over the children of this Parent; all elements - are instances of Property. - - Iterator of children; may refer to an empty collection - - - - Directory Property Comparer - - - - - Object equality, implemented as object identity - - Object we're being Compared to - true if identical, else false - - - - Compare method. Assumes both parameters are non-null - instances of Property. One property is less than another if - its name is shorter than the other property's name. If the - names are the same length, the property whose name comes - before the other property's name, alphabetically, is less - than the other property. - - first object to compare, better be a Property - second object to compare, better be a Property - negative value if o1 smaller than o2, - zero if o1 equals o2, - positive value if o1 bigger than o2. - - - - Trivial extension of Property for POIFSDocuments - @author Marc Johnson (mjohnson at apache dot org) - - - - - Initializes a new instance of the class. - - POIFSDocument name - POIFSDocument size - - - - Initializes a new instance of the class. - - index number - byte data - offset into byte data - - - - Perform whatever activities need to be performed prior to - writing - - - - Update the size of the property's data - - - - Gets or sets the document. - - the associated POIFSDocument - - - - Determines whether this instance is directory. - - - true if this instance is directory; otherwise, false. - - - - - Constants used by Properties namespace - - - - - Convert raw data blocks to an array of Property's - - The blocks to be converted - the converted List of Property objects. May contain - nulls, but will not be null - - - Default constructor - - - reading constructor (used when we've read in a file and we want - to extract the property table from it). Populates the - properties thoroughly - - @param startBlock the first block of the property table - @param blockList the list of blocks - - @exception IOException if anything goes wrong (which should be - a result of the input being NFG) - - - Prepare to be written Leon - - - Write the storage to an Stream - - @param stream the Stream to which the stored data should - be written - - @exception IOException on problems writing to the specified - stream - - - Return the number of BigBlock's this instance uses - - @return count of BigBlock instances - - - - Initializes a new instance of the class. - - index number - byte data - offset into byte data - - - - Gets or sets the size of the document associated with this Property - - the size of the document, in bytes - - - - A block of block allocation table entries. BATBlocks are created - only through a static factory method: createBATBlocks. - @author Marc Johnson (mjohnson at apache dot org) - - - - - Abstract base class of all POIFS block storage classes. All - extensions of BigBlock should write 512 bytes of data when - requested to write their data. - This class has package scope, as there is no reason at this time to - make the class public. - @author Marc Johnson (mjohnson at apache dot org) - - - - - Default implementation of write for extending classes that - contain their data in a simple array of bytes. - - the OutputStream to which the data should be written. - the byte array of to be written. - - - - Write the block's data to an OutputStream - - the OutputStream to which the stored data should be written - - - - Write the storage to an OutputStream - - the OutputStream to which the stored data should be written - - - For a regular fat block, these are 128 / 1024 - next sector values. - For a XFat (DIFat) block, these are 127 / 1023 - next sector values, then a chaining value. - - - Does this BATBlock have any free sectors in it? - - - Where in the file are we? - - - - Create a single instance initialized with default values - - - - Create a single instance initialized (perhaps partially) with entries - - @param entries the array of block allocation table entries - @param start_index the index of the first entry to be written - to the block - @param end_index the index, plus one, of the last entry to be - written to the block (writing is for all index - k, start_index <= k < end_index) - - - Create a single BATBlock from the byte buffer, which must hold at least - one big block of data to be read. - - - ** - - - - Create an array of BATBlocks from an array of int block - allocation table entries - - the poifs bigBlockSize - the array of int entries - the newly created array of BATBlocks - - - - Create an array of XBATBlocks from an array of int block - allocation table entries - - - the array of int entries - the start block of the array of XBAT blocks - the newly created array of BATBlocks - - - - Calculate how many BATBlocks are needed to hold a specified - number of BAT entries. - - the number of entries - the number of BATBlocks needed - - - - Calculate how many XBATBlocks are needed to hold a specified - number of BAT entries. - - the number of entries - the number of XBATBlocks needed - - - Calculates the maximum size of a file which is addressable given the - number of FAT (BAT) sectors specified. (We don't care if those BAT - blocks come from the 109 in the header, or from header + XBATS, it - won't affect the calculation) - - The actual file size will be between [size of fatCount-1 blocks] and - [size of fatCount blocks]. - For 512 byte block sizes, this means we may over-estimate by up to 65kb. - For 4096 byte block sizes, this means we may over-estimate by up to 4mb - - - - Create a single instance initialized (perhaps partially) with entries - - the array of block allocation table entries - the index of the first entry to be written - to the block - the index, plus one, of the last entry to be - written to the block (writing is for all index - k, start_index less than k less than end_index) - - - - - Write the block's data to an Stream - - the Stream to which the stored data should - be written - - - - Gets the entries per block. - - The number of entries per block - - - - Gets the entries per XBAT block. - - number of entries per XBAT block - - - - Gets the XBAT chain offset. - - offset of chain index of XBAT block - - - Does this BATBlock have any free sectors in it, or - is it full? - - - Retrieve where in the file we live - - - - This class manages and creates the Block Allocation Table, which is - basically a set of linked lists of block indices. - Each block of the filesystem has an index. The first block, the - header, is skipped; the first block after the header is index 0, - the next is index 1, and so on. - A block's index is also its index into the Block Allocation - Table. The entry that it finds in the Block Allocation Table is the - index of the next block in the linked list of blocks making up a - file, or it is set to -2: end of list. - - @author Marc Johnson (mjohnson at apache dot org) - - - - - create a BlockAllocationTableReader for an existing filesystem. Side - effect: when this method finishes, the BAT blocks will have - been Removed from the raw block list, and any blocks labeled as - 'unused' in the block allocation table will also have been - Removed from the raw block list. - the poifs bigBlockSize - the number of BAT blocks making up the block allocation table - the array of BAT block indices from the - filesystem's header - the number of XBAT blocks - the index of the first XBAT block - the list of RawDataBlocks - - - - create a BlockAllocationTableReader from an array of raw data blocks - - - the raw data - the list holding the managed blocks - - - - Initializes a new instance of the class. - - - - - walk the entries from a specified point and return the - associated blocks. The associated blocks are Removed from the block list - - the first block in the chain - - the raw data block list - array of ListManagedBlocks, in their correct order - - - - determine whether the block specified by index is used or not - - determine whether the block specified by index is used or not - - true if the specified block is used; otherwise, false. - - - - - return the next block index - - The index of the current block - index of the next block (may be - POIFSConstants.END_OF_CHAIN, indicating end of chain - (duh)) - - - - Convert an array of blocks into a Set of integer indices - - the array of blocks containing the indices - the list of blocks being managed. Unused - blocks will be eliminated from the list - - - - This class manages and creates the Block Allocation Table, which is - basically a set of linked lists of block indices. - Each block of the filesystem has an index. The first block, the - header, is skipped; the first block after the header is index 0, - the next is index 1, and so on. - A block's index is also its index into the Block Allocation - Table. The entry that it finds in the Block Allocation Table is the - index of the next block in the linked list of blocks making up a - file, or it is set to -2: end of list. - * - @author Marc Johnson (mjohnson at apache dot org) - - - - - Initializes a new instance of the class. - - - - - Create the BATBlocks we need - - start block index of BAT blocks - - - - Allocate space for a block of indices - - the number of blocks to allocate space for - the starting index of the blocks - - - - create the BATBlocks - - - - - Write the storage to an OutputStream - - the OutputStream to which the stored data should be written - - - - Sets the start block for this instance - - - index into the array of BigBlock instances making up the the filesystem - - - - - Gets the number of BigBlock's this instance uses - - count of BigBlock instances - - - - Interface for lists of blocks that are mapped by block allocation - tables - @author Marc Johnson (mjohnson at apache dot org) - - - - - remove the specified block from the list - - the index of the specified block; if the index is - out of range, that's ok - - - - Remove and return the specified block from the list - - the index of the specified block - the specified block - - - - get the blocks making up a particular stream in the list. The - blocks are removed from the list. - - the index of the first block in the stream - - the stream as an array of correctly ordered blocks - - - - set the associated BlockAllocationTable - - the associated BlockAllocationTable - - - - Initializes a new instance of the class. - - - - - provide blocks to manage - - blocks to be managed - - - - remove the specified block from the list - - the index of the specified block; if the index is - out of range, that's ok - - - - Remove and return the specified block from the list - - the index of the specified block - the specified block - - - - get the blocks making up a particular stream in the list. The - blocks are removed from the list. - - the index of the first block in the stream - - - the stream as an array of correctly ordered blocks - - - - - set the associated BlockAllocationTable - - the associated BlockAllocationTable - - - Wraps a byte array and provides simple data input access. - Internally, this class maintains a buffer read index, so that for the most part, primitive - data can be read in a data-input-stream-like manner.

- - Note - the calling class should call the {@link #available()} method to detect end-of-buffer - and Move to the next data block when the current is exhausted. - For optimisation reasons, no error handling is performed in this class. Thus, mistakes in - calling code ran may raise ugly exceptions here, like {@link ArrayIndexOutOfBoundsException}, - etc .

- - The multi-byte primitive input methods ({@link #readUshortLE()}, {@link #readIntLE()} and - {@link #readLongLE()}) have corresponding 'spanning Read' methods which (when required) perform - a read across the block boundary. These spanning read methods take the previous - {@link DataInputBlock} as a parameter. - Reads of larger amounts of data (into byte array buffers) must be managed by the caller - since these could conceivably involve more than two blocks. - - @author Josh Micich - - - Possibly any size (usually 512K or 64K). Assumed to be at least 8 bytes for all blocks - before the end of the stream. The last block in the stream can be any size except zero. - - - Reads a short which was encoded in little endian format. - - - Reads a short which spans the end of prevBlock and the start of this block. - - - Reads an int which was encoded in little endian format. - - - Reads an int which spans the end of prevBlock and the start of this block. - - - Reads a long which was encoded in little endian format. - - - Reads a long which spans the end of prevBlock and the start of this block. - - - Reads a small amount of data from across the boundary between two blocks. - The {@link #_readIndex} of this (the second) block is updated accordingly. - Note- this method (and other code) assumes that the second {@link DataInputBlock} - always is big enough to complete the read without being exhausted. - - - Reads len bytes from this block into the supplied buffer. - - -

- create a document block from a raw data block - - The block. -
- - - Create a single instance initialized with data. - - the InputStream delivering the data. - the poifs bigBlockSize - - - - convert a single long array into an array of DocumentBlock - instances - - the poifs bigBlockSize - the byte array to be converted - the intended size of the array (which may be smaller) - an array of DocumentBlock instances, filled from the - input array - - - - Read data from an array of DocumentBlocks - - the blocks to Read from - the buffer to Write the data into - the offset into the array of blocks to Read from - - - - Write the storage to an OutputStream - - the OutputStream to which the stored data should - be written - - - - Get the number of bytes Read for this block. - - bytes Read into the block - - - - Was this a partially Read block? - - true if the block was only partially filled with data - - - - Gets the fill byte used - - The fill byte. - - - - The block containing the archive header - @author Marc Johnson (mjohnson at apache dot org) - - - - What big block Size the file uses. Most files - use 512 bytes, but a few use 4096 - - - Number of small block allocation table blocks (int) - (Number of MiniFAT Sectors in Microsoft parlance) - - - - create a new HeaderBlockReader from an Stream - - the source Stream - - - - Alerts the short read. - - The read. - expected size to read - - - - Get start of Property Table - - the index of the first block of the Property Table - - - - Gets start of small block allocation table - - The SBAT start. - - - - Gets number of BAT blocks - - The BAT count. - - - - Gets the BAT array. - - The BAT array. - - - - Gets the XBAT count. - - The XBAT count. - @return XBAT count - - - - Gets the index of the XBAT. - - The index of the XBAT. - - - - Gets The Big Block Size, normally 512 bytes, sometimes 4096 bytes - - The size of the big block. - @return - - - - The block containing the archive header - @author Marc Johnson (mjohnson at apache dot org) - - - - - Set BAT block parameters. Assumes that all BAT blocks are - contiguous. Will construct XBAT blocks if necessary and return - the array of newly constructed XBAT blocks. - - count of BAT blocks - index of first BAT block - array of XBAT blocks; may be zero Length, will not be - null - - - - For a given number of BAT blocks, calculate how many XBAT - blocks will be needed - - - number of BAT blocks - number of XBAT blocks needed - - - - Write the block's data to an Stream - - the Stream to which the stored data should - be written - - - - - Set start of Property Table - - the index of the first block of the Property - Table - - - - Set start of small block allocation table - - the index of the first big block of the small - block allocation table - - - - Set count of SBAT blocks - - the number of SBAT blocks - - - - An interface for blocks managed by a list that works with a - BlockAllocationTable to keep block sequences straight - @author Marc Johnson (mjohnson at apache dot org - - - - - Get the data from the block - - the block's data as a byte array - - - - A block of Property instances - @author Marc Johnson (mjohnson at apache dot org) - - - - - Create a single instance initialized with default values - - - the properties to be inserted - the offset into the properties array - - - - Create an array of PropertyBlocks from an array of Property - instances, creating empty Property instances to make up any - shortfall - - - the Property instances to be converted into PropertyBlocks, in a java List - the array of newly created PropertyBlock instances - - - - Write the block's data to an OutputStream - - the OutputStream to which the stored data should be written - - - - A big block created from an InputStream, holding the raw data - @author Marc Johnson (mjohnson at apache dot org - - - - - Constructor RawDataBlock - - the Stream from which the data will be read - - - - Initializes a new instance of the class. - - the Stream from which the data will be read - the size of the POIFS blocks, normally 512 bytes {@link POIFSConstants#BIG_BLOCK_SIZE} - - - - When we read the data, did we hit end of file? - - true if the EoF was hit during this block, or; otherwise, falseif not. If you have a dodgy short last block, then - it's possible to both have data, and also hit EoF... - - - - Did we actually find any data to read? It's possible, - in the event of a short last block, to both have hit - the EoF, but also to have data - - true if this instance has data; otherwise, false. - - - - Get the data from the block - - the block's data as a byte array - - - - A list of RawDataBlocks instances, and methods to manage the list - @author Marc Johnson (mjohnson at apache dot org - - - - - Initializes a new instance of the class. - - the InputStream from which the data will be read - The big block size, either 512 bytes or 4096 bytes - - - - This class implements reading the small document block list from an - existing file - @author Marc Johnson (mjohnson at apache dot org) - - - - - fetch the small document block list from an existing file - - the poifs bigBlockSize - the raw data from which the small block table will be extracted - the root property (which contains the start block and small block table size) - the start block of the SBAT - the small document block list - - - - This class implements reading the small document block list from an - existing file - @author Marc Johnson (mjohnson at apache dot org) - - - - - Initializes a new instance of the class. - - the poifs bigBlockSize - a IList of POIFSDocument instances - the Filesystem's root property - - - - Write the storage to an OutputStream - - the OutputStream to which the stored data should be written - - - - Get the number of SBAT blocks - - number of SBAT big blocks - - - - Gets the SBAT. - - the Small Block Allocation Table - - - - Return the number of BigBlock's this instance uses - - count of BigBlock instances - - - - Sets the start block. - - The start block. - - - - Storage for documents that are too small to use regular - DocumentBlocks for their data - @author Marc Johnson (mjohnson at apache dot org) - - - - - convert a single long array into an array of SmallDocumentBlock - instances - - the poifs bigBlockSize - the byte array to be converted - the intended size of the array (which may be smaller) - an array of SmallDocumentBlock instances, filled from - the array - - - - fill out a List of SmallDocumentBlocks so that it fully occupies - a Set of big blocks - - - the List to be filled out. - number of big blocks the list encompasses - - - - Factory for creating SmallDocumentBlocks from DocumentBlocks - - - the original DocumentBlocks - the total document size - an array of new SmallDocumentBlocks instances - - - - create a list of SmallDocumentBlock's from raw data - - - the raw data containing the SmallDocumentBlock - a List of SmallDocumentBlock's extracted from the input - - - - Read data from an array of SmallDocumentBlocks - - the blocks to Read from. - the buffer to Write the data into. - the offset into the array of blocks to Read from - - - - Calculate the storage size of a Set of SmallDocumentBlocks - - number of SmallDocumentBlocks - total size - - - - Makes the empty small document block. - - - - - - Converts to block count. - - The size. - - - - - Write the storage to an OutputStream - - the OutputStream to which the stored data should - be written - - - - Get the data from the block - - the block's data as a byte array - - - - A list of SmallDocumentBlocks instances, and methods to manage the list - @author Marc Johnson (mjohnson at apache dot org) - - - - - Initializes a new instance of the class. - - a list of SmallDocumentBlock instances - - - - Various utility functions that make working with a cells and rows easier. The various - methods that deal with style's allow you to Create your HSSFCellStyles as you need them. - When you apply a style change to a cell, the code will attempt to see if a style already - exists that meets your needs. If not, then it will Create a new style. This is to prevent - creating too many styles. there is an upper limit in Excel on the number of styles that - can be supported. - @author Eric Pugh epugh@upstate.com - - - - - Get a row from the spreadsheet, and Create it if it doesn't exist. - - The 0 based row number - The sheet that the row is part of. - The row indicated by the rowCounter - - - - Get a specific cell from a row. If the cell doesn't exist, - - The row that the cell is part of - The column index that the cell is in. - The cell indicated by the column. - - - - Creates a cell, gives it a value, and applies a style if provided - - the row to Create the cell in - the column index to Create the cell in - The value of the cell - If the style is not null, then Set - A new HSSFCell - - - - Create a cell, and give it a value. - - the row to Create the cell in - the column index to Create the cell in - The value of the cell - A new HSSFCell. - - - - Translate color palette entries from the source to the destination sheet - - - - - Take a cell, and align it. - - the cell to Set the alignment for - The workbook that is being worked with. - the column alignment to use. - - - - Take a cell, and apply a font to it - - the cell to Set the alignment for - The workbook that is being worked with. - The HSSFFont that you want to Set... - - - This method attempt to find an already existing HSSFCellStyle that matches - what you want the style to be. If it does not find the style, then it - Creates a new one. If it does Create a new one, then it applies the - propertyName and propertyValue to the style. This is necessary because - Excel has an upper limit on the number of Styles that it supports. - - @param workbook The workbook that is being worked with. - @param propertyName The name of the property that is to be - changed. - @param propertyValue The value of the property that is to be - changed. - @param cell The cell that needs it's style changes - @exception NestableException Thrown if an error happens. - - - - Returns a map containing the format properties of the given cell style. - - cell style - map of format properties (String -> Object) - - - - Sets the format properties of the given style based on the given map. - - The cell style - The parent workbook. - The map of format properties (String -> Object). - - - - Utility method that returns the named short value form the given map. - Returns zero if the property does not exist, or is not a {@link Short}. - - The map of named properties (String -> Object) - The property name. - property value, or zero - - - - Utility method that returns the named boolean value form the given map. - Returns false if the property does not exist, or is not a {@link Boolean}. - - map of properties (String -> Object) - The property name. - property value, or false - - - - Utility method that Puts the named short value to the given map. - - The map of properties (String -> Object). - The property name. - The property value. - - - - Utility method that Puts the named boolean value to the given map. - - map of properties (String -> Object) - property name - property value - - - - Looks for text in the cell that should be unicode, like alpha; and provides the - unicode version of it. - - The cell to check for unicode values - transalted to unicode - - - - Various utility functions that make working with a region of cells easier. - @author Eric Pugh epugh@upstate.com - - - - - Sets the left border for a region of cells by manipulating the cell style - of the individual cells on the left - - The new border - The region that should have the border - The sheet that the region is on. - The workbook that the region is on. - - - - Sets the leftBorderColor attribute of the HSSFRegionUtil object - - The color of the border - The region that should have the border - The sheet that the region is on. - The workbook that the region is on. - - - - Sets the borderRight attribute of the HSSFRegionUtil object - - The new border - The region that should have the border - The sheet that the region is on. - The workbook that the region is on. - - - - Sets the rightBorderColor attribute of the HSSFRegionUtil object - - The color of the border - The region that should have the border - The workbook that the region is on. - The sheet that the region is on. - - - - Sets the borderBottom attribute of the HSSFRegionUtil object - - The new border - The region that should have the border - The sheet that the region is on. - The workbook that the region is on. - - - - Sets the bottomBorderColor attribute of the HSSFRegionUtil object - - The color of the border - The region that should have the border - The sheet that the region is on. - The workbook that the region is on. - - - - Sets the borderBottom attribute of the HSSFRegionUtil object - - The new border - The region that should have the border - The sheet that the region is on. - The workbook that the region is on. - - - - Sets the topBorderColor attribute of the HSSFRegionUtil object - - The color of the border - The region that should have the border - The sheet that the region is on. - The workbook that the region is on. - - - - For setting the same property on many cells to the same value - - - - Translates Graphics calls into escher calls. The translation Is lossy so - many features are not supported and some just aren't implemented yet. If - in doubt test the specific calls you wish to make. Graphics calls are - always performed into an EscherGroup so one will need to be Created. - - Important: -
- One important concept worth considering Is that of font size. One of the - difficulties in Converting Graphics calls into escher Drawing calls Is that - Excel does not have the concept of absolute pixel positions. It measures - it's cell widths in 'Chars' and the cell heights in points. - Unfortunately it's not defined exactly what a type of Char it's - measuring. Presumably this Is due to the fact that the Excel will be - using different fonts on different platforms or even within the same - platform. - - Because of this constraint we've had to calculate the - verticalPointsPerPixel. This the amount the font should be scaled by when - you Issue commands such as DrawString(). A good way to calculate this - Is to use the follow formula: - -
-                  multipler = GroupHeightInPoints / heightOfGroup
-             
- - The height of the Group Is calculated fairly simply by calculating the - difference between the y coordinates of the bounding box of the shape. The - height of the Group can be calculated by using a convenience called - HSSFClientAnchor.GetAnchorHeightInPoints(). -
- - @author Glen Stampoultzis (glens at apache.org) -
- - Construct an escher graphics object. - - @param escherGroup The escher Group to Write the graphics calls into. - @param workbook The workbook we are using. - @param forecolor The foreground color to use as default. - @param verticalPointsPerPixel The font multiplier. (See class description for information on how this works.). - - - Constructs an escher graphics object. - - @param escherGroup The escher Group to Write the graphics calls into. - @param workbook The workbook we are using. - @param foreground The foreground color to use as default. - @param verticalPointsPerPixel The font multiplier. (See class description for information on how this works.). - @param font The font to use. - - - Fills a (closed) polygon, as defined by a pair of arrays, which - hold the x and y coordinates. - - This Draws the polygon, with nPoint line segments. - The first nPoint - 1 line segments are - Drawn between sequential points - (xPoints[i],yPoints[i],xPoints[i+1],yPoints[i+1]). - The line segment Is a closing one, from the last point to - the first (assuming they are different). - - The area inside of the polygon Is defined by using an - even-odd Fill rule (also known as the alternating rule), and - the area inside of it Is Filled. - @param xPoints array of the x coordinates. - @param yPoints array of the y coordinates. - @param nPoints the total number of points in the polygon. - @see java.awt.Graphics#DrawPolygon(int[], int[], int) - - - Instances of this class keep track of multiple dependent cell evaluations due - to recursive calls to HSSFFormulaEvaluator.internalEvaluate(). - The main purpose of this class Is to detect an attempt to evaluate a cell - that Is alReady being evaluated. In other words, it detects circular - references in spReadsheet formulas. - - @author Josh Micich - - - Notifies this evaluation tracker that evaluation of the specified cell Is - about to start.
- - In the case of a true return code, the caller should - continue evaluation of the specified cell, and also be sure to call - endEvaluate() when complete.
- - In the case of a false return code, the caller should - return an evaluation result of - ErrorEval.CIRCULAR_REF_ERROR, and not call endEvaluate(). -
- @return true if the specified cell has not been visited yet in the current - evaluation. false if the specified cell Is alReady being evaluated. -
- - Notifies this evaluation tracker that the evaluation of the specified - cell Is complete.

- - Every successful call to startEvaluate must be followed by a - call to endEvaluate (recommended in a finally block) to enable - proper tracking of which cells are being evaluated at any point in time.

- - Assuming a well behaved client, parameters to this method would not be - required. However, they have been included to assert correct behaviour, - and form more meaningful error messages. - - - Stores the parameters that identify the evaluation of one cell.
-
- - @return human Readable string for debug purposes - - - This class makes an EvaluationCycleDetector instance available to - each thRead via a ThReadLocal in order to avoid Adding a parameter - to a few protected methods within HSSFFormulaEvaluator. - - @author Josh Micich - - - @return - - -

- Stores width and height details about a font. - @author Glen Stampoultzis (glens at apache.org) - -
- - - Construct the font details with the given name and height. - - The font name. - The height of the font. - - - - Gets the name of the font. - - - - - - Gets the height. - - - - - - Adds the char. - - The c. - The width. - - - - Retrieves the width of the specified Char. If the metrics for - a particular Char are not available it defaults to returning the - width for the 'W' Char. - - The character. - - - - - Adds the chars. - - The chars. - The widths. - - - - Builds the font height property. - - Name of the font. - - - - - Builds the font widths property. - - Name of the font. - - - - - Builds the font chars property. - - Name of the font. - - - - - Create an instance of - FontDetails - by loading them from the - provided property object. - - the font name. - the property object holding the details of this - particular font. - a new FontDetails instance. - - - - Gets the width of all Chars in a string. - - The string to measure. - The width of the string for a 10 point font. - - - - Split the given string into an array of strings using the given - delimiter. - - The text. - The separator. - The max. - - - - - Common class for HSSFHeader and HSSFFooter - - - - - Common interface for NPOI.SS.UserModel.Header and NPOI.SS.UserModel.Footer - - - - - Gets or sets the left side of the header or footer. - - The string representing the left side. - - - - Gets or sets the center of the header or footer. - - The string representing the center. - - - - Gets or sets the right side of the header or footer. - - The string representing the right side. - - - - Creates the complete footer string based on the left, center, and middle - strings. - - The parts. - - - - Sets the header footer text. - - the new header footer text (contains mark-up tags). Possibly - empty string never - - - - Returns the string that represents the change in font size. - - the new font size. - The special string to represent a new font size - - - - Returns the string that represents the change in font. - - the new font. - the fonts style, one of regular, italic, bold, italic bold or bold italic. - The special string to represent a new font size - - - - Removes any fields (eg macros, page markers etc) - from the string. - Normally used to make some text suitable for showing - to humans, and the resultant text should not normally - be saved back into the document! - - The text. - - - - @return the internal text representation (combining center, left and right parts). - Possibly empty string if no header or footer is set. Never null. - - - - Get the left side of the header or footer. - - The string representing the left side. - - - - Get the center of the header or footer. - - The string representing the center. - - - - Get the right side of the header or footer. - - The string representing the right side.. - - - - Returns the string representing the current page number - - The special string for page number. - - - - Returns the string representing the number of pages. - - The special string for the number of pages. - - - - Returns the string representing the current date - - The special string for the date - - - - Gets the time. - - The time. - Returns the string representing the current time - @return The special string for the time - - - - Returns the string representing the current file name - - The special string for the file name. - - - - Returns the string representing the current tab (sheet) name - - The special string for tab name. - - - - Returns the string representing the start bold - - The special string for start bold - - - - Returns the string representing the end bold - - The special string for end bold. - - - - Returns the string representing the start underline - - The special string for start underline. - - - - Returns the string representing the end underline - - The special string for end underline. - - - - Returns the string representing the start double underline - - The special string for start double underline. - - - - Returns the string representing the end double underline - - The special string for end double underline. - - - - Are fields currently being Stripped from - the text that this {@link HeaderStories} returns? - Default is false, but can be changed - - true if [are fields stripped]; otherwise, false. - - - - Represents a special field in a header or footer, - eg the page number - - - - The character sequence that marks this field - - - - A special field that normally comes in a pair, eg - turn on underline / turn off underline - - - - - Instance to this class. - - - - - Explicit static constructor to tell C# compiler not to mark type as beforefieldinit. - - - - - Initialize AllFields. - - - - - Accessing the initialized instance. - - - - - An anchor Is what specifics the position of a shape within a client object - or within another containing shape. - @author Glen Stampoultzis (glens at apache.org) - - - - - Initializes a new instance of the class. - - The DX1. - The dy1. - The DX2. - The dy2. - - - - Gets or sets the DX1. - - The DX1. - - - - Gets or sets the dy1. - - The dy1. - - - - Gets or sets the dy2. - - The dy2. - - - - Gets or sets the DX2. - - The DX2. - - - - Gets a value indicating whether this instance is horizontally flipped. - - - true if this instance is horizontally flipped; otherwise, false. - - - - - Gets a value indicating whether this instance is vertically flipped. - - - true if this instance is vertically flipped; otherwise, false. - - - - Represents autofiltering for the specified worksheet. - -

- Filtering data is a quick and easy way to find and work with a subset of data in a range of cells or table. - For example, you can filter to see only the values that you specify, filter to see the top or bottom values, - or filter to quickly see duplicate values. -

- - TODO YK: For now (Aug 2010) POI only supports Setting a basic autofilter on a range of cells. - In future, when we support more auto-filter functions like custom criteria, sort, etc. we will add - corresponding methods to this interface. -
- - High level representation for Border Formatting component - of Conditional Formatting Settings - - @author Dmitriy Kumshayev - - - - @author Dmitriy Kumshayev - @author Yegor Kozlov - - - - High level representation of a cell in a row of a spReadsheet. - Cells can be numeric, formula-based or string-based (text). The cell type - specifies this. String cells cannot conatin numbers and numeric cells cannot - contain strings (at least according to our model). Client apps should do the - conversions themselves. Formula cells have the formula string, as well as - the formula result, which can be numeric or string. - Cells should have their number (0 based) before being Added to a row. Only - cells that have values should be Added. - - - @author Andrew C. Oliver (acoliver at apache dot org) - @author Dan Sherman (dsherman at Isisph.com) - @author Brian Sanders (kestrel at burdell dot org) Active Cell support - @author Yegor Kozlov cell comments support - - - - High level representation of a cell in a row of a spreadsheet. -

- Cells can be numeric, formula-based or string-based (text). The cell type - specifies this. String cells cannot conatin numbers and numeric cells cannot - contain strings (at least according to our model). Client apps should do the - conversions themselves. Formula cells have the formula string, as well as - the formula result, which can be numeric or string. -

-

- Cells should have their number (0 based) before being Added to a row. -

-
- - - Set the cells type (numeric, formula or string) - - - - - - Set a numeric value for the cell - - the numeric value to set this cell to. For formulas we'll set the - precalculated value, for numerics we'll set its value. For other types we will change - the cell to a numeric cell and set its value. - - - - - Set a error value for the cell - - the error value to set this cell to. For formulas we'll set the - precalculated value , for errors we'll set its value. For other types we will change - the cell to an error cell and set its value. - - - - - Converts the supplied date to its equivalent Excel numeric value and Sets that into the cell. - - the numeric value to set this cell to. For formulas we'll set the - precalculated value, for numerics we'll set its value. For other types we will change - the cell to a numerics cell and set its value. - - - - - Set a rich string value for the cell. - - value to set the cell to. For formulas we'll set the formula - string, for String cells we'll set its value. For other types we will - change the cell to a string cell and set its value. - If value is null then we will change the cell to a Blank cell. - - - - - Set a string value for the cell. - - value to set the cell to. For formulas we'll set the formula - string, for String cells we'll set its value. For other types we will - change the cell to a string cell and set its value. - If value is null then we will change the cell to a blank cell. - - - - - Copy the cell to the target index. If the target cell exists, a new cell will be inserted before the existing cell. - - target index - the new copied cell object - - - - Sets formula for this cell. - - the formula to Set, e.g. "SUM(C4:E4)". - - - - Set a bool value for the cell - - - - - - Sets this cell as the active cell for the worksheet - - - - - Removes the comment for this cell, if there is one. - - - - - Removes the hyperlink for this cell, if there is one. - - - - - zero-based column index of a column in a sheet. - - - - - zero-based row index of a row in the sheet that contains this cell - - - - - the sheet this cell belongs to - - - - - the row this cell belongs to - - - - - Set the cells type (numeric, formula or string) - -

If the cell currently contains a value, the value will - be converted to match the new type, if possible. Formatting - is generally lost in the process however.

-

If what you want to do is get a String value for your - numeric cell, stop!. This is not the way to do it. - Instead, for fetching the string value of a numeric or boolean - or date cell, use {@link DataFormatter} instead.

-
- - - Only valid for formula cells - - - - - Return a formula for the cell - - if the cell type returned by GetCellType() is not CELL_TYPE_FORMULA - - - - Get the value of the cell as a number. - - if the cell type returned by GetCellType() is CELL_TYPE_STRING - if the cell value isn't a parsable double - - - - Get the value of the cell as a date. - - if the cell type returned by GetCellType() is CELL_TYPE_STRING - if the cell value isn't a parsable double - - - - Get the value of the cell RichTextString - - - - - Get the value of the cell as an error code. - - - - - Get the value of the cell as a string - - - - - Get the value of the cell as a bool. - - - - - Return the cell's style. - - - - - comment associated with this cell - - - - - hyperlink associated with this cell - - - - - Only valid for array formula cells - - range of the array formula group that the cell belongs to. - - - - if this cell is part of group of cells having a common array formula. - - - - - Creates new Cell - Should only be called by HSSFRow. This Creates a cell - from scratch. - When the cell is initially Created it is Set to CellType.Blank. Cell types - can be Changed/overwritten by calling SetCellValue with the appropriate - type as a parameter although conversions from one type to another may be - prohibited. - - Workbook record of the workbook containing this cell - Sheet record of the sheet containing this cell - the row of this cell - the column for this cell - - - - Creates new Cell - Should only be called by HSSFRow. This Creates a cell - from scratch. - - Workbook record of the workbook containing this cell - Sheet record of the sheet containing this cell - the row of this cell - the column for this cell - CellType.Numeric, CellType.String, CellType.Formula, CellType.Blank, - CellType.Boolean, CellType.Error - - - - Creates an Cell from a CellValueRecordInterface. HSSFSheet uses this when - reading in cells from an existing sheet. - - Workbook record of the workbook containing this cell - Sheet record of the sheet containing this cell - the Cell Value Record we wish to represent - - - private constructor to prevent blank construction - - - used internally -- given a cell value record, figure out its type - - - - Set the cells type (numeric, formula or string) - - Type of the cell. - - - - Sets the cell type. The SetValue flag indicates whether to bother about - trying to preserve the current value in the new record if one is Created. - The SetCellValue method will call this method with false in SetValue - since it will overWrite the cell value later - - Type of the cell. - if set to true [set value]. - The row. - The col. - Index of the style. - - - - Set a numeric value for the cell - - the numeric value to Set this cell to. For formulas we'll Set the - precalculated value, for numerics we'll Set its value. For other types we - will Change the cell to a numeric cell and Set its value. - - - - Set a date value for the cell. Excel treats dates as numeric so you will need to format the cell as - a date. - - the date value to Set this cell to. For formulas we'll Set the - precalculated value, for numerics we'll Set its value. For other types we - will Change the cell to a numeric cell and Set its value. - - - - Set a string value for the cell. Please note that if you are using - full 16 bit Unicode you should call SetEncoding() first. - - value to Set the cell to. For formulas we'll Set the formula - string, for String cells we'll Set its value. For other types we will - Change the cell to a string cell and Set its value. - If value is null then we will Change the cell to a Blank cell. - - - set a error value for the cell - - @param errorCode the error value to set this cell to. For formulas we'll set the - precalculated value , for errors we'll set - its value. For other types we will change the cell to an error - cell and set its value. - - - - Set a string value for the cell. Please note that if you are using - full 16 bit Unicode you should call SetEncoding() first. - - value to Set the cell to. For formulas we'll Set the formula - string, for String cells we'll Set its value. For other types we will - Change the cell to a string cell and Set its value. - If value is null then we will Change the cell to a Blank cell. - - - Should be called any time that a formula could potentially be deleted. - Does nothing if this cell currently does not hold a formula - - - - Used to help format error messages - - The cell type code. - - - - - Types the mismatch. - - The expected type code. - The actual type code. - if set to true [is formula cell]. - - - - - Checks the type of the formula cached value. - - The expected type code. - The fr. - - - - Set a bool value for the cell - - the bool value to Set this cell to. For formulas we'll Set the - precalculated value, for bools we'll Set its value. For other types we - will Change the cell to a bool cell and Set its value. - - - - Chooses a new bool value for the cell when its type is changing. - Usually the caller is calling SetCellType() with the intention of calling - SetCellValue(bool) straight afterwards. This method only exists to give - the cell a somewhat reasonable value until the SetCellValue() call (if at all). - TODO - perhaps a method like SetCellTypeAndValue(int, Object) should be introduced to avoid this - - - - - Applying a user-defined style (UDS) is special. Excel does not directly reference user-defined styles, but - instead create a 'proxy' ExtendedFormatRecord referencing the UDS as parent. - - The proceudre to apply a UDS is as follows: - - 1. search for a ExtendedFormatRecord with parentIndex == style.getIndex() - and xfType == ExtendedFormatRecord.XF_CELL. - 2. if not found then create a new ExtendedFormatRecord and copy all attributes from the user-defined style - and set the parentIndex to be style.getIndex() - 3. return the index of the ExtendedFormatRecord, this will be assigned to the parent cell record - - @param style the user style to apply - - @return the index of a ExtendedFormatRecord record that will be referenced by the cell - - - - Checks the bounds. - - The cell num. - if the bounds are exceeded. - - - - Sets this cell as the active cell for the worksheet - - - - - Returns a string representation of the cell - This method returns a simple representation, - anthing more complex should be in user code, with - knowledge of the semantics of the sheet being Processed. - Formula cells return the formula string, - rather than the formula result. - Dates are Displayed in dd-MMM-yyyy format - Errors are Displayed as #ERR<errIdx> - - - - - Removes the comment for this cell, if - there is one. - - WARNING - some versions of excel will loose - all comments after performing this action! - - - Updates the cell record's idea of what - column it belongs in (0 based) - @param num the new cell number - - - - Removes the hyperlink for this cell, if there is one. - - - - - The purpose of this method is to validate the cell state prior to modification - - - - - - Called when this cell is modified. - The purpose of this method is to validate the cell state prior to modification. - - - - - the Workbook that this Cell is bound to - - - - - the HSSFRow this cell belongs to - - - - - Get the cells type (numeric, formula or string) - - The type of the cell. - - - - Gets or sets the cell formula. - - The cell formula. - - - - Get the value of the cell as a number. For strings we throw an exception. - For blank cells we return a 0. - - The numeric cell value. - - - - Get the value of the cell as a date. For strings we throw an exception. - For blank cells we return a null. - - The date cell value. - - - - Get the value of the cell as a string - for numeric cells we throw an exception. - For blank cells we return an empty string. - For formulaCells that are not string Formulas, we return empty String - - The string cell value. - - - - Get the value of the cell as a string - for numeric cells we throw an exception. - For blank cells we return an empty string. - For formulaCells that are not string Formulas, we return empty String - - The rich string cell value. - - - - Get the value of the cell as a bool. For strings, numbers, and errors, we throw an exception. - For blank cells we return a false. - - true if [boolean cell value]; otherwise, false. - - - - Get the value of the cell as an error code. For strings, numbers, and bools, we throw an exception. - For blank cells we return a 0. - - The error cell value. - - - - Get the style for the cell. This is a reference to a cell style contained in the workbook - object. - - The cell style. - - - - Should only be used by HSSFSheet and friends. Returns the low level CellValueRecordInterface record - - the cell via the low level api. - - - - Returns comment associated with this cell - - The cell comment associated with this cell. - - - - Gets the index of the column. - - The index of the column. - - - - Gets the (zero based) index of the row containing this cell - - The index of the row. - - - - Get or set hyperlink associated with this cell - If the supplied hyperlink is null on setting, the hyperlink for this cell will be removed. - - The hyperlink associated with this cell or null if not found - - - - Only valid for formula cells - - one of (CellType.Numeric,CellType.String, CellType.Boolean, CellType.Error) depending - on the cached value of the formula - - - - High level representation of the style of a cell in a sheet of a workbook. - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - - - - Get the format string - - - set the font for this style - @param font a font object Created or retreived from the Workbook object - @see Workbook#CreateFont() - @see Workbook#GetFontAt(short) - - - Clones all the style information from another - CellStyle, onto this one. This - CellStyle will then have all the same - properties as the source, but the two may - be edited independently. - Any stylings on this CellStyle will be lost! - - The source CellStyle could be from another - Workbook if you like. This allows you to - copy styles from one Workbook to another. - - However, both of the CellStyles will need - to be of the same type (HSSFCellStyle or - XSSFCellStyle) - - - - the Cell should be auto-sized to shrink to fit if the text is too long - - - - get the index within the Workbook (sequence within the collection of ExtnededFormat objects) - @return unique index number of the underlying record this style represents (probably you don't care - unless you're comparing which one is which) - - - get the index of the format - @see DataFormat - - - Gets the index of the font for this style - @see Workbook#GetFontAt(short) - - - get whether the cell's using this style are to be hidden - @return hidden - whether the cell using this style should be hidden - - - get whether the cell's using this style are to be locked - @return hidden - whether the cell using this style should be locked - - - get the type of horizontal alignment for the cell - @return align - the type of alignment - @see #ALIGN_GENERAL - @see #ALIGN_LEFT - @see #ALIGN_CENTER - @see #ALIGN_RIGHT - @see #ALIGN_FILL - @see #ALIGN_JUSTIFY - @see #ALIGN_CENTER_SELECTION - - - get whether the text should be wrapped - @return wrap text or not - - - get the type of vertical alignment for the cell - @return align the type of alignment - @see #VERTICAL_TOP - @see #VERTICAL_CENTER - @see #VERTICAL_BOTTOM - @see #VERTICAL_JUSTIFY - - - get the degree of rotation for the text in the cell - @return rotation degrees (between -90 and 90 degrees) - - - get the number of spaces to indent the text in the cell - @return indent - number of spaces - - - get the type of border to use for the left border of the cell - @return border type - @see #BORDER_NONE - @see #BORDER_THIN - @see #BORDER_MEDIUM - @see #BORDER_DASHED - @see #BORDER_DOTTED - @see #BORDER_THICK - @see #BORDER_DOUBLE - @see #BORDER_HAIR - @see #BORDER_MEDIUM_DASHED - @see #BORDER_DASH_DOT - @see #BORDER_MEDIUM_DASH_DOT - @see #BORDER_DASH_DOT_DOT - @see #BORDER_MEDIUM_DASH_DOT_DOT - @see #BORDER_SLANTED_DASH_DOT - - - get the type of border to use for the right border of the cell - @return border type - @see #BORDER_NONE - @see #BORDER_THIN - @see #BORDER_MEDIUM - @see #BORDER_DASHED - @see #BORDER_DOTTED - @see #BORDER_THICK - @see #BORDER_DOUBLE - @see #BORDER_HAIR - @see #BORDER_MEDIUM_DASHED - @see #BORDER_DASH_DOT - @see #BORDER_MEDIUM_DASH_DOT - @see #BORDER_DASH_DOT_DOT - @see #BORDER_MEDIUM_DASH_DOT_DOT - @see #BORDER_SLANTED_DASH_DOT - - - get the type of border to use for the top border of the cell - @return border type - @see #BORDER_NONE - @see #BORDER_THIN - @see #BORDER_MEDIUM - @see #BORDER_DASHED - @see #BORDER_DOTTED - @see #BORDER_THICK - @see #BORDER_DOUBLE - @see #BORDER_HAIR - @see #BORDER_MEDIUM_DASHED - @see #BORDER_DASH_DOT - @see #BORDER_MEDIUM_DASH_DOT - @see #BORDER_DASH_DOT_DOT - @see #BORDER_MEDIUM_DASH_DOT_DOT - @see #BORDER_SLANTED_DASH_DOT - - - get the type of border to use for the bottom border of the cell - @return border type - @see #BORDER_NONE - @see #BORDER_THIN - @see #BORDER_MEDIUM - @see #BORDER_DASHED - @see #BORDER_DOTTED - @see #BORDER_THICK - @see #BORDER_DOUBLE - @see #BORDER_HAIR - @see #BORDER_MEDIUM_DASHED - @see #BORDER_DASH_DOT - @see #BORDER_MEDIUM_DASH_DOT - @see #BORDER_DASH_DOT_DOT - @see #BORDER_MEDIUM_DASH_DOT_DOT - @see #BORDER_SLANTED_DASH_DOT - - - get the color to use for the left border - - - get the color to use for the left border - @return the index of the color defInition - - - get the color to use for the top border - @return hhe index of the color defInition - - - get the color to use for the left border - @return the index of the color defInition - - - get the fill pattern (??) - set to 1 to fill with foreground color - @return fill pattern - - - get the background fill color - @return fill color - - - get the foreground fill color - @return fill color - - - - Gets or sets the color to use for the diagional border - - The index of the color definition. - - - - Gets or sets the line type to use for the diagional border - - The line type. - - - - Gets or sets the type of diagional border - . - The border diagional type. - - - Gets the color object representing the current - background fill, resolving indexes using - the supplied workbook. - This will work for both indexed and rgb - defined colors. - - - Gets the color object representing the current - foreground fill, resolving indexes using - the supplied workbook. - This will work for both indexed and rgb - defined colors. - - - - Initializes a new instance of the class. - - The index. - The record. - The workbook. - - - - Initializes a new instance of the class. - - The index. - The record. - The workbook. - - - - Get the contents of the format string, by looking up - the DataFormat against the bound workbook - - - - - - Get the contents of the format string, by looking up the DataFormat against the supplied workbook - - The workbook - the format string or "General" if not found - - - - Get the contents of the format string, by looking up - the DataFormat against the supplied workbook - - The internal workbook. - - - - - Set the font for this style - - a font object Created or retreived from the HSSFWorkbook object - - - - Gets the font for this style - - The parent workbook that this style belongs to. - - - - - Verifies that this style belongs to the supplied Workbook. - Will throw an exception if it belongs to a different one. - This is normally called when trying to assign a style to a - cell, to ensure the cell and the style are from the same - workbook (if they're not, it won't work) - - The workbook. - - - - Checks if the background and foreground Fills are Set correctly when one - or the other is Set to the default color. - Works like the logic table below: - BACKGROUND FOREGROUND - NONE AUTOMATIC - 0x41 0x40 - NONE RED/ANYTHING - 0x40 0xSOMETHING - - - - Clones all the style information from another - HSSFCellStyle, onto this one. This - HSSFCellStyle will then have all the same - properties as the source, but the two may - be edited independently. - Any stylings on this HSSFCellStyle will be lost! - - The source HSSFCellStyle could be from another - HSSFWorkbook if you like. This allows you to - copy styles from one HSSFWorkbook to another. - - - - Clones all the style information from another - HSSFCellStyle, onto this one. This - HSSFCellStyle will then have all the same - properties as the source, but the two may - be edited independently. - Any stylings on this HSSFCellStyle will be lost! - The source HSSFCellStyle could be from another - HSSFWorkbook if you like. This allows you to - copy styles from one HSSFWorkbook to another. - - The source. - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - The parameter is null. - - - - - Get the index within the HSSFWorkbook (sequence within the collection of ExtnededFormat objects) - - Unique index number of the Underlying record this style represents (probably you don't care - Unless you're comparing which one is which) - - - - Gets the parent style. - - the parent style for this cell style. - In most cases this will be null, but in a few - cases there'll be a fully defined parent. - - - - Get the index of the format - - The data format. - - - - Gets the index of the font for this style. - - The index of the font. - - - - Get whether the cell's using this style are to be hidden - - whether the cell using this style should be hidden - - - - Get whether the cell's using this style are to be locked - - whether the cell using this style should be locked - - - - Get the type of horizontal alignment for the cell - - the type of alignment - - - - Gets or sets a value indicating whether the text should be wrapped - - true if [wrap text]; otherwise, false. - - - - Gets or sets the vertical alignment for the cell. - - the type of alignment - - - - Gets or sets the degree of rotation for the text in the cell - - The rotation degrees (between -90 and 90 degrees). - - - - Gets or sets the number of spaces to indent the text in the cell - - number of spaces - - - - Gets or sets the type of border to use for the left border of the cell - - The border type. - - - - Gets or sets the type of border to use for the right border of the cell - - The border type. - - - - Gets or sets the type of border to use for the top border of the cell - - The border type. - - - - Gets or sets the type of border to use for the bottom border of the cell - - The border type. - - - - Gets or sets the color to use for the left border - - The index of the color definition - - - - Gets or sets the color to use for the left border. - - The index of the color definition - - - - Gets or sets the color to use for the top border - - The index of the color definition. - - - - Gets or sets the color to use for the left border - - The index of the color definition. - - - - Gets or sets the color to use for the diagional border - - The index of the color definition. - - - - Gets or sets the line type to use for the diagional border - - The line type. - - - - Gets or sets the type of diagional border - . - The border diagional type. - - - - Gets or sets whether the cell is shrink-to-fit - - - - Get or set the reading order, for RTL/LTR ordering of - the text. -

0 means Context (Default), 1 means Left To Right, - and 2 means Right to Left

- - @return order - the reading order (0,1,2) -
- - - Gets or sets the fill pattern. - Set to 1 to Fill with foreground color - - The fill pattern. - - - - Gets or sets the color of the fill background. - - The color of the fill background. - Set the background Fill color. - - cs.SetFillPattern(HSSFCellStyle.FINE_DOTS ); - cs.SetFillBackgroundColor(new HSSFColor.RED().Index); - optionally a Foreground and background Fill can be applied: - Note: Ensure Foreground color is Set prior to background - cs.SetFillPattern(HSSFCellStyle.FINE_DOTS ); - cs.SetFillForegroundColor(new HSSFColor.BLUE().Index); - cs.SetFillBackgroundColor(new HSSFColor.RED().Index); - or, for the special case of SOLID_Fill: - cs.SetFillPattern(HSSFCellStyle.SOLID_FOREGROUND ); - cs.SetFillForegroundColor(new HSSFColor.RED().Index); - It is necessary to Set the Fill style in order - for the color to be shown in the cell. - - - - - Gets or sets the foreground Fill color - - Fill color. - @see org.apache.poi.hssf.usermodel.HSSFPalette#GetColor(short) - - - Gets the name of the user defined style. - Returns null for built in styles, and - styles where no name has been defined - - - create anchor from existing file - @param escherChildAnchorRecord - - - create anchor from scratch - @param dx1 x coordinate of the left up corner - @param dy1 y coordinate of the left up corner - @param dx2 x coordinate of the right down corner - @param dy2 y coordinate of the right down corner - - - @param dx1 x coordinate of the left up corner - @param dy1 y coordinate of the left up corner - @param dx2 x coordinate of the right down corner - @param dy2 y coordinate of the right down corner - - - - A client anchor Is attached to an excel worksheet. It anchors against a - top-left and buttom-right cell. - @author Glen Stampoultzis (glens at apache.org) - - - - A client anchor is attached to an excel worksheet. It anchors against a - top-left and bottom-right cell. - - @author Yegor Kozlov - - - Returns the column (0 based) of the first cell. - - @return 0-based column of the first cell. - - - Returns the column (0 based) of the second cell. - - @return 0-based column of the second cell. - - - Returns the row (0 based) of the first cell. - - @return 0-based row of the first cell. - - - Returns the row (0 based) of the second cell. - - @return 0-based row of the second cell. - - - Returns the x coordinate within the first cell - - @return the x coordinate within the first cell - - - Returns the y coordinate within the first cell - - @return the y coordinate within the first cell - - - Sets the y coordinate within the second cell - - @return the y coordinate within the second cell - - - Returns the x coordinate within the second cell - - @return the x coordinate within the second cell - - - s the anchor type -

- 0 = Move and size with Cells, 2 = Move but don't size with cells, 3 = Don't move or size with cells. -

- @return the anchor type - @see #MOVE_AND_RESIZE - @see #MOVE_DONT_RESIZE - @see #DONT_MOVE_AND_RESIZE -
- - - Creates a new client anchor and defaults all the anchor positions to 0. - - - - - Creates a new client anchor and Sets the top-left and bottom-right - coordinates of the anchor. - - Note: Microsoft Excel seems to sometimes disallow - higher y1 than y2 or higher x1 than x2 in the anchor, you might need to - reverse them and draw shapes vertically or horizontally flipped! - - the x coordinate within the first cell. - the y coordinate within the first cell. - the x coordinate within the second cell. - the y coordinate within the second cell. - the column (0 based) of the first cell. - the row (0 based) of the first cell. - the column (0 based) of the second cell. - the row (0 based) of the second cell. - - - - Calculates the height of a client anchor in points. - - the sheet the anchor will be attached to - the shape height. - - - - Gets the row height in points. - - The sheet. - The row num. - - - - - Sets the top-left and bottom-right - coordinates of the anchor - - Note: Microsoft Excel seems to sometimes disallow - higher y1 than y2 or higher x1 than x2 in the anchor, you might need to - reverse them and draw shapes vertically or horizontally flipped! - - the column (0 based) of the first cell. - the row (0 based) of the first cell. - the x coordinate within the first cell. - the y coordinate within the first cell. - the column (0 based) of the second cell. - the row (0 based) of the second cell. - the x coordinate within the second cell. - the y coordinate within the second cell. - - - - Checks the range. - - The value. - The min range. - The max range. - Name of the variable. - - - - Gets or sets the col1. - - The col1. - - - - Gets or sets the col2. - - The col2. - - - - Gets or sets the row1. - - The row1. - - - - Gets or sets the row2. - - The row2. - - - - Gets a value indicating whether this instance is horizontally flipped. - - - true if the anchor goes from right to left; otherwise, false. - - - - - Gets a value indicating whether this instance is vertically flipped. - - - true if the anchor goes from bottom to top.; otherwise, false. - - - - - Gets the anchor type - 0 = Move and size with Cells, 2 = Move but don't size with cells, 3 = Don't move or size with cells. - - The type of the anchor. - - - - Represents a cell comment - a sticky note associated with a cell. - @author Yegor Kozlov - - - - - A textbox Is a shape that may hold a rich text string. - @author Glen Stampoultzis (glens at apache.org) - - - - - Construct a new textbox with the given parent and anchor. - - The parent. - One of HSSFClientAnchor or HSSFChildAnchor - - - - Gets or sets the left margin within the textbox. - - The margin left. - - - - Gets or sets the right margin within the textbox. - - The margin right. - - - - Gets or sets the top margin within the textbox - - The top margin. - - - - Gets or sets the bottom margin within the textbox. - - The margin bottom. - - - - Gets or sets the horizontal alignment. - - The horizontal alignment. - - - - Gets or sets the vertical alignment. - - The vertical alignment. - - - Sets whether this comment is visible. - - @return true if the comment is visible, false otherwise - - - Return the row of the cell that Contains the comment - - @return the 0-based row of the cell that Contains the comment - - - Return the column of the cell that Contains the comment - - @return the 0-based column of the cell that Contains the comment - - - Name of the original comment author - - @return the name of the original author of the comment - - - Fetches the rich text string of the comment - - - Return defines position of this anchor in the sheet. - - @return defines position of this anchor in the sheet - - - - Construct a new comment with the given parent and anchor. - - - defines position of this anchor in the sheet - - - - Initializes a new instance of the class. - - The note. - The txo. - - - - Gets or sets a value indicating whether this is visible. - - true if visible; otherwise, false. - Sets whether this comment Is visible. - @return - true - if the comment Is visible, - false - otherwise - - - - Gets or sets the row of the cell that Contains the comment - - the 0-based row of the cell that Contains the comment - - - - Gets or sets the column of the cell that Contains the comment - - the 0-based column of the cell that Contains the comment - - - - Gets or sets the name of the original comment author - - the name of the original author of the comment - - - - Gets the note record. - - the underlying Note record. - - - Do we know which cell this comment belongs to? - - - - HSSFConditionalFormatting class encapsulates all Settings of Conditional Formatting. - The class can be used to make a copy HSSFConditionalFormatting Settings - - - HSSFConditionalFormatting cf = sheet.GetConditionalFormattingAt(index); - newSheet.AddConditionalFormatting(cf); - or to modify existing Conditional Formatting Settings (formatting regions and/or rules). - Use {@link HSSFSheet#GetConditionalFormattingAt(int)} to Get access to an instance of this class. - To Create a new Conditional Formatting Set use the following approach: - - // Define a Conditional Formatting rule, which triggers formatting - // when cell's value Is greater or equal than 100.0 and - // applies patternFormatting defined below. - HSSFConditionalFormattingRule rule = sheet.CreateConditionalFormattingRule( - ComparisonOperator.GE, - "100.0", // 1st formula - null // 2nd formula Is not used for comparison operator GE - ); - // Create pattern with red background - HSSFPatternFormatting patternFmt = rule.cretePatternFormatting(); - patternFormatting.SetFillBackgroundColor(HSSFColor.RED.index); - // Define a region containing first column - Region [] regions = - { - new Region(1,(short)1,-1,(short)1) - }; - // Apply Conditional Formatting rule defined above to the regions - sheet.AddConditionalFormatting(regions, rule); - - @author Dmitriy Kumshayev - - - The ConditionalFormatting class encapsulates all Settings of Conditional Formatting. - - The class can be used - -
    -
  • - to make a copy ConditionalFormatting Settings. -
  • - - - For example: -
    -             ConditionalFormatting cf = sheet.GetConditionalFormattingAt(index);
    -             newSheet.AddConditionalFormatting(cf);
    -             
    - -
  • - or to modify existing Conditional Formatting Settings (formatting regions and/or rules). -
  • -
- - Use {@link NPOI.HSSF.UserModel.Sheet#getSheetConditionalFormatting()} to Get access to an instance of this class. - - To create a new Conditional Formatting Set use the following approach: - -
-            
-             // Define a Conditional Formatting rule, which triggers formatting
-             // when cell's value is greater or equal than 100.0 and
-             // applies patternFormatting defined below.
-             ConditionalFormattingRule rule = sheet.CreateConditionalFormattingRule(
-                 ComparisonOperator.GE,
-                 "100.0", // 1st formula
-                 null     // 2nd formula is not used for comparison operator GE
-             );
-            
-             // Create pattern with red background
-             PatternFormatting patternFmt = rule.CretePatternFormatting();
-             patternFormatting.FillBackgroundColor(IndexedColor.RED.Index);
-            
-             // Define a region Containing first column
-             Region [] regions =
-             {
-                 new Region(1,(short)1,-1,(short)1)
-             };
-            
-             // Apply Conditional Formatting rule defined above to the regions
-             sheet.AddConditionalFormatting(regions, rule);
-             
- - @author Dmitriy Kumshayev - @author Yegor Kozlov -
- - @return array of CellRangeAddresss. Never null - - - Replaces an existing Conditional Formatting rule at position idx. - Excel allows to create up to 3 Conditional Formatting rules. - This method can be useful to modify existing Conditional Formatting rules. - - @param idx position of the rule. Should be between 0 and 2. - @param cfRule - Conditional Formatting rule - - - Add a Conditional Formatting rule. - Excel allows to create up to 3 Conditional Formatting rules. - - @param cfRule - Conditional Formatting rule - - - @return the Conditional Formatting rule at position idx. - - - @return number of Conditional Formatting rules. - - - - Initializes a new instance of the class. - - The workbook. - The cf aggregate. - - - - Gets the array of Regions - - - - - - Gets array of CellRangeAddresses - - - - - - Replaces an existing Conditional Formatting rule at position idx. - Excel allows to Create up to 3 Conditional Formatting rules. - This method can be useful to modify existing Conditional Formatting rules. - - position of the rule. Should be between 0 and 2. - Conditional Formatting rule - - - - Add a Conditional Formatting rule. - Excel allows to Create up to 3 Conditional Formatting rules. - - Conditional Formatting rule - - - - Gets the Conditional Formatting rule at position idx - - The index. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Gets the CF records aggregate. - - - - - - Gets the number of Conditional Formatting rules. - - The number of rules. - - - - High level representation of Conditional Formatting Rule. - It allows to specify formula based conditions for the Conditional Formatting - and the formatting Settings such as font, border and pattern. - - @author Dmitriy Kumshayev - - - Represents a description of a conditional formatting rule - - @author Dmitriy Kumshayev - @author Yegor Kozlov - - - Create a new border formatting structure if it does not exist, - otherwise just return existing object. - - @return - border formatting object, never returns null. - - - @return - border formatting object if defined, null otherwise - - - Create a new font formatting structure if it does not exist, - otherwise just return existing object. - - @return - font formatting object, never returns null. - - - @return - font formatting object if defined, null otherwise - - - Create a new pattern formatting structure if it does not exist, - otherwise just return existing object. - - @return - pattern formatting object, never returns null. - - - @return - pattern formatting object if defined, null otherwise - - - Type of conditional formatting rule. -

- MUST be either {@link #CONDITION_TYPE_CELL_VALUE_IS} or {@link #CONDITION_TYPE_FORMULA} -

- - @return the type of condition -
- - The comparison function used when the type of conditional formatting is Set to - {@link #CONDITION_TYPE_CELL_VALUE_IS} -

- MUST be a constant from {@link ComparisonOperator} -

- - @return the conditional format operator -
- - The formula used to Evaluate the first operand for the conditional formatting rule. -

- If the condition type is {@link #CONDITION_TYPE_CELL_VALUE_IS}, - this field is the first operand of the comparison. - If type is {@link #CONDITION_TYPE_FORMULA}, this formula is used - to determine if the conditional formatting is applied. -

-

- If comparison type is {@link #CONDITION_TYPE_FORMULA} the formula MUST be a Boolean function -

- - @return the first formula -
- - The formula used to Evaluate the second operand of the comparison when - comparison type is {@link #CONDITION_TYPE_CELL_VALUE_IS} and operator - is either {@link ComparisonOperator#BETWEEN} or {@link ComparisonOperator#NOT_BETWEEN} - - @return the second formula - - - @return - font formatting object if defined, null otherwise - - - Create a new font formatting structure if it does not exist, - otherwise just return existing object. - @return - font formatting object, never returns null. - - - @return - border formatting object if defined, null otherwise - - - Create a new border formatting structure if it does not exist, - otherwise just return existing object. - @return - border formatting object, never returns null. - - - @return - pattern formatting object if defined, null otherwise - - - Create a new pattern formatting structure if it does not exist, - otherwise just return existing object. - @return - pattern formatting object, never returns null. - - - @return - the conditiontype for the cfrule - - - @return - the comparisionoperatation for the cfrule - - - An object that handles instantiating concrete - classes of the various instances one needs for - HSSF and XSSF. - Works around a major shortcoming in Java, where we - can't have static methods on interfaces or abstract - classes. - This allows you to get the appropriate class for - a given interface, without you having to worry - about if you're dealing with HSSF or XSSF, despite - Java being quite rubbish. - - - Creates a new RichTextString instance - @param text The text to Initialise the RichTextString with - - - Creates a new DataFormat instance - - - Creates a new Hyperlink, of the given type - - - Creates FormulaEvaluator - an object that Evaluates formula cells. - - @return a FormulaEvaluator instance - - - Creates a HSSFFormulaEvaluator, the object that Evaluates formula cells. - - @return a HSSFFormulaEvaluator instance - - - Creates a HSSFClientAnchor. Use this object to position drawing object in a sheet - - @return a HSSFClientAnchor instance - @see NPOI.SS.usermodel.Drawing - - - get the format index that matches the given format string. - Creates a new format if one is not found. Aliases text to the proper format. - @param format string matching a built in format - @return index of format. - - - get the format string that matches the given format index - @param index of a format - @return string represented at index of format or null if there is not a format at that index - - - The first user-defined format starts at 164. - - - - Construncts a new data formatter. It takes a workbook to have - access to the workbooks format records. - - the workbook the formats are tied to. - - - - Get the format index that matches the given format string - Automatically Converts "text" to excel's format string to represent text. - - The format string matching a built in format. - index of format or -1 if Undefined. - - - - Get the format index that matches the given format - string, creating a new format entry if required. - Aliases text to the proper format as required. - - The format string matching a built in format. - index of format. - - - - Get the format string that matches the given format index - - The index of a format. - string represented at index of format or null if there Is not a format at that index - - - - Get the format string that matches the given format index - - The index of a built in format. - string represented at index of format or null if there Is not a builtin format at that index - - - Ensures that the formats list can hold entries - up to and including the entry with this index - - - - Get the number of builtin and reserved builtinFormats - - number of builtin and reserved builtinFormats - - - - HSSF wrapper for a cell under evaluation - @author Josh Micich - - - - HSSF wrapper for a sheet under evaluation - - @author Josh Micich - - - Internal POI use only - - @author Josh Micich - - - Abstracts a workbook for the purpose of converting formula To text.
- - For POI internal use only - - @author Josh Micich -
- - @return null if externSheetIndex refers To a sheet inside the current workbook - - - @return the name of the (first) sheet referred to by the given external sheet index - - - @return the name of the (last) sheet referred to by the given external sheet index - - - Abstracts a workbook for the purpose of formula parsing.
- - For POI internal use only - - @author Josh Micich -
- - - named range name matching is case insensitive - - The name. - Index of the sheet. - - - - - Gets the name XPTG. - - The name. - - - - - - Produce the appropriate Ptg for a 3d cell reference - - - - - - - - Produce the appropriate Ptg for a 3d area reference - - - - - - - - Gets the externSheet index for a sheet from this workbook - - Name of the sheet. - - - - - Gets the externSheet index for a sheet from an external workbook - - Name of the workbook, e.g. "BudGet.xls" - a name of a sheet in that workbook - - - - - Returns an enum holding spReadhseet properties specific to an Excel version ( - max column and row numbers, max arguments to a function, etc.) - - - - - Abstracts a name record for formula evaluation.
- - For POI internal use only - - @author Josh Micich -
- - - Represents a Font used in a workbook. - @version 1.0-pre - @author Andrew C. Oliver - - - - get the name for the font (i.e. Arial) - @return String representing the name of the font to use - - - get the font height in unit's of 1/20th of a point. Maybe you might want to - use the GetFontHeightInPoints which matches to the familiar 10, 12, 14 etc.. - @return short - height in 1/20ths of a point - @see #GetFontHeightInPoints() - - - get the font height - @return short - height in the familiar unit of measure - points - @see #GetFontHeight() - - - get whether to use italics or not - @return italics or not - - - get whether to use a strikeout horizontal line through the text or not - @return strikeout or not - - - get the color for the font - @return color to use - @see #COLOR_NORMAL - @see #COLOR_RED - @see NPOI.HSSF.usermodel.HSSFPalette#GetColor(short) - - - get normal,super or subscript. - @return offset type to use (none,super,sub) - - - get type of text underlining to use - @return underlining type - - - get character-set to use. - @return character-set - @see #ANSI_CHARSET - @see #DEFAULT_CHARSET - @see #SYMBOL_CHARSET - - - get the index within the XSSFWorkbook (sequence within the collection of Font objects) - - @return unique index number of the underlying record this Font represents (probably you don't care - unless you're comparing which one is which) - - - - Initializes a new instance of the class. - - The index. - The record. - - - - get the color value for the font - - HSSFWorkbook - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - The parameter is null. - - - - - Get the name for the font (i.e. Arial) - - the name of the font to use - - - - Get the index within the HSSFWorkbook (sequence within the collection of Font objects) - - Unique index number of the Underlying record this Font represents (probably you don't care - Unless you're comparing which one is which) - - - - Get or sets the font height in Unit's of 1/20th of a point. Maybe you might want to - use the GetFontHeightInPoints which matches to the familiar 10, 12, 14 etc.. - - height in 1/20ths of a point. - - - - Gets or sets the font height in points. - - height in the familiar Unit of measure - points. - - - - Gets or sets whether to use italics or not - - true if this instance is italic; otherwise, false. - - - - Get whether to use a strikeout horizontal line through the text or not - - - strikeout or not - - - - - Gets or sets the color for the font. - - The color to use. - - - - Gets or sets the boldness to use - - The boldweight. - - - get or set if the font bold style - - - - Gets or sets normal,base or subscript. - - offset type to use (none,base,sub) - - - - Gets or sets the type of text Underlining to use - - The Underlining type. - - - - Gets or sets the char set to use. - - The char set. - - - High level representation for Font Formatting component - of Conditional Formatting Settings - - @author Dmitriy Kumshayev - - - - High level representation for Font Formatting component - of Conditional Formatting Settings - - @author Dmitriy Kumshayev - @author Yegor Kozlov - - - Set font style options. - - @param italic - if true, Set posture style to italic, otherwise to normal - @param bold if true, Set font weight to bold, otherwise to normal - - - Set font style options to default values (non-italic, non-bold) - - - - get or set the type of super or subscript for the font - - - - - get or set font color index - - - - - get or set the height of the font in 1/20th point units - - - - - get or set the type of underlining for the font - - - - Get whether the font weight is Set to bold or not - - @return bold - whether the font is bold or not - - - @return true if font style was Set to italic - - - @return - @see org.apache.poi.hssf.record.cf.FontFormatting#GetRawRecord() - - - Set font style options. - - @param italic - if true, Set posture style to italic, otherwise to normal - @param bold- if true, Set font weight to bold, otherwise to normal - - - Set font style options to default values (non-italic, non-bold) - - - Get the type of base or subscript for the font - - @return base or subscript option - - - @return font color index - - - Gets the height of the font in 1/20th point Units - - @return fontheight (in points/20); or -1 if not modified - - - Get the font weight for this font (100-1000dec or 0x64-0x3e8). Default Is - 0x190 for normal and 0x2bc for bold - - @return bw - a number between 100-1000 for the fonts "boldness" - - - Get the type of Underlining for the font - - @return font Underlining type - - @see #U_NONE - @see #U_SINGLE - @see #U_DOUBLE - @see #U_SINGLE_ACCOUNTING - @see #U_DOUBLE_ACCOUNTING - - - Get whether the font weight Is Set to bold or not - - @return bold - whether the font Is bold or not - - - @return true if escapement type was modified from default - - - @return true if font cancellation was modified from default - - - @return true if font outline type was modified from default - - - @return true if font shadow type was modified from default - - - @return true if font style was modified from default - - - @return true if font style was Set to italic - - - @return true if font outline Is on - - - @return true if font shadow Is on - - - @return true if font strikeout Is on - - - @return true if font Underline type was modified from default - - - @return true if font weight was modified from default - - - - Class to Read and manipulate the footer. - The footer works by having a left, center, and right side. The total cannot - be more that 255 bytes long. One uses this class by Getting the HSSFFooter - from HSSFSheet and then Getting or Setting the left, center, and right side. - For special things (such as page numbers and date), one can use a the methods - that return the Chars used to represent these. One can also Change the - fonts by using similar methods. - @author Shawn Laubach (slaubach at apache dot org) - - - - - Common defInition of a HSSF or XSSF page footer. - For a list of all the different fields that can be - placed into a footer, such as page number, - bold, underline etc, see - - - - - Initializes a new instance of the class. - - Footer record to create the footer with - - - - Gets the raw footer. - - The raw footer. - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - Evaluates formula cells.

- - For performance reasons, this class keeps a cache of all previously calculated intermediate - cell values. Be sure to call {@link #ClearAllCachedResultValues()} if any workbook cells are Changed between - calls to Evaluate~ methods on this class. - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - @author Josh Micich - - - Should be called whenever there are Changes to input cells in the Evaluated workbook. - Failure to call this method after changing cell values will cause incorrect behaviour - of the Evaluate~ methods of this class - - - Should be called to tell the cell value cache that the specified (value or formula) cell - has Changed. - Failure to call this method after changing cell values will cause incorrect behaviour - of the Evaluate~ methods of this class - - - Should be called to tell the cell value cache that the specified cell has just become a - formula cell, or the formula text has Changed - - - Should be called to tell the cell value cache that the specified (value or formula) cell - has changed. - Failure to call this method after changing cell values will cause incorrect behaviour - of the evaluate~ methods of this class - - - If cell Contains a formula, the formula is Evaluated and returned, - else the CellValue simply copies the appropriate cell value from - the cell and also its cell type. This method should be preferred over - EvaluateInCell() when the call should not modify the contents of the - original cell. - @param cell - - - Loops over all cells in all sheets of the associated workbook. - For cells that contain formulas, their formulas are evaluated, - and the results are saved. These cells remain as formula cells. - For cells that do not contain formulas, no changes are made. - This is a helpful wrapper around looping over all cells, and - calling evaluateFormulaCell on each one. - - - If cell Contains formula, it Evaluates the formula, - and saves the result of the formula. The cell - remains as a formula cell. - Else if cell does not contain formula, this method leaves - the cell unChanged. - Note that the type of the formula result is returned, - so you know what kind of value is also stored with - the formula. -

-            int EvaluatedCellType = Evaluator.evaluateFormulaCell(cell);
-            
- Be aware that your cell will hold both the formula, - and the result. If you want the cell Replaced with - the result of the formula, use {@link #EvaluateInCell(Cell)} - @param cell The cell to Evaluate - @return The type of the formula result, i.e. -1 if the cell is not a formula, - or one of Cell.CELL_TYPE_NUMERIC, Cell.CELL_TYPE_STRING, Cell.CELL_TYPE_BOOLEAN, Cell.CELL_TYPE_ERROR - Note: the cell's type remains as Cell.CELL_TYPE_FORMULA however. -
- - If cell Contains formula, it Evaluates the formula, and - Puts the formula result back into the cell, in place - of the old formula. - Else if cell does not contain formula, this method leaves - the cell unChanged. - Note that the same instance of Cell is returned to - allow chained calls like: -
-            int EvaluatedCellType = Evaluator.evaluateInCell(cell).getCellType();
-            
- Be aware that your cell value will be Changed to hold the - result of the formula. If you simply want the formula - value comPuted for you, use {@link #EvaluateFormulaCell(Cell)} - @param cell -
- - Sets up the Formula Evaluator to be able to reference and resolve - links to other workbooks, eg [Test.xls]Sheet1!A1. - For a workbook referenced as [Test.xls]Sheet1!A1, you should - supply a map containing the key Test.xls (no square brackets), - and an open FormulaEvaluator onto that Workbook. - @param otherWorkbooks Map of workbook names (no square brackets) to an evaluator on that workbook - - - Whether to ignore missing references to external workbooks and - use cached formula results in the main workbook instead. -
- In some cases external workbooks referenced by formulas in the main workbook are not available. - With this method you can control how POI handles such missing references: -
    -
  • by default ignoreMissingWorkbooks=false and POI throws - {@link org.apache.poi.ss.formula.CollaboratingWorkbooksEnvironment.WorkbookNotFoundException} - if an external reference cannot be resolved
  • -
  • if ignoreMissingWorkbooks=true then POI uses cached formula result - that already exists in the main workbook
  • -
- - @param ignore whether to ignore missing references to external workbooks -
- - * Perform detailed output of formula evaluation for next evaluation only? - * Is for developer use only (also developers using POI for their XLS files). - * Log-Level WARN is for basic info, INFO for detailed information. These quite - * high levels are used because you have to explicitly enable this specific logging. - - * @param value whether to perform detailed output - - - @param stabilityClassifier used to optimise caching performance. Pass null - for the (conservative) assumption that any cell may have its definition changed after - evaluation begins. - - - @param udfFinder pass null for default (AnalysisToolPak only) - - - @param stabilityClassifier used to optimise caching performance. Pass null - for the (conservative) assumption that any cell may have its definition changed after - evaluation begins. - @param udfFinder pass null for default (AnalysisToolPak only) - - - Coordinates several formula evaluators together so that formulas that involve external - references can be evaluated. - @param workbookNames the simple file names used to identify the workbooks in formulas - with external links (for example "MyData.xls" as used in a formula "[MyData.xls]Sheet1!A1") - @param evaluators all evaluators for the full set of workbooks required by the formulas. - - - If cell Contains a formula, the formula is Evaluated and returned, - else the CellValue simply copies the appropriate cell value from - the cell and also its cell type. This method should be preferred over - EvaluateInCell() when the call should not modify the contents of the - original cell. - @param cell - If cell contains a formula, the formula is evaluated and returned, - else the CellValue simply copies the appropriate cell value from - the cell and also its cell type. This method should be preferred over - evaluateInCell() when the call should not modify the contents of the - original cell. - - @param cell may be null signifying that the cell is not present (or blank) - @return null if the supplied cell is null or blank - - - Should be called whenever there are major changes (e.g. moving sheets) to input cells - in the evaluated workbook. If performance is not critical, a single call to this method - may be used instead of many specific calls to the notify~ methods. - - Failure to call this method after changing cell values will cause incorrect behaviour - of the evaluate~ methods of this class - - - Should be called to tell the cell value cache that the specified (value or formula) cell - has changed. - Failure to call this method after changing cell values will cause incorrect behaviour - of the evaluate~ methods of this class - - - Should be called to tell the cell value cache that the specified cell has just been - deleted. - Failure to call this method after changing cell values will cause incorrect behaviour - of the evaluate~ methods of this class - - - Should be called to tell the cell value cache that the specified (value or formula) cell - has changed. - Failure to call this method after changing cell values will cause incorrect behaviour - of the evaluate~ methods of this class - - - If cell Contains formula, it Evaluates the formula, - and saves the result of the formula. The cell - remains as a formula cell. - Else if cell does not contain formula, this method leaves - the cell UnChanged. - Note that the type of the formula result is returned, - so you know what kind of value is also stored with - the formula. -
-            int EvaluatedCellType = evaluator.EvaluateFormulaCell(cell);
-            
- Be aware that your cell will hold both the formula, - and the result. If you want the cell Replaced with - the result of the formula, use {@link #EvaluateInCell(HSSFCell)} - @param cell The cell to Evaluate - @return The type of the formula result (the cell's type remains as CellType.Formula however) -
- - Returns a CellValue wrapper around the supplied ValueEval instance. - @param cell - - - If cell Contains formula, it Evaluates the formula, and - puts the formula result back into the cell, in place - of the old formula. - Else if cell does not contain formula, this method leaves - the cell UnChanged. - Note that the same instance of Cell is returned to - allow chained calls like: -
-            int EvaluatedCellType = evaluator.EvaluateInCell(cell).CellType;
-            
- Be aware that your cell value will be Changed to hold the - result of the formula. If you simply want the formula - value computed for you, use {@link #EvaluateFormulaCell(HSSFCell)} - @param cell -
- - Loops over all cells in all sheets of the supplied - workbook. - For cells that contain formulas, their formulas are - Evaluated, and the results are saved. These cells - remain as formula cells. - For cells that do not contain formulas, no Changes - are made. - This is a helpful wrapper around looping over all - cells, and calling EvaluateFormulaCell on each one. - - - Loops over all cells in all sheets of the supplied - workbook. - For cells that contain formulas, their formulas are - evaluated, and the results are saved. These cells - remain as formula cells. - For cells that do not contain formulas, no changes - are made. - This is a helpful wrapper around looping over all - cells, and calling evaluateFormulaCell on each one. - - - Whether to ignore missing references to external workbooks and - use cached formula results in the main workbook instead. -

- In some cases exetrnal workbooks referenced by formulas in the main workbook are not avaiable. - With this method you can control how POI handles such missing references: -

    -
  • by default ignoreMissingWorkbooks=false and POI throws {@link org.apache.poi.ss.formula.CollaboratingWorkbooksEnvironment.WorkbookNotFoundException} - if an external reference cannot be resolved
  • -
  • if ignoreMissingWorkbooks=true then POI uses cached formula result - that already exists in the main workbook
  • -
-

- @param ignore whether to ignore missing references to external workbooks -
- - {@inheritDoc} - - - - Class to Read and manipulate the header. - The header works by having a left, center, and right side. The total cannot - be more that 255 bytes long. One uses this class by Getting the HSSFHeader - from HSSFSheet and then Getting or Setting the left, center, and right side. - For special things (such as page numbers and date), one can use a the methods - that return the Chars used to represent these. One can also Change the - fonts by using similar methods. - @author Shawn Laubach (slaubach at apache dot org) - - - - - Common defInition of a HSSF or XSSF page header. - For a list of all the different fields that can be - placed into a header, such as page number, - bold, underline etc, see - - - - - Initializes a new instance of the class. - - Footer record to Create the footer with - - - - Gets the raw footer. - - The raw footer. - - - - Represents an Excel hyperlink. - - @author Yegor Kozlov (yegor at apache dot org) - - - - Represents an Excel hyperlink. - - - - - Hyperlink address. Depending on the hyperlink type it can be URL, e-mail, patrh to a file, etc. - - - - - text label for this hyperlink - - - - - the type of this hyperlink - - - - - the row of the first cell that Contains the hyperlink - - - - - the row of the last cell that Contains the hyperlink - - - - - the column of the first cell that Contains the hyperlink - - - - - the column of the last cell that Contains the hyperlink - - - - Low-level record object that stores the actual hyperlink data - - - If we Create a new hypelrink remember its type - - - - Initializes a new instance of the class. - - The type of hyperlink to Create. - - - - Initializes a new instance of the class. - - The record. - - - - Gets or sets the row of the first cell that Contains the hyperlink - - the 0-based row of the cell that Contains the hyperlink. - - - - Gets or sets the row of the last cell that Contains the hyperlink - - the 0-based row of the last cell that Contains the hyperlink - - - - Gets or sets the column of the first cell that Contains the hyperlink - - the 0-based column of the first cell that Contains the hyperlink - - - - Gets or sets the column of the last cell that Contains the hyperlink - - the 0-based column of the last cell that Contains the hyperlink - - - - Gets or sets Hypelink Address. Depending on the hyperlink type it can be URL, e-mail, patrh to a file, etc. - - the Address of this hyperlink - - - - Gets or sets the text mark. - - The text mark. - - - - Gets or sets the short filename. - - The short filename. - - - - Gets or sets the text label for this hyperlink - - text to Display - - - - Gets the type of this hyperlink - - the type of this hyperlink - - - - High Level Represantion of Named Range - - @author Libin Roman (Vista Portal LDT. Developer) - - - Represents a defined name for a range of cells. - A name is a meaningful shorthand that makes it easier to understand the purpose of a - cell reference, constant or a formula. - - - Indicates that the defined name refers to a user-defined function. - This attribute is used when there is an add-in or other code project associated with the file. - - @param value true indicates the name refers to a function. - - - Get the sheets name which this named range is referenced to - - @return sheet name, which this named range refered to - - - Gets the name of the named range - - @return named range name - - - Returns the formula that the name is defined to refer to. - - @return the reference for this name, null if it has not been set yet. Never empty string - @see #SetRefersToFormula(String) - - - Checks if this name is a function name - - @return true if this name is a function name - - - Checks if this name points to a cell that no longer exists - - @return true if the name refers to a deleted cell, false otherwise - - - Returns the sheet index this name applies to. - - @return the sheet index this name applies to, -1 if this name applies to the entire workbook - - - Returns the comment the user provided when the name was Created. - - @return the user comment for this named range - - - - Creates new HSSFName - called by HSSFWorkbook to Create a sheet from - scratch. - - lowlevel Workbook object associated with the sheet. - the Name Record - - - - - Sets the NameParsedFormula structure that specifies the formula for the defined name. - - the sequence of {@link Ptg}s for the formula. - - - Indicates that the defined name refers to a user-defined function. - This attribute is used when there is an add-in or other code project associated with the file. - - @param value true indicates the name refers to a function. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Gets or sets the sheets name which this named range is referenced to - - sheet name, which this named range refered to - - - - Gets or sets the name of the named range - - named range name - - - Returns the sheet index this name applies to. - - @return the sheet index this name applies to, -1 if this name applies to the entire workbook - - - - Tests if this name points to a cell that no longer exists - - - true if the name refers to a deleted cell; otherwise, false. - - - - - Gets a value indicating whether this instance is function name. - - - true if this instance is function name; otherwise, false. - - - - Represents binary object (i.e. OLE) data stored in the file. Eg. A GIF, JPEG etc... - - @author Daniel Noll - - - - Represents a escher picture. Eg. A GIF, JPEG etc... - @author Glen Stampoultzis - @author Yegor Kozlov (yegor at apache.org) - - - - Repersents a picture in a SpreadsheetML document - - @author Yegor Kozlov - - - Reset the image to the dimension of the embedded image - - @see #resize(double, double) - - - Resize the image proportionally. - - - - Resize the image. -

- Please note, that this method works correctly only for workbooks - with the default font size (Arial 10pt for .xls and Calibri 11pt for .xlsx). - If the default font is changed the resized image can be streched vertically or horizontally. -

-

- resize(1.0,1.0) keeps the original size,
- resize(0.5,0.5) resize to 50% of the original,
- resize(2.0,2.0) resizes to 200% of the original.
- resize({@link Double#MAX_VALUE},{@link Double#MAX_VALUE}) resizes to the dimension of the embedded image. -

- - @param scaleX the amount by which the image width is multiplied relative to the original width. - @param scaleY the amount by which the image height is multiplied relative to the original height. -
- - Calculate the preferred size for this picture. - - @return XSSFClientAnchor with the preferred size for this image - - - Calculate the preferred size for this picture. - - @param scaleX the amount by which image width is multiplied relative to the original width. - @param scaleY the amount by which image height is multiplied relative to the original height. - @return ClientAnchor with the preferred size for this image - - - Return the dimension of the embedded image in pixel - - @return image dimension in pixels - - - Return picture data for this picture - - @return picture data for this picture - - - @return the anchor that is used by this picture - - - - Constructs a picture object. - - The parent. - The anchor. - - - - Reset the image to the dimension of the embedded image - - - Please note, that this method works correctly only for workbooks - with default font size (Arial 10pt for .xls). - If the default font is changed the resized image can be streched vertically or horizontally. - - - - - Resize the image proportionally. - - scale - - - - Resize the image -

- Please note, that this method works correctly only for workbooks - with default font size (Arial 10pt for .xls). - If the default font is changed the resized image can be streched vertically or horizontally. -

-

- resize(1.0,1.0) keeps the original size,
- resize(0.5,0.5) resize to 50% of the original,
- resize(2.0,2.0) resizes to 200% of the original.
- resize({@link Double#MAX_VALUE},{@link Double#MAX_VALUE}) resizes to the dimension of the embedded image. -

- - @param scaleX the amount by which the image width is multiplied relative to the original width. - @param scaleY the amount by which the image height is multiplied relative to the original height. -
- - Calculate the preferred size for this picture. - - @param scale the amount by which image dimensions are multiplied relative to the original size. - @return HSSFClientAnchor with the preferred size for this image - @since POI 3.0.2 - - - - Calculate the preferred size for this picture. - - the amount by which image width is multiplied relative to the original width. - the amount by which image height is multiplied relative to the original height. - HSSFClientAnchor with the preferred size for this image - - - - Calculate the preferred size for this picture. - - HSSFClientAnchor with the preferred size for this image - - - - The metadata of PNG and JPEG can contain the width of a pixel in millimeters. - Return the the "effective" dpi calculated as - 25.4/HorizontalPixelSize - and - 25.4/VerticalPixelSize - . Where 25.4 is the number of mm in inch. - - The image. - the resolution - - - - Return the dimension of the embedded image in pixel - - image dimension - - - - Gets or sets the index of the picture. - - The index of the picture. - - - Return picture data for this shape - - @return picture data for this shape - - - The color applied to the lines of this shape. - - - @return the anchor that is used by this picture. - - - @return the sheet which contains the picture shape - - - Reference to the filesystem root, required for retrieving the object data. - - - Gets the object data. Only call for ones that have - data though. See {@link #hasDirectoryEntry()} - - @return the object data as an OLE2 directory. - @ if there was an error Reading the data. - - - Returns the data portion, for an ObjectData - that doesn't have an associated POIFS Directory - Entry - - - Does this ObjectData have an associated POIFS - Directory Entry? - (Not all do, those that don't have a data portion) - - - Finds the EmbeddedObjectRefSubRecord, or throws an - Exception if there wasn't one - - - Returns the OLE2 Class Name of the object - - - - Excel can Get cranky if you give it files containing too - many (especially duplicate) objects, and this class can - help to avoid those. - In general, it's much better to make sure you don't - duplicate the objects in your code, as this is likely - to be much faster than creating lots and lots of - excel objects+records, only to optimise them down to - many fewer at a later stage. - However, sometimes this is too hard / tricky to do, which - is where the use of this class comes in. - - - - - Goes through the Workbook, optimising the fonts by - removing duplicate ones. - For now, only works on fonts used in HSSFCellStyle - and HSSFRichTextString. Any other font uses - (eg charts, pictures) may well end up broken! - This can be a slow operation, especially if you have - lots of cells, cell styles or rich text strings - - The workbook in which to optimise the fonts - - - - Goes through the Wokrbook, optimising the cell styles - by removing duplicate ones and ones that aren't used. - For best results, optimise the fonts via a call to - OptimiseFonts(HSSFWorkbook) first - - The workbook in which to optimise the cell styles - - - - Represents a workbook color palette. - Internally, the XLS format refers to colors using an offset into the palette - record. Thus, the first color in the palette has the index 0x8, the second - has the index 0x9, etc. through 0x40 - @author Brian Sanders (bsanders at risklabs dot com) - - - - - Retrieves the color at a given index - - the palette index, between 0x8 to 0x40 inclusive. - the color, or null if the index Is not populated - - - - Finds the first occurance of a given color - - the RGB red component, between 0 and 255 inclusive - the RGB green component, between 0 and 255 inclusive - the RGB blue component, between 0 and 255 inclusive - the color, or null if the color does not exist in this palette - - - - Finds the closest matching color in the custom palette. The - method for Finding the distance between the colors Is fairly - primative. - - The red component of the color to match. - The green component of the color to match. - The blue component of the color to match. - The closest color or null if there are no custom - colors currently defined. - - - - Sets the color at the given offset - - the palette index, between 0x8 to 0x40 inclusive - the RGB red component, between 0 and 255 inclusive - the RGB green component, between 0 and 255 inclusive - the RGB blue component, between 0 and 255 inclusive - - - - Adds a new color into an empty color slot. - - The red component - The green component - The blue component - The new custom color. - - - - user custom color - - - - Intends to provide support for the very evil index to triplet Issue and - will likely replace the color constants interface for HSSF 2.0. - This class Contains static inner class members for representing colors. - Each color has an index (for the standard palette in Excel (tm) ), - native (RGB) triplet and string triplet. The string triplet Is as the - color would be represented by Gnumeric. Having (string) this here Is a bit of a - collusion of function between HSSF and the HSSFSerializer but I think its - a reasonable one in this case. - - @author Andrew C. Oliver (acoliver at apache dot org) - @author Brian Sanders (bsanders at risklabs dot com) - full default color palette - - - Creates a new instance of HSSFColor - - - this function returns all colors in a hastable. Its not implemented as a - static member/staticly initialized because that would be dirty in a - server environment as it Is intended. This means you'll eat the time - it takes to Create it once per request but you will not hold onto it - if you have none of those requests. - - @return a hashtable containing all colors keyed by int excel-style palette indexes - - - This function returns all the Colours, stored in a Hashtable that - can be edited. No caching is performed. If you don't need to edit - the table, then call {@link #getIndexHash()} which returns a - statically cached imuatable map of colours. - - - - this function returns all colors in a hastable. Its not implemented as a - static member/staticly initialized because that would be dirty in a - server environment as it Is intended. This means you'll eat the time - it takes to Create it once per request but you will not hold onto it - if you have none of those requests. - - a hashtable containing all colors keyed by String gnumeric-like triplets - - - @return triplet representation like that in Excel - - - @return a hex string exactly like a gnumeric triplet - - - @return index to the standard palette - - - Class BLACK - - - - Class BROWN - - - - Class OLIVE_GREEN - - - - Class DARK_GREEN - - - - Class DARK_TEAL - - - - Class DARK_BLUE - - - - Class INDIGO - - - - Class GREY_80_PERCENT - - - - Class DARK_RED - - - - Class ORANGE - - - - Class DARK_YELLOW - - - - Class GREEN - - - - Class TEAL - - - - Class BLUE - - - - Class BLUE_GREY - - - - Class GREY_50_PERCENT - - - - Class RED - - - - Class LIGHT_ORANGE - - - - Class LIME - - - - Class SEA_GREEN - - - - Class AQUA - - - - Class GREY_40_PERCENT - - - - Class TURQUOISE - - - - Class SKY_BLUE - - - - Class PLUM - - - - Class GREY_25_PERCENT - - - - Class ROSE - - - - Class TAN - - - - Class LIGHT_YELLOW - - - - Class LIGHT_GREEN - - - - Class LIGHT_TURQUOISE - - - - Class PALE_BLUE - - - - Class LAVENDER - - - - Class WHITE - - - - Class CORNFLOWER_BLUE - - - Class LEMON_CHIFFON - - - Class MAROON - - - Class ORCHID - - - Class CORAL - - - Class ROYAL_BLUE - - - Class LIGHT_CORNFLOWER_BLUE - - - Special Default/Normal/Automatic color. - Note: This class Is NOT in the default HashTables returned by HSSFColor. - The index Is a special case which Is interpreted in the various SetXXXColor calls. - - @author Jason - - - - - Initializes a new instance of the class. - - The byte offset. - The colors. - - - - Initializes a new instance of the class. - - The byte offset. - The red. - The green. - The blue. - - - - Gets triplet representation like that in Excel - - - - - - Gets a hex string exactly like a gnumeric triplet - - - - - - Gets the gnumeric part. - - The color. - - - - - Gets index to the standard palette - - - - - - The patriarch is the toplevel container for shapes in a sheet. It does - little other than act as a container for other shapes and Groups. - @author Glen Stampoultzis (glens at apache.org) - - - - - An interface that indicates whether a class can contain children. - @author Glen Stampoultzis (glens at apache.org) - - - - - dd shape to the list of child records - - shape - - - - set coordinates of this group relative to the parent - - x1 - y1 - x2 - y2 - - - remove first level shapes - @param shape to be removed - @return true if shape is removed else return false - - - - Gets Any children contained by this shape. - - The children. - - - - Get the top left x coordinate of this group. - - - - - Get the top left y coordinate of this group. - - - - - Get the bottom right x coordinate of this group. - - - - - Get the bottom right y coordinate of this group. - - - - @author Yegor Kozlov - - - Creates a picture. - @param anchor the client anchor describes how this picture is - attached to the sheet. - @param pictureIndex the index of the picture in the workbook collection - of pictures. - - @return the newly created picture. - - - Creates a comment. - @param anchor the client anchor describes how this comment is attached - to the sheet. - @return the newly created comment. - - - Creates a chart. - @param anchor the client anchor describes how this chart is attached to - the sheet. - @return the newly created chart - - - Creates a new client anchor and sets the top-left and bottom-right - coordinates of the anchor. - - @param dx1 the x coordinate in EMU within the first cell. - @param dy1 the y coordinate in EMU within the first cell. - @param dx2 the x coordinate in EMU within the second cell. - @param dy2 the y coordinate in EMU within the second cell. - @param col1 the column (0 based) of the first cell. - @param row1 the row (0 based) of the first cell. - @param col2 the column (0 based) of the second cell. - @param row2 the row (0 based) of the second cell. - @return the newly created client anchor - - - The EscherAggregate we have been bound to. - (This will handle writing us out into records, - and building up our shapes from the records) - - - - Creates the patriarch. - - the sheet this patriarch is stored in. - The bound aggregate. - - - check if any shapes contain wrong data - At now(13.08.2010) check if patriarch contains 2 or more comments with same coordinates - - - @param shape to be removed - @return true of shape is removed - - - - Creates a new Group record stored Under this patriarch. - - the client anchor describes how this Group is attached - to the sheet. - the newly created Group. - - - - Creates a simple shape. This includes such shapes as lines, rectangles, - and ovals. - Note: Microsoft Excel seems to sometimes disallow - higher y1 than y2 or higher x1 than x2 in the anchor, you might need to - reverse them and draw shapes vertically or horizontally flipped! - - the client anchor describes how this Group is attached - to the sheet. - the newly created shape. - - - - Creates a picture. - - the client anchor describes how this Group is attached - to the sheet. - Index of the picture. - the newly created shape. - - - - CreatePicture - - the client anchor describes how this picture is attached to the sheet. - the index of the picture in the workbook collection of pictures. - return newly created shape - - - Adds a new OLE Package Shape - - @param anchor the client anchor describes how this picture is - attached to the sheet. - @param storageId the storageId returned by {@Link HSSFWorkbook.AddOlePackage} - @param pictureIndex the index of the picture (used as preview image) in the - workbook collection of pictures. - - @return newly Created shape - - - - Creates a polygon - - the client anchor describes how this Group is attached - to the sheet. - the newly Created shape. - - - - Constructs a textbox Under the patriarch. - - the client anchor describes how this Group is attached - to the sheet. - the newly Created textbox. - - - Constructs a cell comment. - - @param anchor the client anchor describes how this comment is attached - to the sheet. - @return the newly created comment. - - - YK: used to create autofilters - - @see org.apache.poi.hssf.usermodel.HSSFSheet#setAutoFilter(int, int, int, int) - - - - Constructs a cell comment. - - the client anchor describes how this comment is attached - to the sheet. - the newly created comment. - - - add a shape to this drawing - - - - Sets the coordinate space of this Group. All children are contrained - to these coordinates. - - The x1. - The y1. - The x2. - The y2. - - - - Does this HSSFPatriarch contain a chart? - (Technically a reference to a chart, since they - Get stored in a different block of records) - FIXME - detect chart in all cases (only seems - to work on some charts so far) - - - true if this instance contains chart; otherwise, false. - - - - - Returns the aggregate escher record we're bound to - - - - - Creates a new client anchor and sets the top-left and bottom-right - coordinates of the anchor. - - @param dx1 the x coordinate in EMU within the first cell. - @param dy1 the y coordinate in EMU within the first cell. - @param dx2 the x coordinate in EMU within the second cell. - @param dy2 the y coordinate in EMU within the second cell. - @param col1 the column (0 based) of the first cell. - @param row1 the row (0 based) of the first cell. - @param col2 the column (0 based) of the second cell. - @param row2 the row (0 based) of the second cell. - @return the newly created client anchor - - - create shape tree from existing escher records tree - - - - Returns a list of all shapes contained by the patriarch. - - The children. - - - - Total count of all children and their children's children. - - The count of all children. - - - - The top left x coordinate of this Group. - - The x1. - - - - The top left y coordinate of this Group. - - The y1. - - - - The bottom right x coordinate of this Group. - - The x2. - - - - The bottom right y coordinate of this Group. - - The y2. - - - - High level representation for Conditional Formatting Settings - @author Dmitriy Kumshayev - - - - @author Yegor Kozlov - - - - Initializes a new instance of the class. - - The cf rule record. - - - - Gets the pattern formatting block. - - The pattern formatting block. - - - - Gets or sets the color of the fill background. - - The color of the fill background. - - - - Gets or sets the color of the fill foreground. - - The color of the fill foreground. - - - - Gets or sets the fill pattern. - - The fill pattern. - - - - Represents binary data stored in the file. Eg. A GIF, JPEG etc... - @author Daniel Noll - - - - Suggests a file extension for this image. - - @return the file extension. - - - Gets the picture data. - - @return the picture data. - - - Returns the mime type for the image - - - @return the POI internal image type, 0 if unknown image type - - @see Workbook#PICTURE_TYPE_DIB - @see Workbook#PICTURE_TYPE_EMF - @see Workbook#PICTURE_TYPE_JPEG - @see Workbook#PICTURE_TYPE_PICT - @see Workbook#PICTURE_TYPE_PNG - @see Workbook#PICTURE_TYPE_WMF - - - Underlying escher blip record containing the bitmap data. - - - - Constructs a picture object. - - the underlying blip record containing the bitmap data. - - - - Suggests a file extension for this image. - - the file extension. - - - - Gets the picture data. - - the picture data. - - - - gets format of the picture. - - The format. - - - Returns the mime type for the image - - - @return the POI internal image type, -1 if not unknown image type - - @see Workbook#PICTURE_TYPE_DIB - @see Workbook#PICTURE_TYPE_EMF - @see Workbook#PICTURE_TYPE_JPEG - @see Workbook#PICTURE_TYPE_PICT - @see Workbook#PICTURE_TYPE_PNG - @see Workbook#PICTURE_TYPE_WMF - - - - @author Glen Stampoultzis (glens at baselinksoftware.com) - - - - Generates the shape records for this shape. - - - Creates the low level OBJ record for this shape. - - - @param xPoints - array of x coordinates - @param yPoints - array of y coordinates - - - Defines the width and height of the points in the polygon - @param width - @param height - - - @return array of x coordinates - - - @return array of y coordinates - - - @return shape width - - - @return shape height - - - - Used to modify the print Setup. - @author Shawn Laubach (slaubach at apache dot org) - - - - Returns the paper size. - @return paper size - - - Returns the scale. - @return scale - - - Returns the page start. - @return page start - - - Returns the number of pages wide to fit sheet in. - @return number of pages wide to fit sheet in - - - Returns the number of pages high to fit the sheet in. - @return number of pages high to fit the sheet in - - - Returns the left to right print order. - @return left to right print order - - - Returns the landscape mode. - @return landscape mode - - - Returns the valid Settings. - @return valid Settings - - - Returns the black and white Setting. - @return black and white Setting - - - Returns the draft mode. - @return draft mode - - - Returns the print notes. - @return print notes - - - Returns the no orientation. - @return no orientation - - - Returns the use page numbers. - @return use page numbers - - - Returns the horizontal resolution. - @return horizontal resolution - - - Returns the vertical resolution. - @return vertical resolution - - - Returns the header margin. - @return header margin - - - Returns the footer margin. - @return footer margin - - - Returns the number of copies. - @return number of copies - - - - Initializes a new instance of the class. - - Takes the low level print Setup record. - - - - Gets or sets the size of the paper. - - The size of the paper. - - - - Gets or sets the scale. - - The scale. - - - - Gets or sets the page start. - - The page start. - - - - Gets or sets the number of pages wide to fit sheet in. - - the number of pages wide to fit sheet in - - - - Gets or sets number of pages high to fit the sheet in - - number of pages high to fit the sheet in. - - - - Gets or sets the bit flags for the options. - - the bit flags for the options. - - - - Gets or sets the left to right print order. - - the left to right print order. - - - - Gets or sets the landscape mode. - - the landscape mode. - - - - Gets or sets the valid Settings. - - the valid Settings. - - - - Gets or sets the black and white Setting. - - black and white Setting - - - - Gets or sets the draft mode. - - the draft mode. - - - - Gets or sets the print notes. - - the print notes. - - - - Gets or sets a value indicating whether [no orientation]. - - true if [no orientation]; otherwise, false. - - - - Gets or sets the use page numbers. - - use page numbers. - - - - Gets or sets the horizontal resolution. - - the horizontal resolution. - - - - Gets or sets the vertical resolution. - - the vertical resolution. - - - - Gets or sets the header margin. - - The header margin. - - - - Gets or sets the footer margin. - - The footer margin. - - - - Gets or sets the number of copies. - - the number of copies. - - - - Rich text Unicode string. These strings can have fonts applied to - arbitary parts of the string. - @author Glen Stampoultzis (glens at apache.org) - @author Jason Height (jheight at apache.org) - - - - Rich text unicode string. These strings can have fonts - applied to arbitary parts of the string. - - @author Glen Stampoultzis (glens at apache.org) - @author Jason Height (jheight at apache.org) - - - Applies a font to the specified characters of a string. - - @param startIndex The start index to apply the font to (inclusive) - @param endIndex The end index to apply the font to (exclusive) - @param fontIndex The font to use. - - - Applies a font to the specified characters of a string. - - @param startIndex The start index to apply the font to (inclusive) - @param endIndex The end index to apply to font to (exclusive) - @param font The index of the font to use. - - - Sets the font of the entire string. - @param font The font to use. - - - Removes any formatting that may have been applied to the string. - - - The index within the string to which the specified formatting run applies. - @param index the index of the formatting run - @return the index within the string. - - - Applies the specified font to the entire string. - - @param fontIndex the font to apply. - - - Returns the plain string representation. - - - @return the number of characters in the font. - - - @return The number of formatting Runs used. - - - - Place holder for indicating that NO_FONT has been applied here - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The string. - - - - Initializes a new instance of the class. - - The workbook. - The record. - - - - This must be called to Setup the internal work book references whenever - a RichTextString Is Added to a cell - - The workbook. - The record. - - - - Called whenever the Unicode string Is modified. When it Is modified - we need to Create a new SST index, so that other LabelSSTRecords will not - be affected by Changes tat we make to this string. - - - - - - Adds to SST if required. - - - - - Applies a font to the specified Chars of a string. - - The start index to apply the font to (inclusive). - The end index to apply the font to (exclusive). - The font to use. - - - - Applies a font to the specified Chars of a string. - - The start index to apply the font to (inclusive). - The end index to apply to font to (exclusive). - The index of the font to use. - - - - Sets the font of the entire string. - - The font to use. - - - - Removes any formatting that may have been applied to the string. - - - - - Returns the font in use at a particular index. - - The index. - The font that's currently being applied at that - index or null if no font Is being applied or the - index Is out of range. - - - - The index within the string to which the specified formatting run applies. - - the index of the formatting run - the index within the string. - - - - Gets the font used in a particular formatting run. - - the index of the formatting run. - the font number used. - - - - Compares one rich text string to another. - - The other rich text string. - - - - - Equalses the specified o. - - The o. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Applies the specified font to the entire string. - - Index of the font to apply. - - - - Returns the plain string representation. - - The string. - - - - Returns the raw, probably shared Unicode String. - Used when tweaking the styles, eg updating font - positions. - Changes to this string may well effect - other RichTextStrings too! - - The raw unicode string. - - - - Gets or sets the unicode string. - - The unicode string. - - - - Gets the number of Chars in the font.. - - The length. - - - - Gets the number of formatting runs used. There will always be at - least one of font NO_FONT. - - The num formatting runs. - - - - High level representation of a row of a spReadsheet. - Only rows that have cells should be Added to a Sheet. - @author Andrew C. Oliver (acoliver at apache dot org) - @author Glen Stampoultzis (glens at apache.org) - - - - - High level representation of a row of a spreadsheet. - - - - - Use this to create new cells within the row and return it. - - The cell that is returned is a /. - The type can be changed either through calling SetCellValue or SetCellType. - - the column number this cell represents - Cell a high level representation of the created cell. - - ArgumentException if columnIndex < 0 or greater than the maximum number of supported columns - (255 for *.xls, 1048576 for *.xlsx) - - - - - Use this to create new cells within the row and return it. - - The cell that is returned is a /. The type can be changed - either through calling SetCellValue or SetCellType. - - the column number this cell represents - - Cell a high level representation of the created cell. - ArgumentException if columnIndex < 0 or greater than the maximum number of supported columns - (255 for *.xls, 1048576 for *.xlsx) - - - - - Remove the Cell from this row. - - the cell to remove - - - - Get the cell representing a given column (logical cell) 0-based. If you - ask for a cell that is not defined....you get a null. - - 0 based column number - Cell representing that column or null if undefined. - - - - - Returns the cell at the given (0 based) index, with the specified {@link NPOI.SS.usermodel.Row.MissingCellPolicy} - - the cell at the given (0 based) index - ArgumentException if cellnum < 0 or the specified MissingCellPolicy is invalid - - - - - - - Moves the supplied cell to a new column, which - must not already have a cell there! - - The cell to move - The new column number (0 based) - - - - Copy the current row to the target row - - row index of the target row - the new copied row object - - - - Copy the source cell to the target cell. If the target cell exists, the new copied cell will be inserted before the existing one - - index of the source cell - index of the target cell - the new copied cell object - - - - Get row number this row represents - - the row number (0 based) - - - - Get the number of the first cell Contained in this row. - - - short representing the first logical cell in the row, - or -1 if the row does not contain any cells. - - - - - Gets the index of the last cell Contained in this row PLUS ONE. The result also - happens to be the 1-based column number of the last cell. This value can be used as a - standard upper bound when iterating over cells: -
-            short minColIx = row.GetFirstCellNum();
-            short maxColIx = row.GetLastCellNum();
-            for(short colIx=minColIx; colIx<maxColIx; colIx++) {
-            Cell cell = row.GetCell(colIx);
-            if(cell == null) {
-            continue;
-            }
-            //... do something with cell
-            }
-            
-
- - short representing the last logical cell in the row PLUS ONE, - or -1 if the row does not contain any cells. - -
- - - Gets the number of defined cells (NOT number of cells in the actual row!). - That is to say if only columns 0,4,5 have values then there would be 3. - - int representing the number of defined cells in the row. - - - - Get whether or not to display this row with 0 height - - zHeight height is zero or not. - - - - Get the row's height measured in twips (1/20th of a point). - If the height is not set, the default worksheet value is returned, - - - row height measured in twips (1/20th of a point) - - - - Returns row height measured in point size. - If the height is not set, the default worksheet value is returned, - - - row height measured in point size - - - - - - Is this row formatted? Most aren't, but some rows - do have whole-row styles. For those that do, you - can get the formatting from - - - - - Returns the Sheet this row belongs to - - the Sheet that owns this row - - - - Returns the whole-row cell styles. Most rows won't - have one of these, so will return null. Call IsFormmated to check first - - The row style. - - - - Get cells in the row - - - - - Returns the rows outline level. Increased as you - put it into more groups (outlines), reduced as - you take it out of them. - - - - - used for collections - - - - reference to low level representation - - - reference to containing low level Workbook - - - reference to containing Sheet - - - - Creates new HSSFRow from scratch. Only HSSFSheet should do this. - - low-level Workbook object containing the sheet that Contains this row - low-level Sheet object that Contains this Row - the row number of this row (0 based) - - - - - Creates an HSSFRow from a low level RowRecord object. Only HSSFSheet should do - this. HSSFSheet uses this when an existing file is Read in. - - low-level Workbook object containing the sheet that Contains this row - low-level Sheet object that Contains this Row - the low level api object this row should represent - - - - - Use this to create new cells within the row and return it. - The cell that is returned is a CELL_TYPE_BLANK (/). - The type can be changed either through calling SetCellValue or SetCellType. - - the column number this cell represents - a high level representation of the created cell. - - - - Use this to create new cells within the row and return it. - The cell that is returned is a CELL_TYPE_BLANK. The type can be changed - either through calling setCellValue or setCellType. - - the column number this cell represents - a high level representation of the created cell. - - - - - Remove the Cell from this row. - - The cell to Remove. - - - - Removes the cell. - - The cell. - if set to true [also remove records]. - - - used internally to refresh the "last cell plus one" when the last cell is removed. - @return 0 when row contains no cells - - - used internally to refresh the "first cell" when the first cell is removed. - @return 0 when row contains no cells (also when first cell is occupied) - - - - Create a high level Cell object from an existing low level record. Should - only be called from HSSFSheet or HSSFRow itself. - - The low level cell to Create the high level representation from - the low level record passed in - - - - Removes all the cells from the row, and their - records too. - - - - - Moves the supplied cell to a new column, which - must not already have a cell there! - - The cell to move - The new column number (0 based) - - - - used internally to Add a cell. - - The cell. - - - - Get the hssfcell representing a given column (logical cell) - 0-based. If you ask for a cell that is not defined, then - you Get a null. - This is the basic call, with no policies applied - - 0 based column number - Cell representing that column or null if Undefined. - - - - Get the hssfcell representing a given column (logical cell) - 0-based. If you ask for a cell that is not defined then - you get a null, unless you have set a different - MissingCellPolicy on the base workbook. - - Short method signature provided to retain binary - compatibility. - - 0 based column number - Cell representing that column or null if undefined. - - - - Get the hssfcell representing a given column (logical cell) - 0-based. If you ask for a cell that is not defined then - you get a null, unless you have set a different - MissingCellPolicy on the base workbook. - - 0 based column number - Cell representing that column or null if undefined. - - - - Get the hssfcell representing a given column (logical cell) - 0-based. If you ask for a cell that is not defined, then - your supplied policy says what to do - - 0 based column number - Policy on blank / missing cells - that column or null if Undefined + policy allows. - - - - used internally to refresh the "first cell" when the first cell is Removed. - - The first cell index. - - - - - Gets the cell enumerator of the physically defined cells. - - - Note that the 4th element might well not be cell 4, as the iterator - will not return Un-defined (null) cells. - Call CellNum on the returned cells to know which cell they are. - - - - - Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. - - An object to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: - Value - Meaning - Less than zero - This instance is less than . - Zero - This instance is equal to . - Greater than zero - This instance is greater than . - - - is not the same type as this instance. - - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - The parameter is null. - - - - - Returns a hash code. In this case it is the number of the row. - - - - - true, when the row is invisible. This is the case when the height is zero. - - - - - Get row number this row represents - - the row number (0 based) - - - - Returns the rows outline level. Increased as you - put it into more Groups (outlines), reduced as - you take it out of them. - - The outline level. - - - Returns the HSSFSheet this row belongs to - - @return the HSSFSheet that owns this row - - - - Get the number of the first cell contained in this row. - - the first logical cell in the row, or -1 if the row does not contain any cells. - - - - Gets the index of the last cell contained in this row PLUS ONE - . The result also happens to be the 1-based column number of the last cell. This value can be used as a - standard upper bound when iterating over cells: - - - short representing the last logical cell in the row PLUS ONE, or -1 if the - row does not contain any cells. - - - short minColIx = row.GetFirstCellNum(); - short maxColIx = row.GetLastCellNum(); - for(short colIx=minColIx; colIx<maxColIx; colIx++) { - Cell cell = row.GetCell(colIx); - if(cell == null) { - continue; - } - //... do something with cell - } - - - - - Gets the number of defined cells (NOT number of cells in the actual row!). - That is to say if only columns 0,4,5 have values then there would be 3. - - the number of defined cells in the row. - - - - Gets or sets whether or not to Display this row with 0 height - - height is zero or not. - - - - Get or sets the row's height or ff (-1) for undefined/default-height in twips (1/20th of a point) - - rowheight or 0xff for Undefined (use sheet default) - - - - is this row formatted? Most aren't, but some rows - do have whole-row styles. For those that do, you - can get the formatting from {@link #getRowStyle()} - - - true if this instance is formatted; otherwise, false. - - - - - Returns the whole-row cell styles. Most rows won't - have one of these, so will return null. Call IsFormmated to check first - - The row style. - - - - Get the row's height or ff (-1) for Undefined/default-height in points (20*Height) - - row height or 0xff for Undefined (use sheet default). - - - - Get the lowlevel RowRecord represented by this object - should only be called - by other parts of the high level API - - RowRecord this row represents - - - - Get cells in the row (existing cells only, no blanks) - - - - - A shape Group may contain other shapes. It was no actual form on the - sheet. - @author Glen Stampoultzis (glens at apache.org) - - - - - Create another Group Under this Group. - - the position of the new Group. - the Group - - - - Create a new simple shape Under this Group. - - the position of the shape. - the shape - - - - Create a new textbox Under this Group. - - the position of the shape. - the textbox - - - - Creates a polygon - - the client anchor describes how this Group Is attached - to the sheet. - the newly Created shape. - - - - Creates a picture. - - the client anchor describes how this Group Is attached - to the sheet. - Index of the picture. - the newly Created shape. - - - - Sets the coordinate space of this Group. All children are constrained - to these coordinates. - - The x1. - The y1. - The x2. - The y2. - - - - Return all children contained by this shape. - - - - - - Gets The top left x coordinate of this Group. - - The x1. - - - - Gets The top left y coordinate of this Group. - - The y1. - - - - Gets The bottom right x coordinate of this Group. - - The x2. - - - - Gets the bottom right y coordinate of this Group. - - The y2. - - - - Count of all children and their childrens children. - - - - - - High level representation of a worksheet. - - - @author Andrew C. Oliver (acoliver at apache dot org) - @author Glen Stampoultzis (glens at apache.org) - @author Libin Roman (romal at vistaportal.com) - @author Shawn Laubach (slaubach at apache dot org) (Just a little) - @author Jean-Pierre Paris (jean-pierre.paris at m4x dot org) (Just a little, too) - @author Yegor Kozlov (yegor at apache.org) (Autosizing columns) - - - - - High level representation of a Excel worksheet. - - - Sheets are the central structures within a workbook, and are where a user does most of his spreadsheet work. - The most common type of sheet is the worksheet, which is represented as a grid of cells. Worksheet cells can - contain text, numbers, dates, and formulas. Cells can also be formatted. - - - - - Create a new row within the sheet and return the high level representation - - The row number. - high level Row object representing a row in the sheet - RemoveRow(Row) - - - - Remove a row from this sheet. All cells Contained in the row are Removed as well - - a row to Remove. - - - - Returns the logical row (not physical) 0-based. If you ask for a row that is not - defined you get a null. This is to say row 4 represents the fifth row on a sheet. - - row to get (0-based). - the rownumber or null if its not defined on the sheet - - - - Get the visibility state for a given column - - the column to get (0-based) - the visiblity state of the column - - - - Get the hidden state for a given column - - the column to set (0-based) - hidden - false if the column is visible - - - - Copy the source row to the target row. If the target row exists, the new copied row will be inserted before the existing one - - source index - target index - the new copied row object - - - - Set the width (in units of 1/256th of a character width) - - the column to set (0-based) - the width in units of 1/256th of a character width - - The maximum column width for an individual cell is 255 characters. - This value represents the number of characters that can be displayed - in a cell that is formatted with the standard font. - - - - - get the width (in units of 1/256th of a character width ) - - the column to get (0-based) - the width in units of 1/256th of a character width - - - - get the width in pixel - - - - - Please note, that this method works correctly only for workbooks - with the default font size (Arial 10pt for .xls and Calibri 11pt for .xlsx). - If the default font is changed the column width can be streched - - - - - Returns the CellStyle that applies to the given - (0 based) column, or null if no style has been - set for that column - - The column. - - - - Adds a merged region of cells (hence those cells form one) - - (rowfrom/colfrom-rowto/colto) to merge. - index of this region - - - - Removes a merged region of cells (hence letting them free) - - index of the region to unmerge - - - - Returns the merged region at the specified index - - The index. - - - - Gets the row enumerator. - - - an iterator of the PHYSICAL rows. Meaning the 3rd element may not - be the third row if say for instance the second row is undefined. - Call on each row - if you care which one it is. - - - - - Get the row enumerator - - - - - - Gets the size of the margin in inches. - - which margin to get - the size of the margin - - - - Sets the size of the margin in inches. - - which margin to get - the size of the margin - - - - Sets the protection enabled as well as the password - - to set for protection. Pass null to remove protection - - - - Sets the zoom magnication for the sheet. The zoom is expressed as a - fraction. For example to express a zoom of 75% use 3 for the numerator - and 4 for the denominator. - - The numerator for the zoom magnification. - denominator for the zoom magnification. - - - - Sets desktop window pane display area, when the file is first opened in a viewer. - - the top row to show in desktop window pane - the left column to show in desktop window pane - - - - Sets desktop window pane display area, when the - file is first opened in a viewer. - - the top row to show in desktop window pane - the left column to show in desktop window pane - - - - Shifts rows between startRow and endRow n number of rows. - If you use a negative number, it will shift rows up. - Code ensures that rows don't wrap around. - - Calls shiftRows(startRow, endRow, n, false, false); - - - Additionally shifts merged regions that are completely defined in these - rows (ie. merged 2 cells on a row to be shifted). - - the row to start shifting - the row to end shifting - the number of rows to shift - - - - Shifts rows between startRow and endRow n number of rows. - If you use a negative number, it will shift rows up. - Code ensures that rows don't wrap around - - Additionally shifts merged regions that are completely defined in these - rows (ie. merged 2 cells on a row to be shifted). - - the row to start shifting - the row to end shifting - the number of rows to shift - whether to copy the row height during the shift - whether to set the original row's height to the default - - - - Creates a split (freezepane). Any existing freezepane or split pane is overwritten. - - Horizonatal position of split - Vertical position of split - Top row visible in bottom pane - Left column visible in right pane - - - - Creates a split (freezepane). Any existing freezepane or split pane is overwritten. - - Horizonatal position of split. - Vertical position of split. - - - - Creates a split pane. Any existing freezepane or split pane is overwritten. - - Horizonatal position of split (in 1/20th of a point) - Vertical position of split (in 1/20th of a point) - Left column visible in right pane - Top row visible in bottom pane - Active pane. One of: PANE_LOWER_RIGHT, PANE_UPPER_RIGHT, PANE_LOWER_LEFT, PANE_UPPER_LEFT - @see #PANE_LOWER_LEFT - @see #PANE_LOWER_RIGHT - @see #PANE_UPPER_LEFT - @see #PANE_UPPER_RIGHT - - - - Determines if there is a page break at the indicated row - - The row. - - - - Removes the page break at the indicated row - - The row index. - - - - Sets the active cell. - - The row. - The column. - - - - Sets the active cell range. - - The firstrow. - The lastrow. - The firstcolumn. - The lastcolumn. - - - - Sets the active cell range. - - The cellranges. - The index of the active range. - The active row in the active range - The active column in the active range - - - - Sets a page break at the indicated column - - The column. - - - - Sets the row break. - - The row. - - - - Determines if there is a page break at the indicated column - - The column index. - - - - Removes a page break at the indicated column - - The column. - - - - Expands or collapses a column group. - - One of the columns in the group. - if set to truecollapse group.falseexpand group. - - - - Create an outline for the provided column range. - - beginning of the column range. - end of the column range. - - - - Ungroup a range of columns that were previously groupped - - start column (0-based). - end column (0-based). - - - - Tie a range of rows toGether so that they can be collapsed or expanded - - start row (0-based) - end row (0-based) - - - - Ungroup a range of rows that were previously groupped - - start row (0-based) - end row (0-based) - - - - Set view state of a groupped range of rows - - start row of a groupped range of rows (0-based). - whether to expand/collapse the detail rows. - - - - Sets the default column style for a given column. POI will only apply this style to new cells Added to the sheet. - - the column index - the style to set - - - - Adjusts the column width to fit the contents. - - the column index - - This process can be relatively slow on large sheets, so this should - normally only be called once per column, at the end of your - processing. - - - - - Adjusts the column width to fit the contents. - - the column index. - whether to use the contents of merged cells when - calculating the width of the column. Default is to ignore merged cells. - - This process can be relatively slow on large sheets, so this should - normally only be called once per column, at the end of your - processing. - - - - - Returns cell comment for the specified row and column - - The row. - The column. - - - - Creates the top-level drawing patriarch. - - - - - Sets whether sheet is selected. - - Whether to select the sheet or deselect the sheet. - - - - Sets array formula to specified region for result. - - text representation of the formula - Region of array formula for result - the of cells affected by this change - - - - Remove a Array Formula from this sheet. All cells contained in the Array Formula range are removed as well - - any cell within Array Formula range - the of cells affected by this change - - - - Checks if the provided region is part of the merged regions. - - Region searched in the merged regions - true, when the region is contained in at least one of the merged regions - - - - Create an instance of a DataValidationHelper. - - Instance of a DataValidationHelper - - - - Returns the list of DataValidation in the sheet. - - list of DataValidation in the sheet - - - - Creates a data validation object - - The data validation object settings - - - - Enable filtering for a range of cells - - the range of cells to filter - - - - Copy sheet with a new name - - new sheet name - cloned sheet - - - - Copy sheet with a new name - - new sheet name - whether to copy styles - cloned sheet - - - - Returns the column outline level. Increased as you - put it into more groups (outlines), reduced as - you take it out of them. - - - - - - - Returns the number of physically defined rows (NOT the number of rows in the sheet) - - the number of physically defined rows in this sheet. - - - - Gets the first row on the sheet - - the number of the first logical row on the sheet (0-based). - - - - Gets the last row on the sheet - - last row contained n this sheet (0-based) - - - - whether force formula recalculation. - - - - - Get the default column width for the sheet (if the columns do not define their own width) - in characters - - default column width measured in characters. - - - - Get the default row height for the sheet (if the rows do not define their own height) in - twips (1/20 of a point) - - default row height measured in twips (1/20 of a point) - - - - Get the default row height for the sheet (if the rows do not define their own height) in - points. - - The default row height in points. - - - - Determine whether printed output for this sheet will be horizontally centered. - - - - - Determine whether printed output for this sheet will be vertically centered. - - - - - Returns the number of merged regions - - - - - Gets the flag indicating whether the window should show 0 (zero) in cells Containing zero value. - When false, cells with zero value appear blank instead of showing the number zero. - - whether all zero values on the worksheet are displayed. - - - - Gets or sets a value indicating whether the sheet displays Automatic Page Breaks. - - - - - Get whether to display the guts or not, - - default value is true - - - - Flag indicating whether the Fit to Page print option is enabled. - - - - - Flag indicating whether summary rows appear below detail in an outline, when applying an outline. - - - When true a summary row is inserted below the detailed data being summarized and a - new outline level is established on that row. - - - When false a summary row is inserted above the detailed data being summarized and a new outline level - is established on that row. - - - true if row summaries appear below detail in the outline - - - - Flag indicating whether summary columns appear to the right of detail in an outline, when applying an outline. - - - When true a summary column is inserted to the right of the detailed data being summarized - and a new outline level is established on that column. - - - When false a summary column is inserted to the left of the detailed data being - summarized and a new outline level is established on that column. - - - true if col summaries appear right of the detail in the outline - - - - Gets the flag indicating whether this sheet displays the lines - between rows and columns to make editing and reading easier. - - true if this sheet displays gridlines. - - - - Gets the print Setup object. - - The user model for the print Setup object. - - - - Gets the user model for the default document header. -

- Note that XSSF offers more kinds of document headers than HSSF does - -

- the document header. Never null -
- - - Gets the user model for the default document footer. -

- Note that XSSF offers more kinds of document footers than HSSF does. -

- the document footer. Never null -
- - - Answer whether protection is enabled or disabled - - true => protection enabled; false => protection disabled - - - - Answer whether scenario protection is enabled or disabled - - true => protection enabled; false => protection disabled - - - - Gets or sets the tab color of the _sheet - - - - - Returns the top-level drawing patriach, if there is one. - This will hold any graphics or charts for the _sheet. - WARNING - calling this will trigger a parsing of the - associated escher records. Any that aren't supported - (such as charts and complex drawing types) will almost - certainly be lost or corrupted when written out. Only - use this with simple drawings, otherwise call - HSSFSheet#CreateDrawingPatriarch() and - start from scratch! - - The drawing patriarch. - - - - The top row in the visible view when the sheet is - first viewed after opening it in a viewer - - the rownum (0 based) of the top row. - - - - The left col in the visible view when the sheet is - first viewed after opening it in a viewer - - the rownum (0 based) of the top row - - - - Returns the information regarding the currently configured pane (split or freeze) - - if no pane configured returns null else return the pane information. - - - - Returns if gridlines are displayed - - - - - Returns if formulas are displayed - - - - - Returns if RowColHeadings are displayed. - - - - - Returns if RowColHeadings are displayed. - - - - - Retrieves all the horizontal page breaks - - all the horizontal page breaks, or null if there are no row page breaks - - - - Retrieves all the vertical page breaks - - all the vertical page breaks, or null if there are no column page breaks. - - - - Gets the parent workbook. - - - - - Gets the name of the sheet. - - - - - Gets or sets a value indicating whether this sheet is currently selected. - - - - - The 'Conditional Formatting' facet for this Sheet - - conditional formatting rule for this sheet - - - - Whether the text is displayed in right-to-left mode in the window - - - - - Get or set the repeating rows used when printing the sheet, as found in File->PageSetup->Sheet. -

- Repeating rows cover a range of contiguous rows, e.g.: -

-            Sheet1!$1:$1
-            Sheet2!$5:$8
-            
- The {@link CellRangeAddress} returned contains a column part which spans - all columns, and a row part which specifies the contiguous range of - repeating rows. -

- If the Sheet does not have any repeating rows defined, null is returned. -

-
- - - Gets or set the repeating columns used when printing the sheet, as found in File->PageSetup->Sheet. -

- Repeating columns cover a range of contiguous columns, e.g.: -

-            Sheet1!$A:$A
-            Sheet2!$C:$F
-            
- The {@link CellRangeAddress} returned contains a row part which spans all - rows, and a column part which specifies the contiguous range of - repeating columns. -

- If the Sheet does not have any repeating columns defined, null is - returned. -

-
- - Used for compile-time optimization. This is the initial size for the collection of - rows. It is currently Set to 20. If you generate larger sheets you may benefit - by Setting this to a higher number and recompiling a custom edition of HSSFSheet. - - - width of 1px in columns with default width in units of 1/256 of a character width - - - width of 1px in columns with overridden width in units of 1/256 of a character width - - - reference to the low level Sheet object - - - - Creates new HSSFSheet - called by HSSFWorkbook to create a _sheet from - scratch. You should not be calling this from application code (its protected anyhow). - - The HSSF Workbook object associated with the _sheet. - - - - - Creates an HSSFSheet representing the given Sheet object. Should only be - called by HSSFWorkbook when reading in an exisiting file. - - The HSSF Workbook object associated with the _sheet. - lowlevel Sheet object this _sheet will represent - - - - - Clones the _sheet. - - The _workbook. - the cloned sheet - - - - Copy one row to the target row - - index of the source row - index of the target row - - - - used internally to Set the properties given a Sheet object - - The _sheet. - - - - Create a new row within the _sheet and return the high level representation - - The row number. - - @see org.apache.poi.hssf.usermodel.HSSFRow - @see #RemoveRow(HSSFRow) - - - - Used internally to Create a high level Row object from a low level row object. - USed when Reading an existing file - - low level record to represent as a high level Row and Add to _sheet. - HSSFRow high level representation - - - - Remove a row from this _sheet. All cells contained in the row are Removed as well - - the row to Remove. - - - - used internally to refresh the "last row" when the last row is Removed. - - The last row. - - - - - used internally to refresh the "first row" when the first row is Removed. - - The first row. - - - - Add a row to the _sheet - - @param AddLow whether to Add the row to the low level model - false if its already there - - - - Returns the HSSFCellStyle that applies to the given - (0 based) column, or null if no style has been - set for that column - - The column. - - - - - Returns the logical row (not physical) 0-based. If you ask for a row that is not - defined you get a null. This is to say row 4 represents the fifth row on a _sheet. - - Index of the row to get. - the row number or null if its not defined on the _sheet - - - - Creates a data validation object - - The data validation object settings - - - - Get the visibility state for a given column.F:\Gloria\�о�\�ļ���ʽ\NPOI\src\NPOI\HSSF\Util\HSSFDataValidation.cs - - the column to Get (0-based). - the visiblity state of the column. - - - - Get the hidden state for a given column. - - the column to Set (0-based) - the visiblity state of the column; - - - - - Set the width (in Units of 1/256th of a Char width) - - the column to Set (0-based) - the width in Units of 1/256th of a Char width - - - - Get the width (in Units of 1/256th of a Char width ) - - the column to Set (0-based) - the width in Units of 1/256th of a Char width - - - - Adds a merged region of cells (hence those cells form one) - - The region (rowfrom/colfrom-rowto/colto) to merge. - index of this region - - - - adds a merged region of cells (hence those cells form one) - - region (rowfrom/colfrom-rowto/colto) to merge - index of this region - - - - Removes a merged region of cells (hence letting them free) - - index of the region to Unmerge - - - - Gets the row enumerator. - - - an iterator of the PHYSICAL rows. Meaning the 3rd element may not - be the third row if say for instance the second row is undefined. - Call on each row - if you care which one it is. - - - - - Alias for GetRowEnumerator() to allow foreach loops. - - - an iterator of the PHYSICAL rows. Meaning the 3rd element may not - be the third row if say for instance the second row is undefined. - Call on each row - if you care which one it is. - - - - - Sets the active cell. - - The row. - The column. - - - - Sets the active cell range. - - The first row. - The last row. - The first column. - The last column. - - - - Sets the active cell range. - - The cellranges. - The index of the active range. - The active row in the active range - The active column in the active range - - - - Sets whether sheet is selected. - - Whether to select the sheet or deselect the sheet. - - - - Sets the protection enabled as well as the password - - password to set for protection, pass null to remove protection - - - - Sets the zoom magnication for the _sheet. The zoom is expressed as a - fraction. For example to express a zoom of 75% use 3 for the numerator - and 4 for the denominator. - - The numerator for the zoom magnification. - The denominator for the zoom magnification. - - - - Sets the enclosed border of region. - - The region. - Type of the border. - The color. - - - - Sets the right border of region. - - The region. - Type of the border. - The color. - - - - Sets the left border of region. - - The region. - Type of the border. - The color. - - - - Sets the top border of region. - - The region. - Type of the border. - The color. - - - - Sets the bottom border of region. - - The region. - Type of the border. - The color. - - - Sets desktop window pane display area, when the - file is first opened in a viewer. - - @param toprow the top row to show in desktop window pane - @param leftcol the left column to show in desktop window pane - - - - Sets desktop window pane display area, when the - file is first opened in a viewer. - - the top row to show in desktop window pane - the left column to show in desktop window pane - - - - Shifts the merged regions left or right depending on mode - TODO: MODE , this is only row specific - - The start row. - The end row. - The n. - if set to true [is row]. - - - - Shifts rows between startRow and endRow n number of rows. - If you use a negative number, it will Shift rows up. - Code Ensures that rows don't wrap around. - Calls ShiftRows(startRow, endRow, n, false, false); - Additionally Shifts merged regions that are completely defined in these - rows (ie. merged 2 cells on a row to be Shifted). - - the row to start Shifting - the row to end Shifting - the number of rows to Shift - - - - Shifts rows between startRow and endRow n number of rows. - If you use a negative number, it will shift rows up. - Code ensures that rows don't wrap around - Additionally shifts merged regions that are completely defined in these - rows (ie. merged 2 cells on a row to be shifted). - TODO Might want to add bounds checking here - - the row to start shifting - the row to end shifting - the number of rows to shift - whether to copy the row height during the shift - whether to set the original row's height to the default - - - - Shifts rows between startRow and endRow n number of rows. - If you use a negative number, it will Shift rows up. - Code Ensures that rows don't wrap around - Additionally Shifts merged regions that are completely defined in these - rows (ie. merged 2 cells on a row to be Shifted). - TODO Might want to Add bounds Checking here - - the row to start Shifting - the row to end Shifting - the number of rows to Shift - whether to copy the row height during the Shift - whether to Set the original row's height to the default - if set to true [move comments]. - - - - Inserts the chart records. - - The records. - - - - Creates a split (freezepane). Any existing freezepane or split pane is overwritten. - - Horizonatal position of split. - Vertical position of split. - Top row visible in bottom pane - Left column visible in right pane. - - - - Creates a split (freezepane). Any existing freezepane or split pane is overwritten. - - Horizonatal position of split. - Vertical position of split. - - - - Creates a split pane. Any existing freezepane or split pane is overwritten. - - Horizonatal position of split (in 1/20th of a point). - Vertical position of split (in 1/20th of a point). - Left column visible in right pane. - Top row visible in bottom pane. - Active pane. One of: PANE_LOWER_RIGHT,PANE_UPPER_RIGHT, PANE_LOWER_LEFT, PANE_UPPER_LEFT - - - - Gets the size of the margin in inches. - - which margin to get. - the size of the margin - - - - Sets the size of the margin in inches. - - which margin to get. - the size of the margin - - - - Sets a page break at the indicated row - - The row. - - - - Determines if there is a page break at the indicated row - - The row. - - true if [is row broken] [the specified row]; otherwise, false. - - - - - Removes the page break at the indicated row - - The row. - - - - Sets a page break at the indicated column - - The column. - - - - Determines if there is a page break at the indicated column - - The column. - - true if [is column broken] [the specified column]; otherwise, false. - - - - - Removes a page break at the indicated column - - The column. - - - - Runs a bounds Check for row numbers - - The row. - - - - Runs a bounds Check for column numbers - - The column. - - - - Aggregates the drawing records and dumps the escher record hierarchy - to the standard output. - - if set to true [fat]. - - - Creates the top-level drawing patriarch. This will have - the effect of removing any existing drawings on this - sheet. - This may then be used to add graphics or charts - - @return The new patriarch. - - - - Expands or collapses a column Group. - - One of the columns in the Group. - true = collapse Group, false = expand Group. - - - - Create an outline for the provided column range. - - beginning of the column range. - end of the column range. - - - - Ungroups the column. - - From column. - To column. - - - - Groups the row. - - From row. - To row. - - - - Remove a Array Formula from this sheet. All cells contained in the Array Formula range are removed as well - - any cell within Array Formula range - the of cells affected by this change - - - - Also creates cells if they don't exist. - - - - - Sets array formula to specified region for result. - - text representation of the formula - Region of array formula for result - the of cells affected by this change - - - - Ungroups the row. - - From row. - To row. - - - - Sets the row group collapsed. - - The row. - if set to true [collapse]. - - - - Sets the default column style for a given column. POI will only apply this style to new cells Added to the _sheet. - - the column index - the style to set - - - - Adjusts the column width to fit the contents. - This Process can be relatively slow on large sheets, so this should - normally only be called once per column, at the end of your - Processing. - - the column index. - - - - Adjusts the column width to fit the contents. - This Process can be relatively slow on large sheets, so this should - normally only be called once per column, at the end of your - Processing. - You can specify whether the content of merged cells should be considered or ignored. - Default is to ignore merged cells. - - the column index - whether to use the contents of merged cells when calculating the width of the column - - - - Checks if the provided region is part of the merged regions. - - Region searched in the merged regions - true, when the region is contained in at least one of the merged regions - - - - Gets the merged region at the specified index - - The index. - - - - - Convert HSSFFont to Font. - - The font. - - - - - Returns cell comment for the specified row and column - - The row. - The column. - cell comment or null if not found - - - - Create an instance of a DataValidationHelper. - - Instance of a DataValidationHelper - - - - Enable filtering for a range of cells - - the range of cells to filter - - - - Returns the column outline level. Increased as you - put it into more groups (outlines), reduced as - you take it out of them. - - - - - - Gets the flag indicating whether the window should show 0 (zero) in cells containing zero value. - When false, cells with zero value appear blank instead of showing the number zero. - In Excel 2003 this option can be changed in the Options dialog on the View tab. - @return whether all zero values on the worksheet are displayed - - - - Returns the number of phsyically defined rows (NOT the number of rows in the _sheet) - - The physical number of rows. - - - - Gets the first row on the _sheet - - the number of the first logical row on the _sheet - - - - Gets the last row on the _sheet - - last row contained n this _sheet. - - - - Gets or sets the default width of the column. - - The default width of the column. - - - - Get the default row height for the _sheet (if the rows do not define their own height) in - twips (1/20 of a point) - - The default height of the row. - - - - Get the default row height for the _sheet (if the rows do not define their own height) in - points. - - The default row height in points. - - - - Get whether gridlines are printed. - - - true if printed; otherwise, false. - - - - - Whether a record must be Inserted or not at generation to indicate that - formula must be recalculated when _workbook is opened. - - - true if [force formula recalculation]; otherwise, false. - - @return true if an Uncalced record must be Inserted or not at generation - - - - Determine whether printed output for this _sheet will be vertically centered. - - true if [vertically center]; otherwise, false. - - - - Determine whether printed output for this _sheet will be horizontally centered. - - true if [horizontally center]; otherwise, false. - - - - returns the number of merged regions - - The number of merged regions - - - - used internally in the API to Get the low level Sheet record represented by this - Object. - - low level representation of this HSSFSheet. - - - - Gets or sets whether alternate expression evaluation is on - - - true if [alternative expression]; otherwise, false. - - - - - whether alternative formula entry is on - - true alternative formulas or not; otherwise, false. - - - - show automatic page breaks or not - - whether to show auto page breaks - - - - Gets or sets a value indicating whether _sheet is a dialog _sheet - - true if is dialog; otherwise, false. - - - - Gets or sets a value indicating whether to Display the guts or not. - - true if guts or no guts (or glory); otherwise, false. - - - - Gets or sets a value indicating whether fit to page option is on - - true if [fit to page]; otherwise, false. - - - - Get if row summaries appear below detail in the outline - - true if below or not; otherwise, false. - - - - Get if col summaries appear right of the detail in the outline - - true right or not; otherwise, false. - - - - Gets or sets whether gridlines are printed. - - - true Gridlines are printed; otherwise, false. - - - - - Gets the print setup object. - - The user model for the print setup object. - - - - Gets the user model for the document header. - - The Document header. - - - - Gets the user model for the document footer. - - The Document footer. - - - - Gets or sets whether the worksheet is displayed from right to left instead of from left to right. - - true for right to left, false otherwise - poi bug 47970 - - - - Note - this is not the same as whether the _sheet is focused (isActive) - - - true if this _sheet is currently selected; otherwise, false. - - - - - Gets or sets a value indicating if this _sheet is currently focused. - - true if this _sheet is currently focused; otherwise, false. - - - - Answer whether protection is enabled or disabled - - true if protection enabled; otherwise, false. - - - - Gets the hashed password - - The password. - - - - Answer whether object protection is enabled or disabled - - true if protection enabled; otherwise, false. - - - - Answer whether scenario protection is enabled or disabled - - true if protection enabled; otherwise, false. - - - - The top row in the visible view when the _sheet is - first viewed after opening it in a viewer - - the rownum (0 based) of the top row - - - - The left col in the visible view when the _sheet Is - first viewed after opening it in a viewer - - the rownum (0 based) of the top row - - - - Returns the information regarding the currently configured pane (split or freeze). - - null if no pane configured, or the pane information. - - - - Gets or sets if gridlines are Displayed. - - whether gridlines are Displayed - - - - Gets or sets a value indicating whether formulas are displayed. - - whether formulas are Displayed - - - - Gets or sets a value indicating whether RowColHeadings are displayed. - - - whether RowColHeadings are displayed - - - - - Retrieves all the horizontal page breaks - - all the horizontal page breaks, or null if there are no row page breaks - - - - Retrieves all the vertical page breaks - - all the vertical page breaks, or null if there are no column page breaks - - - - Returns the agregate escher records for this _sheet, - it there is one. - WARNING - calling this will trigger a parsing of the - associated escher records. Any that aren't supported - (such as charts and complex drawing types) will almost - certainly be lost or corrupted when written out. - - The drawing escher aggregate. - - - This will hold any graphics or charts for the sheet. - - @return the top-level drawing patriarch, if there is one, else returns null - - - - Gets or sets the tab color of the _sheet - - - - - Gets or sets whether the tab color of _sheet is automatic - - - - - Gets the sheet conditional formatting. - - The sheet conditional formatting. - - - - Get the DVRecords objects that are associated to this _sheet - - a list of DVRecord instances - - - - Provide a reference to the parent workbook. - - - - - Returns the name of this _sheet - - - - - The Conditional Formatting facet of HSSFSheet - @author Dmitriy Kumshayev - - - - The 'Conditional Formatting' facet of Sheet - - @author Dmitriy Kumshayev - @author Yegor Kozlov - @since 3.8 - - - - Add a new Conditional Formatting to the sheet. - - list of rectangular regions to apply conditional formatting rules - the rule to apply - index of the newly Created Conditional Formatting object - - - - Add a new Conditional Formatting consisting of two rules. - - list of rectangular regions to apply conditional formatting rules - the first rule - the second rule - index of the newly Created Conditional Formatting object - - - - Add a new Conditional Formatting Set to the sheet. - - list of rectangular regions to apply conditional formatting rules - Set of up to three conditional formatting rules - index of the newly Created Conditional Formatting object - - - - Adds a copy of a ConditionalFormatting object to the sheet - - the Conditional Formatting to clone - index of the new Conditional Formatting object - - This method could be used to copy ConditionalFormatting object - from one sheet to another. For example: - ConditionalFormatting cf = sheet.GetConditionalFormattingAt(index); - newSheet.AddConditionalFormatting(cf); - - - - A factory method allowing to create a conditional formatting rule - with a cell comparison operator -

- The Created conditional formatting rule Compares a cell value - to a formula calculated result, using the specified operator. - The type of the Created condition is {@link ConditionalFormattingRule#CONDITION_TYPE_CELL_VALUE_IS} -

- - @param comparisonOperation - MUST be a constant value from - {@link ComparisonOperator}:

-

    -
  • BETWEEN
  • -
  • NOT_BETWEEN
  • -
  • EQUAL
  • -
  • NOT_EQUAL
  • -
  • GT
  • -
  • LT
  • -
  • GE
  • -
  • LE
  • -
-

- @param formula1 - formula for the valued, Compared with the cell - @param formula2 - second formula (only used with - {@link ComparisonOperator#BETWEEN}) and {@link ComparisonOperator#NOT_BETWEEN} operations) -
- - - Create a conditional formatting rule that Compares a cell value to a formula calculated result, using an operator - - MUST be a constant value from ComparisonOperator except BETWEEN and NOT_BETWEEN - the formula to determine if the conditional formatting is applied - a conditional formatting rule - - - - Create a conditional formatting rule based on a Boolean formula. - When the formula result is true, the cell is highlighted. - - the formula to Evaluate. MUST be a Boolean function. - conditional formatting rule - - - - Gets Conditional Formatting object at a particular index - - 0-based index of the Conditional Formatting object to fetch - Conditional Formatting object or null if not found - throws ArgumentException if the index is outside of the allowable range (0 ... numberOfFormats-1) - - - - Removes a Conditional Formatting object by index - - 0-based index of the Conditional Formatting object to remove - throws ArgumentException if the index is outside of the allowable range (0 ... numberOfFormats-1) - - - - get the number of conditional formats in this sheet - - - - - A factory method allowing to Create a conditional formatting rule - with a cell comparison operator - TODO - formulas containing cell references are currently not Parsed properly - - a constant value from HSSFConditionalFormattingRule.ComparisonOperator - formula for the valued, Compared with the cell - second formula (only used with HSSFConditionalFormattingRule#COMPARISON_OPERATOR_BETWEEN - and HSSFConditionalFormattingRule#COMPARISON_OPERATOR_NOT_BETWEEN operations) - - - - - A factory method allowing to Create a conditional formatting rule with a formula. - The formatting rules are applied by Excel when the value of the formula not equal to 0. - TODO - formulas containing cell references are currently not Parsed properly - - formula for the valued, Compared with the cell - - - - - Adds a copy of HSSFConditionalFormatting object to the sheet - This method could be used to copy HSSFConditionalFormatting object - from one sheet to another. - - HSSFConditionalFormatting object - index of the new Conditional Formatting object - - HSSFConditionalFormatting cf = sheet.GetConditionalFormattingAt(index); - newSheet.AddConditionalFormatting(cf); - - - - - Allows to Add a new Conditional Formatting Set to the sheet. - - list of rectangular regions to apply conditional formatting rules - Set of up to three conditional formatting rules - index of the newly Created Conditional Formatting object - - - - Adds the conditional formatting. - - The regions. - The rule1. - - - - - Adds the conditional formatting. - - The regions. - The rule1. - The rule2. - - - - - Gets Conditional Formatting object at a particular index - @param index - of the Conditional Formatting object to fetch - - Conditional Formatting object - - - - - Removes a Conditional Formatting object by index - - index of a Conditional Formatting object to Remove - - - - the number of Conditional Formatting objects of the sheet - - The num conditional formattings. - - - - High level representation of a workbook. This is the first object most users - will construct whether they are reading or writing a workbook. It is also the - top level object for creating new sheets/etc. - - @author Andrew C. Oliver (acoliver at apache dot org) - @author Glen Stampoultzis (glens at apache.org) - @author Shawn Laubach (slaubach at apache dot org) - - - - High level interface of a Excel workbook. This is the first object most users - will construct whether they are reading or writing a workbook. It is also the - top level object for creating new sheets/etc. - This interface is shared between the implementation specific to xls and xlsx. - This way it is possible to access Excel workbooks stored in both formats. - - - - - Sets the order of appearance for a given sheet. - - the name of the sheet to reorder - the position that we want to insert the sheet into (0 based) - - - - Sets the tab whose data is actually seen when the sheet is opened. - This may be different from the "selected sheet" since excel seems to - allow you to show the data of one sheet when another is seen "selected" - in the tabs (at the bottom). - - the index of the sheet to select (0 based) - - - - set the active sheet. The active sheet is is the sheet - which is currently displayed when the workbook is viewed in Excel. - - index of the active sheet (0-based) - - - - Set the sheet name - - sheet number (0 based) - Sheet name - - - - Set the sheet name. - - sheet number (0 based) - sheet name - - - - Returns the index of the sheet by its name - - the sheet name - index of the sheet (0 based) - - - - Returns the index of the given sheet - - the sheet to look up - index of the sheet (0 based) - - - - Sreate an Sheet for this Workbook, Adds it to the sheets and returns - the high level representation. Use this to create new sheets. - - - - - - Create an Sheet for this Workbook, Adds it to the sheets and returns - the high level representation. Use this to create new sheets. - - sheetname to set for the sheet. - Sheet representing the new sheet. - - - - Create an Sheet from an existing sheet in the Workbook. - - - - - - - Get the Sheet object at the given index. - - index of the sheet number (0-based physical & logical) - Sheet at the provided index - - - - Get sheet with the given name - - name of the sheet - Sheet with the name provided or null if it does not exist - - - - Removes sheet at the given index - - - - - - Enumerate sheets - - - - - To set just repeating columns: - workbook.SetRepeatingRowsAndColumns(0,0,1,-1-1); - To set just repeating rows: - workbook.SetRepeatingRowsAndColumns(0,-1,-1,0,4); - To remove all repeating rows and columns for a sheet. - workbook.SetRepeatingRowsAndColumns(0,-1,-1,-1,-1); - - Sets the repeating rows and columns for a sheet (as found in - File->PageSetup->Sheet). This is function is included in the workbook - because it Creates/modifies name records which are stored at the - workbook level. - - 0 based index to sheet. - 0 based start of repeating columns. - 0 based end of repeating columns. - 0 based start of repeating rows. - 0 based end of repeating rows. - - - - Create a new Font and add it to the workbook's font table - - - - - - Finds a font that matches the one with the supplied attributes - - - - - - - - - - the font with the matched attributes or null - - - - Get the font at the given index number - - index number (0-based) - font at the index - - - - Create a new Cell style and add it to the workbook's style table - - the new Cell Style object - - - - Get the cell style object at the given index - - index within the set of styles (0-based) - CellStyle object at the index - - - - Write out this workbook to an OutPutstream. - - the stream you wish to write to - - - - the defined name with the specified name. - - the name of the defined name - the defined name with the specified name. null if not found - - - - the defined name at the specified index - - position of the named range (0-based) - - - - - Creates a new (unInitialised) defined name in this workbook - - new defined name object - - - - Gets the defined name index by name - - the name of the defined name - zero based index of the defined name. - - - - Remove the defined name at the specified index - - named range index (0 based) - - - - Remove a defined name by name - - the name of the defined name - - - - Adds the linking required to allow formulas referencing the specified - external workbook to be added to this one. In order for formulas - such as "[MyOtherWorkbook]Sheet3!$A$5" to be added to the file, - some linking information must first be recorded. Once a given external - workbook has been linked, then formulas using it can added. Each workbook - needs linking only once.
- This linking only applies for writing formulas. - To link things for evaluation, see {@link FormulaEvaluator#setupReferencedWorkbooks(java.util.Map)} -
- The name the workbook will be referenced as in formulas - The open workbook to fetch the link required information from - -
- - - Sets the printarea for the sheet provided - - Zero-based sheet index - Valid name Reference for the Print Area - - - - Sets the printarea for the sheet provided - - Zero-based sheet index (0 = First Sheet) - Column to begin printarea - Column to end the printarea - Row to begin the printarea - Row to end the printarea - - - - Retrieves the reference for the printarea of the specified sheet, - the sheet name is Appended to the reference even if it was not specified. - - Zero-based sheet index - Null if no print area has been defined - - - - Delete the printarea for the sheet specified - - Zero-based sheet index (0 = First Sheet) - - - - Returns the instance of DataFormat for this workbook. - - the DataFormat object - - - - Adds a picture to the workbook. - - The bytes of the picture - The format of the picture. - the index to this picture (1 based). - - - - Gets all pictures from the Workbook. - - the list of pictures (a list of link PictureData objects.) - - - - Return an object that handles instantiating concrete classes of - the various instances one needs for HSSF and XSSF. - - - - - - Check whether a sheet is hidden. - - number of sheet - true if sheet is hidden - - - Check whether a sheet is very hidden. -

- This is different from the normal hidden status - ({@link #isSheetHidden(int)}) -

- @param sheetIx sheet index to check - @return true if sheet is very hidden -
- - Hide or unhide a sheet - - @param sheetIx the sheet index (0-based) - @param hidden True to mark the sheet as hidden, false otherwise - - - Hide or unhide a sheet. -
-             0 = not hidden
-             1 = hidden
-             2 = very hidden.
-            
- @param sheetIx The sheet number - @param hidden 0 for not hidden, 1 for hidden, 2 for very hidden -
- - - Register a new toolpack in this workbook. - - the toolpack to register - - - - get the active sheet. The active sheet is is the sheet - which is currently displayed when the workbook is viewed in Excel. - - - - - Gets the first tab that is displayed in the list of tabs in excel. - - - - - Get the number of spreadsheets in the workbook - - - - - Get the number of fonts in the font table - - - - - Get the number of styles the workbook Contains - - - - - the total number of defined names in this workbook - - - - - Retrieves the current policy on what to do when getting missing or blank cells from a row. - - - - - if this workbook is not visible in the GUI - - - - The maximum number of cell styles in a .xls workbook. - The 'official' limit is 4,000, but POI allows a slightly larger number. - This extra delta takes into account built-in styles that are automatically - created for new workbooks - - See http://office.microsoft.com/en-us/excel-help/excel-specifications-and-limits-HP005199291.aspx - - - used for compile-time performance/memory optimization. This determines the - initial capacity for the sheet collection. Its currently Set to 3. - Changing it in this release will decrease performance - since you're never allowed to have more or less than three sheets! - - - @deprecated POI will now properly handle Unicode strings without - forceing an encoding - - - @deprecated POI will now properly handle Unicode strings without - forceing an encoding - - - this Is the reference to the low level Workbook object - - - this holds the HSSFSheet objects attached to this workbook - - - this holds the HSSFName objects attached to this workbook - - - holds whether or not to preserve other nodes in the POIFS. Used - for macros and embedded objects. - - - Used to keep track of the data formatter so that all - CreateDataFormatter calls return the same one for a given - book. This Ensures that updates from one places Is visible - someplace else. - - - this holds the HSSFFont objects attached to this workbook. - We only create these from the low level records as required. - - - - Creates new HSSFWorkbook from scratch (start here!) - - - - Companion to HSSFWorkbook(POIFSFileSystem), this constructs the - POI filesystem around your inputstream, including all nodes. - This calls {@link #HSSFWorkbook(InputStream, boolean)} with - preserve nodes set to true. - - @see #HSSFWorkbook(InputStream, boolean) - @see #HSSFWorkbook(POIFSFileSystem) - @see org.apache.poi.poifs.filesystem.POIFSFileSystem - @exception IOException if the stream cannot be read - - - - given a POI POIFSFileSystem object, Read in its Workbook and populate the high and - low level models. If you're Reading in a workbook...start here. - - the POI filesystem that Contains the Workbook stream. - whether to preseve other nodes, such as - macros. This takes more memory, so only say yes if you - need to. If Set, will store all of the POIFSFileSystem - in memory - - - Normally, the Workbook will be in a POIFS Stream - called "Workbook". However, some weird XLS generators use "WORKBOOK" - - - - given a POI POIFSFileSystem object, and a specific directory - within it, Read in its Workbook and populate the high and - low level models. If you're Reading in a workbook...start here. - - the POI filesystem directory to Process from - the POI filesystem that Contains the Workbook stream. - whether to preseve other nodes, such as - macros. This takes more memory, so only say yes if you - need to. If Set, will store all of the POIFSFileSystem - in memory - - - given a POI POIFSFileSystem object, and a specific directory - within it, read in its Workbook and populate the high and - low level models. If you're reading in a workbook...start here. - - @param directory the POI filesystem directory to process from - @param preserveNodes whether to preseve other nodes, such as - macros. This takes more memory, so only say yes if you - need to. If set, will store all of the POIFSFileSystem - in memory - @see org.apache.poi.poifs.filesystem.POIFSFileSystem - @exception IOException if the stream cannot be read - - - Companion to HSSFWorkbook(POIFSFileSystem), this constructs the POI filesystem around your - inputstream. - - @param s the POI filesystem that Contains the Workbook stream. - @param preserveNodes whether to preseve other nodes, such as - macros. This takes more memory, so only say yes if you - need to. - @see org.apache.poi.poifs.filesystem.POIFSFileSystem - @see #HSSFWorkbook(POIFSFileSystem) - @exception IOException if the stream cannot be Read - - - used internally to Set the workbook properties. - - - - This is basically a kludge to deal with the now obsolete Label records. If - you have to read in a sheet that contains Label records, be aware that the rest - of the API doesn't deal with them, the low level structure only provides Read-only - semi-immutable structures (the Sets are there for interface conformance with NO - impelmentation). In short, you need to call this function passing it a reference - to the Workbook object. All labels will be converted to LabelSST records and their - contained strings will be written to the Shared String tabel (SSTRecord) within - the Workbook. - - The records. - The offset. - - - - Sets the order of appearance for a given sheet. - - the name of the sheet to reorder - the position that we want to Insert the sheet into (0 based) - - - - Validates the index of the sheet. - - The index. - - - Test only. Do not use - - - - Selects a single sheet. This may be different to - the 'active' sheet (which Is the sheet with focus). - - The index. - - - - Sets the selected tabs. - - The indexes. - - - - Sets the tab whose data is actually seen when the sheet is opened. - This may be different from the "selected sheet" since excel seems to - allow you to show the data of one sheet when another Is seen "selected" - in the tabs (at the bottom). - The sheet number(0 based). - - - - - Set the sheet name. - - The sheet number(0 based). - The name. - - - - Get the sheet name - - The sheet index. - Sheet name - - - - Check whether a sheet is hidden - - The sheet index. - - true if sheet is hidden; otherwise, false. - - - - - Check whether a sheet is very hidden. - This is different from the normal - hidden status - - The sheet index. - - true if sheet is very hidden; otherwise, false. - - - - - Hide or Unhide a sheet - - The sheet index - True to mark the sheet as hidden, false otherwise - - - - Hide or unhide a sheet. - - The sheet number - 0 for not hidden, 1 for hidden, 2 for very hidden - - - - Returns the index of the sheet by his name - - the sheet name - index of the sheet (0 based) - - - - Returns the index of the given sheet - - the sheet to look up - index of the sheet (0 based).-1 - if not found - - - - Returns the external sheet index of the sheet - with the given internal index, creating one - if needed. - Used by some of the more obscure formula and - named range things. - - Index of the internal sheet. - - - - - Create an HSSFSheet for this HSSFWorkbook, Adds it to the sheets and returns - the high level representation. Use this to Create new sheets. - - HSSFSheet representing the new sheet. - - - - Create an HSSFSheet from an existing sheet in the HSSFWorkbook. - - the sheet index - HSSFSheet representing the Cloned sheet. - - - - Gets the name of the unique sheet. - - Name of the SRC. - - - - - Create an HSSFSheet for this HSSFWorkbook, Adds it to the sheets and - returns the high level representation. Use this to Create new sheets. - - sheetname to set for the sheet. - HSSFSheet representing the new sheet. - - - - Gets the sheets. - - - - - - Get the HSSFSheet object at the given index. - - index of the sheet number (0-based) - HSSFSheet at the provided index - - - - Get sheet with the given name (case insensitive match) - - name of the sheet - HSSFSheet with the name provided or null if it does not exist - - - - Removes sheet at the given index. - - index of the sheet (0-based) - - Care must be taken if the Removed sheet Is the currently active or only selected sheet in - the workbook. There are a few situations when Excel must have a selection and/or active - sheet. (For example when printing - see Bug 40414). - This method makes sure that if the Removed sheet was active, another sheet will become - active in its place. Furthermore, if the Removed sheet was the only selected sheet, another - sheet will become selected. The newly active/selected sheet will have the same index, or - one less if the Removed sheet was the last in the workbook. - - - - - Sets the repeating rows and columns for a sheet (as found in - File->PageSetup->Sheet). This Is function Is included in the workbook - because it Creates/modifies name records which are stored at the - workbook level. - - 0 based index to sheet. - 0 based start of repeating columns. - 0 based end of repeating columns. - 0 based start of repeating rows. - 0 based end of repeating rows. - - To set just repeating columns: - workbook.SetRepeatingRowsAndColumns(0,0,1,-1-1); - To set just repeating rows: - workbook.SetRepeatingRowsAndColumns(0,-1,-1,0,4); - To remove all repeating rows and columns for a sheet. - workbook.SetRepeatingRowsAndColumns(0,-1,-1,-1,-1); - - - - - Create a new Font and Add it to the workbook's font table - - new font object - - - - Finds a font that matches the one with the supplied attributes - - The bold weight. - The color. - Height of the font. - The name. - if set to true [italic]. - if set to true [strikeout]. - The type offset. - The underline. - - - - - Get the font at the given index number - - The index number - HSSFFont at the index - - - - Reset the fonts cache, causing all new calls - to getFontAt() to create new objects. - Should only be called after deleting fonts, - and that's not something you should normally do - - - - - Create a new Cell style and Add it to the workbook's style table - - the new Cell Style object - - - - Get the cell style object at the given index - - index within the Set of styles - HSSFCellStyle object at the index - - - Closes the underlying {@link NPOIFSFileSystem} from which - the Workbook was read, if any. Has no effect on Workbooks - opened from an InputStream, or newly created ones. - - - - Write out this workbook to an Outputstream. Constructs - a new POI POIFSFileSystem, passes in the workbook binary representation and - Writes it out. - - the java OutputStream you wish to Write the XLS to - - - - Get the bytes of just the HSSF portions of the XLS file. - Use this to construct a POI POIFSFileSystem yourself. - - byte[] array containing the binary representation of this workbook and all contained - sheets, rows, cells, etc. - - - The locator of user-defined functions. - By default includes functions from the Excel Analysis Toolpack - - - Register a new toolpack in this workbook. - - @param toopack the toolpack to register - - - - Gets the Named range - - position of the named range - named range high level - - - - Gets the named range name - - the named range index (0 based) - named range name - - - - TODO - make this less cryptic / move elsewhere - - Index to REF entry in EXTERNSHEET record in the Link Table - zero-based to DEFINEDNAME or EXTERNALNAME record - the string representation of the defined or external name - - - - Sets the printarea for the sheet provided - i.e. Reference = $A$1:$B$2 - - Zero-based sheet index (0 Represents the first sheet to keep consistent with java) - Valid name Reference for the Print Area - - - - Sets the print area. - - Zero-based sheet index (0 = First Sheet) - Column to begin printarea - Column to end the printarea - Row to begin the printarea - Row to end the printarea - - - - Retrieves the reference for the printarea of the specified sheet, the sheet name Is Appended to the reference even if it was not specified. - - Zero-based sheet index (0 Represents the first sheet to keep consistent with java) - String Null if no print area has been defined - - - - Delete the printarea for the sheet specified - - Zero-based sheet index (0 = First Sheet) - - - - Creates a new named range and Add it to the model - - named range high level - - - - Gets the named range index by his name - Note: - Excel named ranges are case-insensitive and - this method performs a case-insensitive search. - - named range name - named range index - - - - As GetNameIndex(String) is not necessarily unique - (name + sheet index is unique), this method is more accurate. - - the name whose index in the list of names of this workbook should be looked up. - an index value >= 0 if the name was found; -1, if the name was not found - - - - Remove the named range by his index - - The named range index (0 based) - - - - Creates the instance of HSSFDataFormat for this workbook. - - the HSSFDataFormat object - - - - Remove the named range by his name - - named range name - - - - As #removeName(String) is not necessarily unique (name + sheet index is unique), - this method is more accurate. - - the name to remove. - - - - Spits out a list of all the drawing records in the workbook. - - if set to true [fat]. - - - - Adds a picture to the workbook. - - The bytes of the picture - The format of the picture. One of - PictureType. - the index to this picture (1 based). - - - - Gets all pictures from the Workbook. - - the list of pictures (a list of HSSFPictureData objects.) - - - - Performs a recursive search for pictures in the given list of escher records. - - the escher records. - the list to populate with the pictures. - - - - Adds the LinkTable records required to allow formulas referencing - the specified external workbook to be added to this one. Allows - formulas such as "[MyOtherWorkbook]Sheet3!$A$5" to be added to the - file, for workbooks not already referenced. - - The name the workbook will be referenced as in formulas - The open workbook to fetch the link required information from - - - - - protect a workbook with a password (not encypted, just Sets Writeprotect - flags and the password. - - password to set - The username. - - - - Removes the Write protect flag - - - - - Gets all embedded OLE2 objects from the Workbook. - - the list of embedded objects (a list of HSSFObjectData objects.) - - - - Gets all embedded OLE2 objects from the Workbook. - - the list of records to search. - the list of embedded objects to populate. - - - - Recursively iterates a shape container to get all embedded objects. - - the parent. - the list of embedded objects to populate. - - - - Support foreach ISheet, e.g. - HSSFWorkbook workbook = new HSSFWorkbook(); - foreach(ISheet sheet in workbook) ... - - Enumeration of all the sheets of this workbook - - - Changes an external referenced file to another file. - A formular in Excel which refers a cell in another file is saved in two parts: - The referenced file is stored in an reference table. the row/cell information is saved separate. - This method invokation will only change the reference in the lookup-table itself. - @param oldUrl The old URL to search for and which is to be replaced - @param newUrl The URL replacement - @return true if the oldUrl was found and replaced with newUrl. Otherwise false - - - - Retrieves the current policy on what to do when - getting missing or blank cells from a row. - The default is to return blank and null cells. - - The missing cell policy. - - - - Gets the tab whose data is actually seen when the sheet is opened. - This may be different from the "selected sheet" since excel seems to - allow you to show the data of one sheet when another Is seen "selected" - in the tabs (at the bottom). - - - - - Gets or sets the first tab that is displayed in the list of tabs - in excel. - - - - - Get the number of spreadsheets in the workbook (this will be three after serialization) - - The number of sheets. - - - - determine whether the Excel GUI will backup the workbook when saving. - - the current Setting for backups. - - - - Get the number of fonts in the font table - - The number of fonts. - - - - Get the number of styles the workbook Contains - - count of cell styles - - - - Gets the workbook. - - The workbook. - - - - Gets the total number of named ranges in the workboko - - The number of named ranges - - - - Is the workbook protected with a password (not encrypted)? - - - true if this instance is write protected; otherwise, false. - - - - - Gets the new UID. - - The new UID. - - - - Whether the application shall perform a full recalculation when the workbook is opened. - - Typically you want to force formula recalculation when you modify cell formulas or values - of a workbook previously created by Excel. When set to true, this flag will tell Excel - that it needs to recalculate all formulas in the workbook the next time the file is opened. - - Note, that recalculation updates cached formula results and, thus, modifies the workbook. - Depending on the version, Excel may prompt you with "Do you want to save the changes in filename?" - on close. - - Value is true if the application will perform a full recalculation of - workbook values when the workbook is opened. - - since 3.8 - - - - - Totals the sizes of all sheet records and eventually serializes them - - - - This class Creates OperationEval instances to help evaluate OperationPtg - formula tokens. - - @author Josh Micich - - - returns the OperationEval concrete impl instance corresponding - to the supplied operationPtg - - - Allows the user to lookup the font metrics for a particular font without - actually having the font on the system. The font details are Loaded - as a resource from the POI jar file (or classpath) and should be contained - in path "/font_metrics.properties". The font widths are for a 10 point - version of the font. Use a multiplier for other sizes. - - @author Glen Stampoultzis (glens at apache.org) - - - The font metrics property file we're using - - - Our cache of font details we've alReady looked up - - - Retrieves the fake font details for a given font. - @param font the font to lookup. - @return the fake font. - - - 4 bytes - little endian - - - 2 bytes - little endian - - - 2 bytes - little endian - - - 8 bytes - serialized as big endian, stored with inverted endianness here - - - Read a GUID in standard text form e.g.
- 13579BDF-0246-8ACE-0123-456789ABCDEF -
->
- 0x13579BDF, 0x0246, 0x8ACE 0x0123456789ABCDEF -
- -

Title: HSSFCellRangeAddress

-

Description: - Implementation of the cell range Address lists,like Is described in - OpenOffice.org's Excel Documentation . - In BIFF8 there Is a common way to store absolute cell range Address - lists in several records (not formulas). A cell range Address list - consists of a field with the number of ranges and the list of the range - Addresses. Each cell range Address (called an AddR structure) Contains - 4 16-bit-values.

-

Copyright: Copyright (c) 2004

-

Company:

- @author Dragos Buleandra (dragos.buleandra@trade2b.ro) - @version 2.0-pre -
- - Number of following AddR structures - - - List of AddR structures. Each structure represents a cell range - - - Construct a new HSSFCellRangeAddress object and Sets its fields appropriately . - Even this Isn't an Excel record , I kept the same behavior for reading/writing - the object's data as for a regular record . - - @param in the RecordInputstream to read the record from - - - Add an AddR structure . - @param first_row - the upper left hand corner's row - @param first_col - the upper left hand corner's col - @param last_row - the lower right hand corner's row - @param last_col - the lower right hand corner's col - @return the index of this AddR structure - - - Remove the AddR structure stored at the passed in index - @param index The AddR structure's index - - - return the AddR structure at the given index. - @return AddrStructure representing - - - Get the number of following AddR structures. - The number of this structures Is automatically Set when reading an Excel file - and/or increased when you manually Add a new AddR structure . - This Is the reason there Isn't a Set method for this field . - @return number of AddR structures - - - Get the upper left hand corner column number - @return column number for the upper left hand corner - - - Get the upper left hand corner row number - @return row number for the upper left hand corner - - - Get the lower right hand corner column number - @return column number for the lower right hand corner - - - Get the lower right hand corner row number - @return row number for the lower right hand corner - - - * Title: Range Address - * Description: provides connectivity utilities for ranges - * - * - * REFERENCE: - * @author IgOr KaTz & EuGeNe BuMaGiN (Tal Moshaiov) (VistaPortal LDT.) - @version 1.0 - - - Accepts an external reference from excel. - - i.e. Sheet1!$A$4:$B$9 - @param _url - - - - @return String note: All absolute references are Removed - - - Utility class for helping convert RK numbers. - - @author Andrew C. Oliver (acoliver at apache dot org) - @author Glen Stampoultzis (glens at apache.org) - @author Rolf-J黵gen Moll - - @see org.apache.poi.hssf.record.MulRKRecord - @see org.apache.poi.hssf.record.RKRecord - - - Do the dirty work of decoding; made a private static method to - facilitate testing the algorithm - - - Returns a collection of ATP function names implemented by POI. - - @return an array of supported functions - @since 3.8 beta6 - - - Returns a collection of ATP function names NOT implemented by POI. - - @return an array of not supported functions - @since 3.8 beta6 - - - Register a ATP function in runtime. - - @param name the function name - @param func the functoin to register - @throws ArgumentException if the function is unknown or already registered. - @since 3.8 beta6 - - - Implementation of Excel 'Analysis ToolPak' function MROUND()
- - Returns a number rounded to the desired multiple.

- - Syntax
- MROUND(number, multiple) - -

- - @author Yegor Kozlov - - - Implementation of Excel 'Analysis ToolPak' function ISEVEN() ISODD()
- - @author Josh Micich -
- - * Implementation of Excel 'Analysis ToolPak' function RANDBETWEEN()
- * - * Returns a random integer number between the numbers you specify.

- * - * Syntax
- * RANDBETWEEN(bottom, top)

- * - * bottom is the smallest integer RANDBETWEEN will return.
- * top is the largest integer RANDBETWEEN will return.
- - * @author Brendan Nolan - - - Evaluate for RANDBETWEEN(). Must be given two arguments. Bottom must be greater than top. - Bottom is rounded up and top value is rounded down. After rounding top has to be set greater - than top. - - @see org.apache.poi.ss.formula.functions.FreeRefFunction#evaluate(org.apache.poi.ss.formula.eval.ValueEval[], org.apache.poi.ss.formula.OperationEvaluationContext) - - - Implementation of Excel 'Analysis ToolPak' function YEARFRAC()
- - Returns the fraction of the year spanned by two dates.

- - Syntax
- YEARFRAC(startDate, endDate, basis)

- - The basis optionally specifies the behaviour of YEARFRAC as follows: - - - - - - - - -
ValueDays per MonthDays per Year
0 (default)30360
1actualactual
2actual360
3actual365
430360
- - - -

- Internal calculation methods for Excel 'Analysis ToolPak' function YEARFRAC() - Algorithm inspired by www.dwheeler.com/yearfrac - @author Josh Micich - - - Date Count convention - http://en.wikipedia.org/wiki/Day_count_convention - - - Office Online Help on YEARFRAC - http://office.microsoft.com/en-us/excel/HP052093441033.aspx - -
- - use UTC time-zone to avoid daylight savings issues - - - the length of normal long months i.e. 31 - - - the length of normal short months i.e. 30 - - - - Calculates YEARFRAC() - - The start date. - The end date. - The basis value. - - - - - Basis 0, 30/360 date convention - - The start date value assumed to be less than or equal to endDateVal. - The end date value assumed to be greater than or equal to startDateVal. - - - - - Basis 1, Actual/Actual date convention - - The start date value assumed to be less than or equal to endDateVal. - The end date value assumed to be greater than or equal to startDateVal. - - - - - Basis 2, Actual/360 date convention - - The start date value assumed to be less than or equal to endDateVal. - The end date value assumed to be greater than or equal to startDateVal. - - - - - Basis 3, Actual/365 date convention - - The start date value assumed to be less than or equal to endDateVal. - The end date value assumed to be greater than or equal to startDateVal. - - - - - Basis 4, European 30/360 date convention - - The start date value assumed to be less than or equal to endDateVal. - The end date value assumed to be greater than or equal to startDateVal. - - - - - Calculates the adjusted. - - The start date. - The end date. - The date1day. - The date2day. - - - - - Determines whether [is last day of month] [the specified date]. - - The date. - - true if [is last day of month] [the specified date]; otherwise, false. - - - - - Gets the last day of month. - - The date. - - - - - Assumes dates are no more than 1 year apart. - - The start. - The end. - true - if dates both within a leap year, or span a period including Feb 29 - - - - return the whole number of days between the two time-stamps. Both time-stamps are - assumed to represent 12:00 midnight on the respective day. - - The start date ticks. - The end date ticks. - - - - - Averages the length of the year. - - The start year. - The end year. - - - - - determine Leap Year - - the year - - - - - Determines whether [is greater than one year] [the specified start]. - - The start date. - The end date. - - true if [is greater than one year] [the specified start]; otherwise, false. - - - - - Creates the date. - - The day count. - - - - - Simple Date Wrapper - - - - 1-based month - - - day of month - - - milliseconds since 1970 - - - Stores the parameters that identify the evaluation of one cell.
-
- - A (mostly) opaque interface To allow test clients To trace cache values - Each spreadsheet cell Gets one unique cache entry instance. These objects - are safe To use as keys in {@link java.util.HashMap}s - - - Calls formulaCell.SetFormulaResult(null, null) recursively all the way up the tree of - dependencies. Calls usedCell.ClearConsumingCell(fc) for each child of a cell that Is - Cleared along the way. - @param formulaCells - - - Identical To {@link #RecurseClearCachedFormulaResults()} except for the listener call-backs - - - Stores details about the current evaluation of a cell.
-
- - @param inputCell a cell directly used by the formula of this evaluation frame - - - @return never null, (possibly empty) array of all cells directly used while - evaluating the formula of this frame. - - - Manages a collection of {@link WorkbookEvaluator}s, in order To support evaluation of formulas - across spreadsheets.

- - For POI internal use only - - @author Josh Micich - - - - - - Performance optimisation for {@link HSSFFormulaEvaluator}. This class stores previously - calculated values of already visited cells, To avoid unnecessary re-calculation when the - same cells are referenced multiple times - - - @author Josh Micich - - - only used for testing. null otherwise - - - Should be called whenever there are Changes To input cells in the evaluated workbook. - - -

- Instances of this class keep track of multiple dependent cell evaluations due - To recursive calls To - The main purpose of this class is To detect an attempt To evaluate a cell - that is already being evaluated. In other words, it detects circular - references in spreadsheet formulas. - - - @author Josh Micich - -
- - Notifies this evaluation tracker that evaluation of the specified cell Is - about To start.
- - In the case of a true return code, the caller should - continue evaluation of the specified cell, and also be sure To call - endEvaluate() when complete.
- - In the case of a null return code, the caller should - return an evaluation result of - ErrorEval.CIRCULAR_REF_ERROR, and not call endEvaluate(). -
- @return false if the specified cell is already being evaluated -
- - Notifies this evaluation tracker that the evaluation of the specified cell is complete.

- - Every successful call To startEvaluate must be followed by a call To endEvaluate (recommended in a finally block) To enable - proper tracking of which cells are being evaluated at any point in time.

- - Assuming a well behaved client, parameters To this method would not be - required. However, they have been included To assert correct behaviour, - and form more meaningful error messages. - - - Evaluation of 2D (Row+Column) and 3D (Sheet+Row+Column) areas - - - returns true if the cell at row and col specified - as absolute indexes in the sheet is contained in - this area. - @param row - @param col - - - returns true if the specified col is in range - @param col - - - returns true if the specified row is in range - @param row - - - @return the ValueEval from within this area at the specified row and col index. Never - null (possibly {@link BlankEval}). The specified indexes should be absolute - indexes in the sheet and not relative indexes within the area. - - - @return the ValueEval from within this area at the specified relativeRowIndex and - relativeColumnIndex. Never null (possibly {@link BlankEval}). The - specified indexes should relative to the top left corner of this area. - - - Creates an {@link AreaEval} offset by a relative amount from from the upper left cell - of this area - - - returns the 0-based index of the first row in - this area. - - - returns the 0-based index of the last row in - this area. - - - returns the 0-based index of the first col in - this area. - - - returns the 0-based index of the last col in - this area. - - - @author Josh Micich - - - @return whether cell at rowIndex and columnIndex is a subtotal. - By default return false which means 'don't care about subtotals' - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > This class is a - marker class. It is a special value for empty cells. - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @return never null, possibly empty string. - - - Convenience method for the following:
- (b ? BoolEval.TRUE : BoolEval.FALSE) - @return a BoolEval instance representing b. -
- - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - #NULL! - Intersection of two cell ranges is empty - - - #DIV/0! - Division by zero - - - #VALUE! - Wrong type of operand - - - #REF! - Illegal or deleted cell reference - - - #NAME? - Wrong function or range name - - - #NUM! - Value range overflow - - - #N/A - Argument or function not available - - - Translates an Excel internal error code into the corresponding POI ErrorEval instance - @param errorCode - - - Converts error codes to text. Handles non-standard error codes OK. - For debug/test purposes (and for formatting error messages). - @return the String representation of the specified Excel error code. - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - This class is used to simplify error handling logic within operator and function - implementations. Note - OperationEval.Evaluate() and Function.Evaluate() - method signatures do not throw this exception so it cannot propagate outside.

- - Here is an example coded without EvaluationException, to show how it can help: -

-             public Eval Evaluate(Eval[] args, int srcRow, short srcCol) {
-            	// ...
-            	Eval arg0 = args[0];
-            	if(arg0 is ErrorEval) {
-            		return arg0;
-            	}
-            	if(!(arg0 is AreaEval)) {
-            		return ErrorEval.VALUE_INVALID;
-            	}
-            	double temp = 0;
-            	AreaEval area = (AreaEval)arg0;
-            	ValueEval[] values = area.LittleEndianConstants.BYTE_SIZE;
-            	for (int i = 0; i < values.Length; i++) {
-            		ValueEval ve = values[i];
-            		if(ve is ErrorEval) {
-            			return ve;
-            		}
-            		if(!(ve is NumericValueEval)) {
-            			return ErrorEval.VALUE_INVALID;
-            		}
-            		temp += ((NumericValueEval)ve).NumberValue;
-            	}
-            	// ...
-             }	 
-             
- In this example, if any error is encountered while Processing the arguments, an error is - returned immediately. This code is difficult to refactor due to all the points where errors - are returned.
- Using EvaluationException allows the error returning code to be consolidated to one - place.

-

-             public Eval Evaluate(Eval[] args, int srcRow, short srcCol) {
-            	try {
-            		// ...
-            		AreaEval area = GetAreaArg(args[0]);
-            		double temp = sumValues(area.LittleEndianConstants.BYTE_SIZE);
-            		// ...
-            	} catch (EvaluationException e) {
-            		return e.GetErrorEval();
-            	}
-            }
-            
-            private static AreaEval GetAreaArg(Eval arg0){
-            	if (arg0 is ErrorEval) {
-            		throw new EvaluationException((ErrorEval) arg0);
-            	}
-            	if (arg0 is AreaEval) {
-            		return (AreaEval) arg0;
-            	}
-            	throw EvaluationException.InvalidValue();
-            }
-            
-            private double sumValues(ValueEval[] values){
-            	double temp = 0;
-            	for (int i = 0; i < values.Length; i++) {
-            		ValueEval ve = values[i];
-            		if (ve is ErrorEval) {
-            			throw new EvaluationException((ErrorEval) ve);
-            		}
-            		if (!(ve is NumericValueEval)) {
-            			throw EvaluationException.InvalidValue();
-            		}
-            		temp += ((NumericValueEval) ve).NumberValue;
-            	}
-            	return temp;
-            }
-             
- It is not mandatory to use EvaluationException, doing so might give the following advantages:
- - Methods can more easily be extracted, allowing for re-use.
- - Type management (typecasting etc) is simpler because error conditions have been Separated from - intermediate calculation values.
- - Fewer local variables are required. Local variables can have stronger types.
- - It is easier to mimic common Excel error handling behaviour (exit upon encountering first - error), because exceptions conveniently propagate up the call stack regardless of execution - points or the number of levels of nested calls.

- - Note - Only standard evaluation errors are represented by EvaluationException ( - i.e. conditions expected to be encountered when evaluating arbitrary Excel formulas). Conditions - that could never occur in an Excel spReadsheet should result in runtime exceptions. Care should - be taken to not translate any POI internal error into an Excel evaluation error code. - - @author Josh Micich - - - #VALUE! - Wrong type of operand - - - #REF! - Illegal or deleted cell reference - - - #NUM! - Value range overflow - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - Register a new function in runtime. - - @param name the function name - @param func the functoin to register - @throws ArgumentException if the function is unknown or already registered. - @since 3.8 beta6 - - - Returns a collection of function names implemented by POI. - - @return an array of supported functions - @since 3.8 beta6 - - - Returns an array of function names NOT implemented by POI. - - @return an array of not supported functions - @since 3.8 beta6 - - - Some function IDs that require special treatment - - - 1 - - - 78 - - - 100 - - - 148 - - - 255 - - - @author Josh Micich - - - @return simple rectangular {@link AreaEval} which represents the intersection of areas - aeA and aeB. If the two areas do not intersect, the result is null. - - - @author Josh Micich - - - Creates a NameEval representing a function name - - - Evaluation of a Name defined in a Sheet or Workbook scope - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - Provides functionality for evaluating arguments to functions and operators. - - @author Josh Micich - - - Retrieves a single value from a variety of different argument types according to standard - Excel rules. Does not perform any type conversion. - @param arg the Evaluated argument as passed to the function or operator. - @param srcCellRow used when arg is a single column AreaRef - @param srcCellCol used when arg is a single row AreaRef - @return a NumberEval, StringEval, BoolEval or BlankEval. - Never null or ErrorEval. - @throws EvaluationException(#VALUE!) if srcCellRow or srcCellCol do not properly index into - an AreaEval. If the actual value retrieved is an ErrorEval, a corresponding - EvaluationException is thrown. - - - Implements (some perhaps not well known) Excel functionality to select a single cell from an - area depending on the coordinates of the calling cell. Here is an example demonstrating - both selection from a single row area and a single column area in the same formula. - - - - - - - -
A B C D
1152025
2 200
3 300
3 400
- - If the formula "=1000+A1:B1+D2:D3" is put into the 9 cells from A2 to C4, the spReadsheet - will look like this: - - - - - - - -
A B C D
1152025
212151220#VALUE!200
313151320#VALUE!300
4#VALUE!#VALUE!#VALUE!400
- - Note that the row area (A1:B1) does not include column C and the column area (D2:D3) does - not include row 4, so the values in C1(=25) and D4(=400) are not accessible to the formula - as written, but in the 4 cells A2:B3, the row and column selection works ok.

- - The same concept is extended to references across sheets, such that even multi-row, - multi-column areas can be useful.

- - Of course with carefully (or carelessly) chosen parameters, cyclic references can occur and - hence this method can throw a 'circular reference' EvaluationException. Note that - this method does not attempt to detect cycles. Every cell in the specified Area ae - has already been Evaluated prior to this method call. Any cell (or cells) part of - ae that would incur a cyclic reference error if selected by this method, will - already have the value ErrorEval.CIRCULAR_REF_ERROR upon entry to this method. It - is assumed logic exists elsewhere to produce this behaviour. - - @return whatever the selected cell's Evaluated value Is. Never null. Never - ErrorEval. - @if there is a problem with indexing into the area, or if the - Evaluated cell has an error. - - - @return possibly ErrorEval, and null - - - Applies some conversion rules if the supplied value is not already an integer.
- Value is first Coerced to a double ( See CoerceValueTodouble() ).

- - Excel typically Converts doubles to integers by truncating toward negative infinity.
- The equivalent java code Is:
- return (int)Math.floor(d);
- not:
- return (int)d; // wrong - rounds toward zero - - - - Applies some conversion rules if the supplied value is not already a number. - Note - BlankEval is not supported and must be handled by the caller. - @param ev must be a NumberEval, StringEval or BoolEval - @return actual, Parsed or interpreted double value (respectively). - @throws EvaluationException(#VALUE!) only if a StringEval is supplied and cannot be Parsed - as a double (See Parsedouble() for allowable formats). - @throws Exception if the supplied parameter is not NumberEval, - StringEval or BoolEval - - - Converts a string to a double using standard rules that Excel would use.
- Tolerates currency prefixes, commas, leading and trailing spaces.

- - Some examples:
- " 123 " -> 123.0
- ".123" -> 0.123
- These not supported yet:
- " $ 1,000.00 " -> 1000.0
- "$1.25E4" -> 12500.0
- "5**2" -> 500
- "250%" -> 2.5
- - @param text - @return null if the specified text cannot be Parsed as a number - - - @param ve must be a NumberEval, StringEval, BoolEval, or BlankEval - @return the Converted string value. never null - - - @return null to represent blank values - @throws EvaluationException if ve is an ErrorEval, or if a string value cannot be converted - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - Implementation of Excel formula token '%'.

- @author Josh Micich - - - - @author Josh Micich - - - @author Amol S Deshmukh < amolweb at ya hoo dot com > - - RefEval is the base interface for Ref2D and Ref3DEval. Basically a RefEval - impl should contain reference to the original ReferencePtg or Ref3DPtg as - well as the "value" resulting from the evaluation of the cell - reference. Thus if the HSSFCell has type CELL_TYPE_NUMERIC, the contained - value object should be of type NumberEval; if cell type is CELL_TYPE_STRING, - contained value object should be of type StringEval - - - The (possibly Evaluated) ValueEval contained - in this RefEval. eg. if cell A1 Contains "test" - then in a formula referring to cell A1 - the RefEval representing - A1 will return as the InnerValueEval the - object of concrete type StringEval - - - Creates an {@link AreaEval} offset by a relative amount from this RefEval - - - returns the zero based column index. - - - returns the zero based row index. - - - returns the first sheet index this applies to - - - returns the last sheet index this applies to, which - will be the same as the first for a 2D and many 3D references - - - returns the number of sheets this applies to - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo Dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - This is a documentation of the observed behaviour of - the '+' operator in Excel: - - - 1+TRUE = 2 - - 1+FALSE = 1 - - 1+"true" = #VALUE! - - 1+"1" = 2 - - 1+A1 = #VALUE if A1 Contains "1" - - 1+A1 = 2 if A1 Contains ="1" - - 1+A1 = 2 if A1 Contains TRUE or =TRUE - - 1+A1 = #VALUE! if A1 Contains "TRUE" or ="TRUE" - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - Should be implemented by any {@link Ptg} subclass that needs Has an extern sheet index
- - For POI internal use only - - @author Josh Micich -
- - Encapsulates an encoded formula token array. - - @author Josh Micich - - - immutable - - - Convenience method for {@link #read(int, LittleEndianInput, int)} - - - When there are no array constants present, encodedTokenLen==totalEncodedLen - @param encodedTokenLen number of bytes in the stream taken by the plain formula tokens - @param totalEncodedLen the total number of bytes in the formula (includes trailing encoding - for array constants, but does not include 2 bytes for initial ushort encodedTokenLen field. - @return A new formula object as read from the stream. Possibly empty, never null. - - - Writes The formula encoding is includes: -

    -
  • ushort tokenDataLen
  • -
  • tokenData
  • -
  • arrayConstantData (if present)
  • -
-
- - Creates a {@link Formula} object from a supplied {@link Ptg} array. - Handles nulls OK. - @param ptgs may be null - @return Never null (Possibly empty if the supplied ptgs is null) - - - Gets the {@link Ptg} array from the supplied {@link Formula}. - Handles nulls OK. - - @param formula may be null - @return possibly null (if the supplied formula is null) - - - @return total formula encoding length. The formula encoding includes: -
    -
  • ushort tokenDataLen
  • -
  • tokenData
  • -
  • arrayConstantData (optional)
  • -
- Note - this value is different to tokenDataLength -
- - This method is often used when the formula length does not appear immediately before - the encoded token data. - - @return the encoded length of the plain formula tokens. This does not include - the leading ushort field, nor any trailing array constant data. - - - Gets the locator for the corresponding {@link SharedFormulaRecord}, {@link ArrayRecord} or - {@link TableRecord} if this formula belongs to such a grouping. The {@link CellReference} - returned by this method will match the top left corner of the range of that grouping. - The return value is usually not the same as the location of the cell containing this formula. - - @return the firstRow & firstColumn of an array formula or shared formula that this formula - belongs to. null if this formula is not part of an array or shared formula. - - - - @author Josh Micich - - - @return null if not found - - - Stores the cached result of a formula evaluation, along with the Set of sensititive input cells - - @author Josh Micich - - - Cells 'used' in the current evaluation of the formula corresponding To this cache entry - - If any of the following cells Change, this cache entry needs To be Cleared - - - A custom implementation of {@link java.util.HashSet} in order To reduce memory consumption. - - Profiling tests (Oct 2008) have shown that each element {@link FormulaCellCacheEntry} takes - around 32 bytes To store in a HashSet, but around 6 bytes To store here. For Spreadsheets with - thousands of formula cells with multiple interdependencies, the savings can be very significant. - - @author Josh Micich - - - - Specific exception thrown when a supplied formula does not Parse properly. - Primarily used by test cases when testing for specific parsing exceptions. - - - - - This class was given package scope until it would become Clear that it is useful to general client code. - - - - - Lookahead Character. - Gets value '\0' when the input string is exhausted - - - Create the formula Parser, with the string that is To be - Parsed against the supplied workbook. - A later call the Parse() method To return ptg list in - rpn order, then call the GetRPNPtg() To retrive the - Parse results. - This class is recommended only for single threaded use. - - If you only have a usermodel.HSSFWorkbook, and not a - model.Workbook, then use the convenience method on - usermodel.HSSFFormulaEvaluator - - - Parse a formula into a array of tokens - - @param formula the formula to parse - @param workbook the parent workbook - @param formulaType the type of the formula, see {@link FormulaType} - @param sheetIndex the 0-based index of the sheet this formula belongs to. - The sheet index is required to resolve sheet-level names. -1 means that - the scope of the name will be ignored and the parser will match names only by name - - @return array of parsed tokens - @throws FormulaParseException if the formula is unparsable - - - Read New Character From Input Stream - - - Report What Was Expected - - - Recognize an Alpha Character - - - Recognize a Decimal Digit - - - Recognize an Alphanumeric - - - Recognize White Space - - - Skip Over Leading White Space - - - Consumes the next input character if it is equal To the one specified otherwise throws an - unchecked exception. This method does not consume whitespace (before or after the - matched character). - - - Get a Number - - - From OOO doc: "Whenever one operand of the reference subexpression is a function, - a defined name, a 3D reference, or an external reference (and no error occurs), - a tMemFunc token is used" - - - - - @return true if the specified character may be used in a defined name - - - @param currentParsePosition used to format a potential error message - - - @return false if sub-expression represented the specified ParseNode definitely - cannot appear on either side of the range (':') operator - - - Parses area refs (things which could be the operand of ':') and simple factors - Examples -
-               A$1
-               $A$1 :  $B1
-               A1 .......	C2
-               Sheet1 !$A1
-               a..b!A1
-               'my sheet'!A1
-               .my.sheet!A1
-               'my sheet':'my alt sheet'!A1
-               .my.sheet1:.my.sheet2!$B$2
-               my.named..range.
-               'my sheet'!my.named.range
-               .my.sheet!my.named.range
-               foo.bar(123.456, "abc")
-               123.456
-               "abc"
-               true
-               [Foo.xls]!$A$1
-               [Foo.xls]'my sheet'!$A$1
-               [Foo.xls]!my.named.range
-             
- -
- - Parses simple factors that are not primitive ranges or range components - i.e. '!', ':'(and equiv '...') do not appear - Examples -
-              my.named...range.
-              foo.bar(123.456, "abc")
-              123.456
-              "abc"
-              true
-            
-
- - - @param sheetIden may be null - @param part1 - @param part2 may be null - - - Parses out a potential LHS or RHS of a ':' intended to produce a plain AreaRef. Normally these are - proper cell references but they could also be row or column refs like "$AC" or "10" - @return null (and leaves {@link #_pointer} unchanged if a proper range part does not parse out - - - - "A1", "B3" -> "A1:B3" - "sheet1!A1", "B3" -> "sheet1!A1:B3" - - @return null if the range expression cannot / shouldn't be reduced. - - - Note - caller should reset {@link #_pointer} upon null result - @return The sheet name as an identifier null if '!' is not found in the right place - - - If we have something that looks like [book]Sheet1: or - Sheet1, see if it's actually a range eg Sheet1:Sheet2! - - - very similar to {@link SheetNameFormatter#isSpecialChar(char)} - - - @return true if the specified name is a valid cell reference - - - Note - Excel Function names are 'case aware but not case sensitive'. This method may end - up creating a defined name record in the workbook if the specified name is not an internal - Excel Function, and Has not been encountered before. - - @param name case preserved Function name (as it was entered/appeared in the formula). - - - * Generates the variable Function ptg for the formula. - * - * For IF Formulas, Additional PTGs are Added To the Tokens - * @param name a {@link NamePtg} or {@link NameXPtg} or null - * @return Ptg a null is returned if we're in an IF formula, it needs extreme manipulation and is handled in this Function - - - Get arguments To a Function - - - Parse and Translate a Math Factor - - - factors (without ^ or % ) - - - Get a PTG for an integer from its string representation. - return Int or Number Ptg based on size of input - - - Parse and Translate a Math Term - - - Parse and Translate an Expression - - - API call To execute the parsing of the formula - - - - A1, $A1, A$1, $A$1, A, 1 - - - @return true if the two range parts can be combined in an - {@link AreaPtg} ( Note - the explicit range operator (:) may still be valid - when this method returns false ) - - - Common logic for rendering formulas.
- - For POI internal use only - - @author Josh Micich -
- - Static method To convert an array of {@link Ptg}s in RPN order - To a human readable string format in infix mode. - @param book used for defined names and 3D references - @param ptgs must not be null - @return a human readable String - - - Enumeration of various formula types.
- - For POI internal use only - - @author Josh Micich -
- - Optimisation - compacts many blank cell references used by a single formula. - - @author Josh Micich - - - Creates a text reference as text, given specified row and column numbers. - - @author Aniket Banerjee (banerjee@google.com) - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - ignore nested subtotals. - - - Returns the k-th percentile of values in a range. You can use this function to establish a threshold of - acceptance. For example, you can decide to examine candidates who score above the 90th percentile. - - PERCENTILE(array,k) - Array is the array or range of data that defines relative standing. - K is the percentile value in the range 0..1, inclusive. - - Remarks -
    -
  • if array is empty or Contains more than 8,191 data points, PERCENTILE returns the #NUM! error value.
  • -
  • If k is nonnumeric, PERCENTILE returns the #VALUE! error value.
  • -
  • If k is < 0 or if k > 1, PERCENTILE returns the #NUM! error value.
  • -
  • If k is not a multiple of 1/(n - 1), PERCENTILE interpolates to determine the value at the k-th percentile.
  • -
-
- - Here are the general rules concerning Boolean functions: -
    -
  1. Blanks are ignored (not either true or false)
  2. -
  3. Strings are ignored if part of an area ref or cell ref, otherwise they must be 'true' or 'false'
  4. -
  5. Numbers: 0 is false. Any other number is TRUE
  6. -
  7. Areas: *all* cells in area are evaluated according to the above rules
  8. -
- - @author Amol S. Deshmukh < amolweb at ya hoo dot com > -
- - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - Convenience base class for functions that only take zero arguments. - - @author Josh Micich - - - Implemented by all functions that can be called with zero arguments - - @author Josh Micich - - - see {@link Function#Evaluate(ValueEval[], int, int)} - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - Implementation of Excel functions Date parsing functions: - Date - DAY, MONTH and YEAR - Time - HOUR, MINUTE and SECOND - - @author Others (not mentioned in code) - @author Thies Wellpott - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Josh Micich - - - Implementation for Excel COLUMNS function. - - @author Josh Micich - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - Counts the number of cells that contain numeric data within - the list of arguments. - - Excel Syntax - COUNT(value1,value2,...) - Value1, value2, ... are 1 to 30 arguments representing the values or ranges to be Counted. - - TODO: Check this properly Matches excel on edge cases - like formula cells, error cells etc - - - Create an instance of Count to use in {@link Subtotal} -

- If there are other subtotals within argument refs (or nested subtotals), - these nested subtotals are ignored to avoid double counting. -

- - @see Subtotal -
- - Common interface for the matching criteria. - - - Counts the number of cells that contain data within the list of arguments. - - Excel Syntax - COUNTA(value1,value2,...) - Value1, value2, ... are 1 to 30 arguments representing the values or ranges to be Counted. - - @author Josh Micich - - - don't count cells that are subtotals - - - Implementation for the function COUNTBLANK -

- Syntax: COUNTBLANK ( range ) - - -
range is the range of cells to count blanks
-

- - @author Mads Mohr Christensen -
- - Implementation for the function COUNTIF

- - Syntax: COUNTIF ( range, criteria ) - - - -
range is the range of cells to be Counted based on the criteria
criteriais used to determine which cells to Count
-

- - @author Josh Micich - - - @return the number of evaluated cells in the range that match the specified criteria - - - - @return the de-referenced criteria arg (possibly {@link ErrorEval}) - - - When the second argument is a string, many things are possible - - - Creates a criteria predicate object for the supplied criteria arg - @return null if the arg evaluates to blank. - - - bool literals ('TRUE', 'FALSE') treated similarly but NOT same as numbers. - - - @return number of characters used to represent this operator - - -

- Translates Excel countif wildcard strings into .NET regex strings - - Excel wildcard expression - return null if the specified value contains no special wildcard characters. -
- - Common logic for COUNT, COUNTA and COUNTIF - - @author Josh Micich - - - @return the number of evaluated cells in the range that match the specified criteria - - - @return the number of evaluated cells in the range that match the specified criteria - - - @author Pavel Krupets (pkrupets at palmtreebusiness dot com) - - - Convenience base class for functions that must take exactly three arguments. - - @author Josh Micich - - - * Note - works with Java Calendar months, not Excel months - * Java Calendar month = Excel month + 1 - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - Super class for all Evals for financial function evaluation. - - - - Implemented by all functions that can be called with four arguments - - @author Josh Micich - - - see {@link Function#Evaluate(ValueEval[], int, int)} - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - This class Is a functon library for common fiscal functions. - Glossary of terms/abbreviations: -
-
    -
  • FV: Future Value
  • -
  • PV: Present Value
  • -
  • NPV: Net Present Value
  • -
  • PMT: (Periodic) Payment
  • - -
- For more info on the terms/abbreviations please use the references below - (hyperlinks are subject to Change): -
Online References: -
    -
  1. GNU Emacs Calc 2.02 Manual: http://theory.uwinnipeg.ca/gnu/calc/calc_203.html
  2. -
  3. Yahoo Financial Glossary: http://biz.yahoo.com/f/g/nn.html#y
  4. -
  5. MS Excel function reference: http://office.microsoft.com/en-us/assistance/CH062528251033.aspx
  6. -
-

Implementation Notes:

- Symbols used in the formulae that follow:
-
    -
  • p: present value
  • -
  • f: future value
  • -
  • n: number of periods
  • -
  • y: payment (in each period)
  • -
  • r: rate
  • -
  • ^: the power operator (NOT the java bitwise XOR operator!)
  • -
- [From MS Excel function reference] Following are some of the key formulas - that are used in this implementation: -
-            p(1+r)^n + y(1+rt)((1+r)^n-1)/r + f=0   ...{when r!=0}
-            ny + p + f=0                            ...{when r=0}
-            
-
- - Future value of an amount given the number of payments, rate, amount - of individual payment, present value and bool value indicating whether - payments are due at the beginning of period - (false => payments are due at end of period) - @param r rate - @param n num of periods - @param y pmt per period - @param p future value - @param t type (true=pmt at end of period, false=pmt at begining of period) - - - Present value of an amount given the number of future payments, rate, amount - of individual payment, future value and bool value indicating whether - payments are due at the beginning of period - (false => payments are due at end of period) - @param r - @param n - @param y - @param f - @param t - - - calculates the Net Present Value of a principal amount - given the disCount rate and a sequence of cash flows - (supplied as an array). If the amounts are income the value should - be positive, else if they are payments and not income, the - value should be negative. - @param r - @param cfs cashflow amounts - - - - @param r - @param n - @param p - @param f - @param t - - - - @param r - @param y - @param p - @param f - @param t - - - Convenience base class for functions that must take exactly four arguments. - - @author Josh Micich - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - Implementation of the HLOOKUP() function.

- - HLOOKUP Finds a column in a lookup table by the first row value and returns the value from another row.
- - Syntax:
- HLOOKUP(lookup_value, table_array, row_index_num, range_lookup)

- - lookup_value The value to be found in the first column of the table array.
- table_array An area reference for the lookup data.
- row_index_num a 1 based index specifying which row value of the lookup data will be returned.
- range_lookup If TRUE (default), HLOOKUP Finds the largest value less than or equal to - the lookup_value. If FALSE, only exact Matches will be considered
- - @author Josh Micich - - - Returns one column from an AreaEval - - @(#VALUE!) if colIndex Is negative, (#REF!) if colIndex Is too high - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - Implementation for the Excel function INDEX - - Syntax :
- INDEX ( reference, row_num[, column_num [, area_num]])
- INDEX ( array, row_num[, column_num]) - - - - - - -
referencetypically an area reference, possibly a union of areas
arraya literal array value (currently not supported)
row_numselects the row within the array or area reference
column_numselects column within the array or area reference. default Is 1
area_numused when reference Is a union of areas
- - @author Josh Micich -
- - @param colArgWasPassed false if the INDEX argument lIst had just 2 items - (exactly 1 comma). If anything Is passed for the column_num argument - (including {@link BlankEval} or {@link MIssingArgEval}) this parameter will be - true. ThIs parameter is needed because error codes are slightly - different when only 2 args are passed. - - - @param arg a 1-based index. - @return the Resolved 1-based index. Zero if the arg was missing or blank - @throws EvaluationException if the arg Is an error value evaluates to a negative numeric value - - - Implementation for Excel function INDIRECT

- - INDIRECT() returns the cell or area reference denoted by the text argument.

- - Syntax:
- INDIRECT(ref_text,isA1Style)

- - ref_text a string representation of the desired reference as it would normally be written - in a cell formula.
- isA1Style (default TRUE) specifies whether the ref_text should be interpreted as A1-style - or R1C1-style. - - - @author Josh Micich - - - @return array of length 2: {workbookName, sheetName,}. Second element will always be - present. First element may be null if sheetName is unqualified. - Returns null if text cannot be parsed. - - - @return null if there is a syntax error in any escape sequence - (the typical syntax error is a single quote character not followed by another). - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - Calculates the internal rate of return. - - Syntax is IRR(values) or IRR(values,guess) - - @author Marcel May - @author Yegor Kozlov - - @see Wikipedia on IRR - @see Excel IRR - - - Computes the internal rate of return using an estimated irr of 10 percent. - - @param income the income values. - @return the irr. - - - Calculates IRR using the Newton-Raphson Method. -

- Starting with the guess, the method cycles through the calculation until the result - is accurate within 0.00001 percent. If IRR can't find a result that works - after 20 tries, the Double.NaN is returned. -

-

- The implementation is inspired by the NewtonSolver from the Apache Commons-Math library, - @see http://commons.apache.org -

- - @param values the income values. - @param guess the initial guess of irr. - @return the irr value. The method returns Double.NaN - if the maximum iteration count is exceeded - - @see - http://en.wikipedia.org/wiki/Internal_rate_of_return#Numerical_solution - @see - http://en.wikipedia.org/wiki/Newton%27s_method -
- - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - Implementation of Excel function LOOKUP.

- - LOOKUP Finds an index row in a lookup table by the first column value and returns the value from another column. - - Syntax:
- VLOOKUP(lookup_value, lookup_vector, result_vector)

- - lookup_value The value to be found in the lookup vector.
- lookup_vector An area reference for the lookup data.
- result_vector Single row or single column area reference from which the result value Is chosen.
- - @author Josh Micich - - - Common functionality used by VLOOKUP, HLOOKUP, LOOKUP and MATCH - - @author Josh Micich - - - @return null if the supplied area is neither a single row nor a single colum - - - Processes the third argument to VLOOKUP, or HLOOKUP (col_index_num - or row_index_num respectively).
- Sample behaviour: - - - - - - - - - - - - - -
Input ReturnValue Thrown Error
54
2.92
"5"4
"2.18e1"21
"-$2"-3*
FALSE-1*
TRUE0
"TRUE" #REF!
"abc" #REF!
"" #REF!
<blank> #VALUE!

- - * Note - out of range errors (both too high and too low) are handled by the caller. - @return column or row index as a zero-based value - -
- - The second argument (table_array) should be an area ref, but can actually be a cell ref, in - which case it Is interpreted as a 1x1 area ref. Other scalar values cause #VALUE! error. - - - Resolves the last (optional) parameter (range_lookup) to the VLOOKUP and HLOOKUP functions. - @param rangeLookupArg - @param srcCellRow - @param srcCellCol - @return - @throws EvaluationException - - - Finds first (lowest index) exact occurrence of specified value. - @param lookupComparer the value to be found in column or row vector - @param vector the values to be searched. For VLOOKUP this Is the first column of the - tableArray. For HLOOKUP this Is the first row of the tableArray. - @return zero based index into the vector, -1 if value cannot be found - - - Excel has funny behaviour when the some elements in the search vector are the wrong type. - - - - Excel seems to handle mismatched types initially by just stepping 'mid' ix forward to the - first compatible value. - @param midIx 'mid' index (value which has the wrong type) - @return usually -1, signifying that the BinarySearchIndex has been narrowed to the new mid - index. Zero or greater signifies that an exact match for the lookup value was found - - - Once the binary search has found a single match, (V/H)LOOKUP steps one by one over subsequent - values to choose the last matching item. - - - @return one of 4 instances or CompareResult: LESS_THAN, EQUAL, - GREATER_THAN or TYPE_MISMATCH - - - used only for debug purposes - - - Enumeration to support 4 valued comparison results.

- Excel lookup functions have complex behaviour in the case where the lookup array has mixed - types, and/or Is Unordered. Contrary to suggestions in some Excel documentation, there - does not appear to be a Universal ordering across types. The binary search algorithm used - Changes behaviour when the Evaluated 'mid' value has a different type to the lookup value.

- - A simple int might have done the same job, but there Is risk in confusion with the well - known Comparable.CompareTo() and Comparator.Compare() which both use - a ubiquitous 3 value result encoding. - - - Encapsulates some standard binary search functionality so the Unusual Excel behaviour can - be clearly distinguished. - - - @return -1 if the search range Is empty - - - Implementation for the MATCH() Excel function.

- - Syntax:
- MATCH(lookup_value, lookup_array, match_type)

- - Returns a 1-based index specifying at what position in the lookup_array the specified - lookup_value Is found.

- - Specific matching behaviour can be modified with the optional match_type parameter. - - - - - - -
ValueMatching Behaviour
1(default) Find the largest value that Is less than or equal to lookup_value. - The lookup_array must be in ascending order*.
0Find the first value that Is exactly equal to lookup_value. - The lookup_array can be in any order.
-1Find the smallest value that Is greater than or equal to lookup_value. - The lookup_array must be in descending order*.
- - * Note regarding order - For the match_type cases that require the lookup_array to - be ordered, MATCH() can produce incorrect results if this requirement Is not met. Observed - behaviour in Excel Is to return the lowest index value for which every item after that index - breaks the match rule.
- The (ascending) sort order expected by MATCH() Is:
- numbers (low to high), strings (A to Z), bool (FALSE to TRUE)
- MATCH() ignores all elements in the lookup_array with a different type to the lookup_value. - Type conversion of the lookup_array elements Is never performed. - - - @author Josh Micich - - - @return zero based index - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - This class Is an extension to the standard math library - provided by java.lang.Math class. It follows the Math class - in that it has a private constructor and all static methods. - - - Returns a value rounded to p digits after decimal. - If p Is negative, then the number Is rounded to - places to the left of the decimal point. eg. - 10.23 rounded to -1 will give: 10. If p Is zero, - the returned value Is rounded to the nearest integral - value. - If n Is negative, the resulting value Is obtained - as the round value of absolute value of n multiplied - by the sign value of n (@see MathX.sign(double d)). - Thus, -0.6666666 rounded to p=0 will give -1 not 0. - If n Is NaN, returned value Is NaN. - @param n - @param p - - - Returns a value rounded-up to p digits after decimal. - If p Is negative, then the number Is rounded to - places to the left of the decimal point. eg. - 10.23 rounded to -1 will give: 20. If p Is zero, - the returned value Is rounded to the nearest integral - value. - If n Is negative, the resulting value Is obtained - as the round-up value of absolute value of n multiplied - by the sign value of n (@see MathX.sign(double d)). - Thus, -0.2 rounded-up to p=0 will give -1 not 0. - If n Is NaN, returned value Is NaN. - @param n - @param p - - - Returns a value rounded to p digits after decimal. - If p Is negative, then the number Is rounded to - places to the left of the decimal point. eg. - 10.23 rounded to -1 will give: 10. If p Is zero, - the returned value Is rounded to the nearest integral - value. - If n Is negative, the resulting value Is obtained - as the round-up value of absolute value of n multiplied - by the sign value of n (@see MathX.sign(double d)). - Thus, -0.8 rounded-down to p=0 will give 0 not -1. - If n Is NaN, returned value Is NaN. - @param n - @param p - - - average of all values - @param values - - - sum of all values - @param values - - - sum of squares of all values - @param values - - - product of all values - @param values - - - min of all values. If supplied array Is zero Length, - double.POSITIVE_INFINITY Is returned. - @param values - - - min of all values. If supplied array Is zero Length, - double.NEGATIVE_INFINITY Is returned. - @param values - - - Note: this function Is different from java.lang.Math.floor(..). - - When n and s are "valid" arguments, the returned value Is: Math.floor(n/s) * s; -
- n and s are invalid if any of following conditions are true: -

    -
  • s Is zero
  • -
  • n Is negative and s Is positive
  • -
  • n Is positive and s Is negative
  • -
- In all such cases, double.NaN Is returned. - @param n - @param s -
- - Note: this function Is different from java.lang.Math.ceil(..). - - When n and s are "valid" arguments, the returned value Is: Math.ceiling(n/s) * s; -
- n and s are invalid if any of following conditions are true: -
    -
  • s Is zero
  • -
  • n Is negative and s Is positive
  • -
  • n Is positive and s Is negative
  • -
- In all such cases, double.NaN Is returned. - @param n - @param s -
- -
for all n >= 1; factorial n = n * (n-1) * (n-2) * ... * 1 -
else if n == 0; factorial n = 1 -
else if n < 0; factorial n = double.NaN -
Loss of precision can occur if n Is large enough. - If n Is large so that the resulting value would be greater - than double.MAX_VALUE; double.POSITIVE_INFINITY Is returned. - If n < 0, double.NaN Is returned. - @param n -
- - returns the remainder resulting from operation: - n / d. -
The result has the sign of the divisor. -
Examples: -
    -
  • mod(3.4, 2) = 1.4
  • -
  • mod(-3.4, 2) = 0.6
  • -
  • mod(-3.4, -2) = -1.4
  • -
  • mod(3.4, -2) = -0.6
  • -
- If d == 0, result Is NaN - @param n - @param d -
- - inverse hyperbolic cosine - @param d - - - inverse hyperbolic sine - @param d - - - inverse hyperbolic tangent - @param d - - - hyperbolic cosine - @param d - - - hyperbolic sine - @param d - - - hyperbolic tangent - @param d - - - returns the sum of product of corresponding double value in each - subarray. It Is the responsibility of the caller to Ensure that - all the subarrays are of equal Length. If the subarrays are - not of equal Length, the return value can be Unpredictable. - @param arrays - - - returns the sum of difference of squares of corresponding double - value in each subarray: ie. sigma (xarr[i]^2-yarr[i]^2) -
- It Is the responsibility of the caller - to Ensure that the two subarrays are of equal Length. If the - subarrays are not of equal Length, the return value can be - Unpredictable. - @param xarr - @param yarr -
- - returns the sum of sum of squares of corresponding double - value in each subarray: ie. sigma (xarr[i]^2 + yarr[i]^2) -
- It Is the responsibility of the caller - to Ensure that the two subarrays are of equal Length. If the - subarrays are not of equal Length, the return value can be - Unpredictable. - @param xarr - @param yarr -
- - returns the sum of squares of difference of corresponding double - value in each subarray: ie. sigma ( (xarr[i]-yarr[i])^2 ) -
- It Is the responsibility of the caller - to Ensure that the two subarrays are of equal Length. If the - subarrays are not of equal Length, the return value can be - Unpredictable. - @param xarr - @param yarr -
- - returns the total number of combinations possible when - k items are chosen out of total of n items. If the number - Is too large, loss of precision may occur (since returned - value Is double). If the returned value Is larger than - double.MAX_VALUE, double.POSITIVE_INFINITY Is returned. - If either of the parameters Is negative, double.NaN Is returned. - @param n - @param k - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - if v is zero length or contains no duplicates, return value is - Double.NaN. Else returns the value that occurs most times and if there is - a tie, returns the first such value. - - @param v - - - Implementation of Excel function NA() - - @author Josh Micich - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - This Is the default implementation of a Function class. - The default behaviour Is to return a non-standard ErrorEval - "ErrorEval.FUNCTION_NOT_IMPLEMENTED". This error should alert - the user that the formula contained a function that Is not - yet implemented. - - - Implementation of Excel NOW() Function - - @author Frank Taffelt - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - Support for hyperbolic trig functions was Added as a part of - Java distribution only in JDK1.5. This class uses custom - naive implementation based on formulas at: - http://www.math2.org/math/trig/hyperbolics.htm - These formulas seem to agree with excel's implementation. - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - Support for hyperbolic trig functions was Added as a part of - Java distribution only in JDK1.5. This class uses custom - naive implementation based on formulas at: - http://www.math2.org/math/trig/hyperbolics.htm - These formulas seem to agree with excel's implementation. - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - Support for hyperbolic trig functions was Added as a part of - Java distribution only in JDK1.5. This class uses custom - naive implementation based on formulas at: - http://www.math2.org/math/trig/hyperbolics.htm - These formulas seem to agree with excel's implementation. - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - Log: LOG(number,[base]) - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - This checks is x = 0 and the mean = 0. - Excel currently returns the value 1 where as the - maths common implementation will error. - @param x The number. - @param mean The mean. - @return If a default value should be returned. - - - All long-representable factorials - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - Implementation for Excel function OFFSet()

- - OFFSet returns an area reference that Is a specified number of rows and columns from a - reference cell or area.

- - Syntax:
- OFFSet(reference, rows, cols, height, width)

- reference Is the base reference.
- rows Is the number of rows up or down from the base reference.
- cols Is the number of columns left or right from the base reference.
- height (default same height as base reference) Is the row Count for the returned area reference.
- width (default same width as base reference) Is the column Count for the returned area reference.
- - @author Josh Micich - - - OFFSet's numeric arguments (2..5) have similar Processing rules - - - Fractional values are silently truncated by Excel. - Truncation Is toward negative infinity. - - - Exceptions are used within this class to help simplify flow control when error conditions - are enCountered - - - A one dimensional base + offset. Represents either a row range or a column range. - Two instances of this class toGether specify an area range. - - - Moves the range by the specified translation amount.

- - This method also 'normalises' the range: Excel specifies that the width and height - parameters (Length field here) cannot be negative. However, OFFSet() does produce - sensible results in these cases. That behavior Is replicated here.

- - @param translationAmount may be zero negative or positive - - @return the equivalent LinearOffsetRange with a positive Length, moved by the - specified translationAmount. - - - Encapsulates either an area or cell reference which may be 2d or 3d. - - - Implementation for the PMT() Excel function.

- - Syntax:
- PMT(rate, nper, pv, fv, type)

- - Returns the constant repayment amount required for a loan assuming a constant interest rate.

- - rate the loan interest rate.
- nper the number of loan repayments.
- pv the present value of the future payments (or principle).
- fv the future value (default zero) surplus cash at the end of the loan lifetime.
- type whether payments are due at the beginning(1) or end(0 - default) of each payment period.
- - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - Implementation for Excel ROWS function. - - @author Josh Micich - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - Library for common statistics functions - - - returns the mean of deviations from mean. - @param v - - - if v Is zero Length or Contains no duplicates, return value - Is double.NaN. Else returns the value that occurs most times - and if there Is a tie, returns the first such value. - @param v - - - Implementation for the Excel function SUBTOTAL

- - Syntax :
- SUBTOTAL ( functionCode, ref1, ref2 ... )
- - - -
functionCode(1-11) Selects the underlying aggregate function to be used (see table below)
ref1, ref2 ...Arguments to be passed to the underlying aggregate function

-

- - - - - - - - - - - - - - - -
functionCodeAggregate Function
1AVERAGE
2COUNT
3COUNTA
4MAX
5MIN
6PRODUCT
7STDEV
8STDEVP *
9SUM
10VAR *
11VARP *
101-111*

- * Not implemented in POI yet. Functions 101-111 are the same as functions 1-11 but with - the option 'ignore hidden values'. -

- - @author Paul Tomlin < pault at bulk sms dot com > - - - Implementation for the Excel function SUMIF

- - Syntax :
- SUMIF ( range, criteria, sum_range )
- - - - -
rangeThe range over which criteria is applied. Also used for addend values when the third parameter is not present
criteriaThe value or expression used to filter rows from range
sum_rangeLocates the top-left corner of the corresponding range of addends - values to be added (after being selected by the criteria)

-

- @author Josh Micich -
- - @return a range of the same dimensions as aeRange using eval to define the top left corner. - @throws EvaluationException if eval is not a reference - - - Determines a double value for the specified ValueEval. - @param IsScalarProduct false for SUMPRODUCTs over area refs. - @throws EvalEx if ve represents an error value. -

- Note - string values and empty cells are interpreted differently depending on - isScalarProduct. For scalar products, if any term Is blank or a string, the - error (#VALUE!) Is raised. For area (sum)products, if any term Is blank or a string, the - result Is zero. - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - Constructs a new instance of the Accumulator used to calculated this function - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - -

- An implementation of the MID function - MID returns a specific number of - Chars from a text string, starting at the specified position. - @author Manda Wilson < wilson at c bio dot msk cc dot org; - -
- - An implementation of the Replace function: - Replaces part of a text string based on the number of Chars - you specify, with another text string. - @author Manda Wilson < wilson at c bio dot msk cc dot org > - - - Replaces part of a text string based on the number of Chars - you specify, with another text string. - - @see org.apache.poi.hssf.record.formula.eval.Eval - - - An implementation of the SUBSTITUTE function: - Substitutes text in a text string with new text, some number of times. - @author Manda Wilson < wilson at c bio dot msk cc dot org > - - - Substitutes text in a text string with new text, some number of times. - - @see org.apache.poi.hssf.record.formula.eval.Eval - - - An implementation of the TEXT function - TEXT returns a number value formatted with the given number formatting string. - This function is not a complete implementation of the Excel function, but - handles most of the common cases. All work is passed down to - {@link DataFormatter} to be done, as this works much the same as the - display focused work that that does. - - - An implementation of the TRIM function: - Removes leading and trailing spaces from value if Evaluated operand - value Is string. - @author Manda Wilson < wilson at c bio dot msk cc dot org > - - - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - - Implementation for the Excel function TIME - - @author Steven Butler (sebutler @ gmail dot com) - - Based on POI {@link DateFunc} - - - Converts the supplied hours, minutes and seconds to an Excel time value. - - - @param ds array of 3 doubles Containing hours, minutes and seconds. - Non-integer inputs are tRuncated to an integer before further calculation - of the time value. - @return An Excel representation of a time of day. - If the time value represents more than a day, the days are Removed from - the result, leaving only the time of day component. - @throws NPOI.SS.Formula.Eval.EvaluationException - If any of the arguments are greater than 32767 or the hours - minutes and seconds when combined form a time value less than 0, the function - Evaluates to an error. - - - "1,0000" is valid, "1,00" is not - - - TODO see if the same functionality is needed in {@link OperandResolver#parseDouble(String)} - - @return null if there is any problem converting the text - - - Convenience base class for any function which must take three or four - arguments - - @author Josh Micich - - - Implementation of the VLOOKUP() function.

- - VLOOKUP Finds a row in a lookup table by the first column value and returns the value from another column.
- - Syntax:
- VLOOKUP(lookup_value, table_array, col_index_num, range_lookup)

- - lookup_value The value to be found in the first column of the table array.
- table_array An area reference for the lookup data.
- col_index_num a 1 based index specifying which column value of the lookup data will be returned.
- range_lookup If TRUE (default), VLOOKUP Finds the largest value less than or equal to - the lookup_value. If FALSE, only exact Matches will be considered
- - @author Josh Micich - - - Returns one column from an AreaEval - - @(#VALUE!) if colIndex Is negative, (#REF!) if colIndex Is too high - - - Temporarily collects FunctionMetadata instances for creation of a - FunctionMetadataRegistry. - - @author Josh Micich - - - stores indexes of all functions with footnotes (i.e. whose definitions might Change) - - - Holds information about Excel built-in functions. - - @author Josh Micich - - - Converts the text meta-data file into a FunctionMetadataRegistry - - @author Josh Micich - - - plain ASCII text metadata file uses three dots for ellipsis - - - Makes sure that footnote digits from the original OOO document have not been accidentally - left behind - - - Allows clients to Get FunctionMetadata instances for any built-in function of Excel. - - @author Josh Micich - - - The name of the IF function (i.e. "IF"). Extracted as a constant for clarity. - - - Resolves a built-in function index. - @param name uppercase function name - @return a negative value if the function name is not found. - This typically occurs for external functions. - - - Tests can implement this class To track the internal working of the {@link WorkbookEvaluator}.
- - For POI internal testing use only - - @author Josh Micich -
- - Internally, formula {@link ICacheEntry}s are stored in Sets which may Change ordering due - To seemingly trivial Changes. This method is provided To make the order of call-backs To - {@link #onClearDependentCachedValue(ICacheEntry, int)} more deterministic. - - - Used to help optimise cell evaluation result caching by allowing applications to specify which - parts of a workbook are final.
- The term final is introduced here to denote immutability or 'having constant definition'. - This classification refers to potential actions (on the evaluated workbook) by the evaluating - application. It does not refer to operations performed by the evaluator ({@link - WorkbookEvaluator}).
-
- General guidelines: -

    -
  • a plain value cell can be marked as 'final' if it will not be changed after the first call - to {@link WorkbookEvaluator#evaluate(EvaluationCell)}. -
  • -
  • a formula cell can be marked as 'final' if its formula will not be changed after the first - call to {@link WorkbookEvaluator#evaluate(EvaluationCell)}. This remains true even if changes - in dependent values may cause the evaluated value to change.
  • -
  • plain value cells should be marked as 'not final' if their plain value value may change. -
  • -
  • formula cells should be marked as 'not final' if their formula definition may change.
  • -
  • cells which may switch between plain value and formula should also be marked as 'not final'. -
  • -
- Notes: -
    -
  • If none of the spreadsheet cells is expected to have its definition changed after evaluation - begins, every cell can be marked as 'final'. This is the most efficient / least resource - intensive option.
  • -
  • To retain freedom to change any cell definition at any time, an application may classify all - cells as 'not final'. This freedom comes at the expense of greater memory consumption.
  • -
  • For the purpose of these classifications, setting the cached formula result of a cell (for - example in {@link HSSFFormulaEvaluator#evaluateFormulaCell(org.apache.poi.ss.usermodel.Cell)}) - does not constitute changing the definition of the cell.
  • -
  • Updating cells which have been classified as 'final' will cause the evaluator to behave - unpredictably (typically ignoring the update).
  • -
- - @author Josh Micich -
- - Convenience implementation for situations where all cell definitions remain fixed after - evaluation begins. - - - Checks if a cell's value(/formula) is fixed - in other words - not expected to be modified - between calls to the evaluator. (Note - this is an independent concept from whether a - formula cell's evaluated value may change during successive calls to the evaluator). - - @param sheetIndex zero based index into workbook sheet list - @param rowIndex zero based row index of cell - @param columnIndex zero based column index of cell - @return false if the evaluating application may need to modify the specified - cell between calls to the evaluator. - - - Provides Lazy Evaluation to 3D Ranges - - - @return whether cell at rowIndex and columnIndex is a subtotal - - - Provides Lazy Evaluation to a 3D Reference - - TODO Provide access to multiple sheets where present - - - This class performs 'operand class' transformation. Non-base Tokens are classified into three - operand classes: -
    -
  • reference
  • -
  • value
  • -
  • array
  • -
-

- - The operand class chosen for each Token depends on the formula type and the Token's place - in the formula. If POI Gets the operand class wrong, Excel may interpret the formula - incorrectly. This condition is typically manifested as a formula cell that displays as '#VALUE!', - but resolves correctly when the user presses F2, enter.

- - The logic implemented here was partially inspired by the description in - "OpenOffice.org's Documentation of the Microsoft Excel File Format". The model presented there - seems To be inconsistent with observed Excel behaviour (These differences have not been fully - investigated). The implementation in this class Has been heavily modified in order To satisfy - concrete examples of how Excel performs the same logic (see TestRVA).

- - Hopefully, as Additional important test cases are identified and Added To the test suite, - patterns might become more obvious in this code and allow for simplification. - - @author Josh Micich - - - Traverses the supplied formula parse tree, calling Ptg.SetClass() for each non-base - Token To Set its operand class. - - - @param callerForceArrayFlag true if one of the current node's parents is a - function Ptg which Has been Changed from default 'V' To 'A' type (due To requirements on - the function return value). - - - Contains all the contextual information required to Evaluate an operation - within a formula - - For POI internal use only - - @author Josh Micich - - - @return null if either workbook or sheet is not found - - - Resolves a cell or area reference dynamically. - @param workbookName the name of the workbook Containing the reference. If null - the current workbook is assumed. Note - to Evaluate formulas which use multiple workbooks, - a {@link CollaboratingWorkbooksEnvironment} must be set up. - @param sheetName the name of the sheet Containing the reference. May be null - (when workbookName is also null) in which case the current workbook and sheet is - assumed. - @param refStrPart1 the single cell reference or first part of the area reference. Must not - be null. - @param refStrPart2 the second part of the area reference. For single cell references this - parameter must be null - @param isA1Style specifies the format for refStrPart1 and refStrPart2. - Pass true for 'A1' style and false for 'R1C1' style. - TODO - currently POI only supports 'A1' reference style - @return a {@link RefEval} or {@link AreaEval} - - - This class Creates OperationEval instances To help evaluate OperationPtg - formula Tokens. - - @author Josh Micich - - - returns the OperationEval concrete impl instance corresponding - to the supplied operationPtg - - - Represents a syntactic element from a formula by encapsulating the corresponding Ptg - Token. Each ParseNode may have child ParseNodes in the case when the wrapped - Ptg is non-atomic. - - @author Josh Micich - - - Collects the array of Ptg Tokens for the specified tree. - - - The IF() function Gets marked up with two or three tAttr Tokens. - Similar logic will be required for CHOOSE() when it is supported - - See excelfileformat.pdf sec 3.10.5 "tAttr (19H) - - - - @author Josh Micich - - - Used for non-formula cells, primarily To keep track of the referencing (formula) cells. - - @author Josh Micich - - - This class provides the base functionality for Excel sheet functions - There are two kinds of function Ptgs - tFunc and tFuncVar - Therefore, this class will have ONLY two subclasses - @author Avik Sengupta - @author Andrew C. Oliver (acoliver at apache dot org) - - - defines a Ptg that is an operation instead of an operand - @author andy - - - returns a string representation of the operations - the Length of the input array should equal the number returned by - @see #GetNumberOfOperands - - - - The number of operands expected by the operations - - - The name of the IF function (i.e. "IF"). Extracted as a constant for clarity. - - - All external functions have function index 255 - - - Used to detect whether a function name found in a formula is one of the standard excel functions - - The name matching is case insensitive. - @return true if the name specifies a standard worksheet function, - false if the name should be assumed to be an external function. - - - Resolves internal function names into function indexes. - - The name matching is case insensitive. - @return the standard worksheet function index if found, otherwise FUNCTION_INDEX_EXTERNAL - - - external functions Get some special Processing - @return true if this is an external function - - - Addition operator PTG the "+" binomial operator. If you need more - explanation than that then well...We really can't help you here. - @author Andrew C. Oliver (acoliver@apache.org) - @author Jason Height (jheight at chariot dot net dot au) - - - Common baseclass of all value operators. - Subclasses include all Unary and binary operators except for the reference operators (IntersectionPtg, RangePtg, UnionPtg) - - @author Josh Micich - - - All Operator Ptgs are base tokens (i.e. are not RVA classified) - - - implementation of method from OperationsPtg - - - Common superclass of 2-D area refs - - -

Title: Area 3D Ptg - 3D reference (Sheet + Area)

-

Description: Defined an area in Extern Sheet.

-

REFERENCE:

- - This is HSSF only, as it matches the HSSF file format way of - referring to the sheet by an extern index. The XSSF equivalent - is {@link Area3DPxg} -
- - Should be implemented by any {@link Ptg} subclass that needs a workbook To render its formula. -
- - For POI internal use only - - @author Josh Micich -
- - @return text representation of this area reference that can be used in text - formulas. The sheet name will get properly delimited if required. - - - AreaErr - handles deleted cell area references. - - @author Daniel Noll (daniel at nuix dot com dot au) - - - Specifies a rectangular area of cells A1:A4 for instance. - @author Jason Height (jheight at chariot dot net dot au) - - - Specifies a rectangular area of cells A1:A4 for instance. - @author Jason Height (jheight at chariot dot net dot au) - - - ArrayPtg - handles arrays - - The ArrayPtg is a little weird, the size of the Ptg when parsing initially only - includes the Ptg sid and the reserved bytes. The next Ptg in the expression then follows. - It is only after the "size" of all the Ptgs is met, that the ArrayPtg data is actually - held after this. So Ptg.CreateParsedExpression keeps track of the number of - ArrayPtg elements and need to Parse the data upto the FORMULA record size. - - @author Jason Height (jheight at chariot dot net dot au) - - - The size of the plain tArray token written within the standard formula tokens - (not including the data which comes after all formula tokens) - - - @param values2d array values arranged in rows - - - Note - (2D) array elements are stored column by column - @return the index into the internal 1D array for the specified column and row - - - This size includes the size of the array Ptg plus the Array Ptg Token value size - - - Represents the initial plain tArray token (without the constant data that trails the whole - formula). Objects of this class are only temporary and cannot be used as {@link Ptg}s. - These temporary objects get converted to {@link ArrayPtg} by the - {@link #finishReading(LittleEndianInput)} method. - - - Read in the actual token (array) values. This occurs - AFTER the last Ptg in the expression. - See page 304-305 of Excel97-2007BinaryFileFormat(xls)Specification.pdf - - - "Special Attributes" - This seems to be a Misc Stuff and Junk record. One function it serves Is - in SUM functions (i.e. SUM(A1:A3) causes an area PTG then an ATTR with the SUM option Set) - @author andy - @author Jason Height (jheight at chariot dot net dot au) - - - Common baseclass for - tExp - tTbl - tParen - tNlr - tAttr - tSheet - tEndSheet - - - only used for tAttrChoose: table of offsets to starts of args - - - only used for tAttrChoose: offset to the tFuncVar for CHOOSE() - - - - Creates the space. - - a constant from SpaceType - The count. - - - - Creates if. - - distance (in bytes) to start of either - tFuncVar(IF) token (when false parameter is not present). - - - - Creates the skip. - - distance (in bytes) to position behind tFuncVar(IF) token (minus 1). - - - 00H = Spaces before the next token (not allowed before tParen token) - - - 01H = Carriage returns before the next token (not allowed before tParen token) - - - 02H = Spaces before opening parenthesis (only allowed before tParen token) - - - 03H = Carriage returns before opening parenthesis (only allowed before tParen token) - - - 04H = Spaces before closing parenthesis (only allowed before tParen, tFunc, and tFuncVar tokens) - - - 05H = Carriage returns before closing parenthesis (only allowed before tParen, tFunc, and tFuncVar tokens) - - - 06H = Spaces following the equality sign (only in macro sheets) - - - bool (bool) - Stores a (java) bool value in a formula. - @author Paul Krause (pkrause at soundbite dot com) - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - - - @author Josh Micich - - - - @author andy - @author Jason Height (jheight at chariot dot net dot au) - - - Title: Deleted Area 3D Ptg - 3D referecnce (Sheet + Area) - Description: Defined a area in Extern Sheet. - REFERENCE: - @author Patrick Luby - @version 1.0-pre - - - Title: Deleted Reference 3D Ptg - Description: Defined a cell in extern sheet. - REFERENCE: - @author Patrick Luby - @version 1.0-pre - - - Creates new DeletedRef3DPtg - - - This PTG implements the standard binomial divide "/" - @author Andrew C. Oliver acoliver at apache dot org - @author Jason Height (jheight at chariot dot net dot au) - - - - @author andy - - - @author Daniel Noll (daniel at nuix dot com dot au) - - - #NULL! - Intersection of two cell ranges is empty - - - #DIV/0! - Division by zero - - - #VALUE! - Wrong type of operand - - - #REF! - Illegal or deleted cell reference - - - #NAME? - Wrong function or range name - - - #NUM! - Value range overflow - - - #N/A - Argument or function not available - - - Creates new ErrPtg - - - - @author andy - @author Jason Height (jheight at chariot dot net dot au) - @author dmui (save existing implementation) - - - @author Josh Micich - - - Extern sheet index of sheet where moving is occurring - - - Sheet name of the sheet where moving is occurring, - used for updating XSSF style 3D references on row shifts. - - - Create an instance for Shifting row. - - For example, this will be called on {@link NPOI.HSSF.UserModel.HSSFSheet#ShiftRows(int, int, int)} } - - - Create an instance for shifting sheets. - - For example, this will be called on {@link org.apache.poi.hssf.usermodel.HSSFWorkbook#setSheetOrder(String, int)} - - - @param ptgs - if necessary, will get modified by this method - @param currentExternSheetIx - the extern sheet index of the sheet that contains the formula being adjusted - @return true if a change was made to the formula tokens - - - @return true if this Ptg needed to be changed - - - @author aviks - @author Jason Height (jheight at chariot dot net dot au) - @author Danny Mui (dmui at apache dot org) (Leftover handling) - - - - @author Jason Height (jheight at chariot dot net dot au) - - - Single instance of this token for 'sum() taking a single argument' - - - Creates new function pointer from a byte array - usually called while reading an excel file. - - - Create a function ptg from a string tokenised by the parser - - - PTG class to implement greater or equal to - - @author fred at stsci dot edu - - - Greater than operator PTG ">" - @author Cameron Riley (criley at ekmail.com) - - - Implementation of method from OperationsPtg - @param operands a String array of operands - @return String the Formula as a String - - - Get the number of operands for the Less than operator - @return int the number of operands - - - @author Daniel Noll (daniel at nuix dot com dot au) - - - Implementation of method from Ptg - - - implementation of method from OperationsPtg - - - Integer (unsigned short integer) - Stores an Unsigned short value (java int) in a formula - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - - - Excel represents integers 0..65535 with the tInt token. - @return true if the specified value is within the range of values - IntPtg can represent. - - - Ptg class to implement less than or equal - - @author fred at stsci dot edu - - - Less than operator PTG "<". The SID is taken from the - Openoffice.orgs Documentation of the Excel File Format, - Table 3.5.7 - @author Cameron Riley (criley at ekmail.com) - - - the sid for the less than operator as hex - - - identifier for LESS THAN char - - - Implementation of method from OperationsPtg - @param operands a String array of operands - @return String the Formula as a String - - - Get the number of operands for the Less than operator - @return int the number of operands - - - @author Daniel Noll (daniel at nuix dot com dot au) - - - Creates new MemAreaPtg - - - - @author andy - @author Jason Height (jheight at chariot dot net dot au) - @author Daniel Noll (daniel at nuix dot com dot au) - - - Creates new MemErrPtg - - - @author Glen Stampoultzis (glens at apache.org) - - - Creates new function pointer from a byte array - usually called while Reading an excel file. - - - Missing Function Arguments - - Avik Sengupta <avik at apache.org> - @author Jason Height (jheight at chariot dot net dot au) - - - Implements the standard mathmatical multiplication - * - @author Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - - - - @author andy - @author Jason Height (jheight at chariot dot net dot au) - - - one-based index to defined name record - - - @param nameIndex zero-based index to name within workbook - - - Creates new NamePtg - - - @return zero based index to a defined name record in the LinkTable - - - A Name, be that a Named Range or a Function / User Defined - Function, addressed in the HSSF External Sheet style. - - This is HSSF only, as it matches the HSSF file format way of - referring to the sheet by an extern index. The XSSF equivalent - is {@link NameXPxg} - - - index to REF entry in externsheet record - - - index to defined name or externname table(1 based) - - - reserved must be 0 - - - @param sheetRefIndex index to REF entry in externsheet record - @param nameIndex index to defined name or externname table - - - Ptg class to implement not equal - - @author fred at stsci dot edu - - - Number - Stores a floating point value in a formula - value stored in a 8 byte field using IEEE notation - @author Avik Sengupta - @author Jason Height (jheight at chariot dot net dot au) - - - Create a NumberPtg from a byte array Read from disk - - - Create a NumberPtg from a string representation of the number - Number format is not checked, it is expected to be validated in the parser - that calls this method. - @param value : String representation of a floating point number - - - While formula tokens are stored in RPN order and thus do not need parenthesis for - precedence reasons, Parenthesis tokens ARE written to Ensure that user entered - parenthesis are Displayed as-is on Reading back - - Avik Sengupta <lists@aviksengupta.com> - Andrew C. Oliver (acoliver at apache dot org) - @author Jason Height (jheight at chariot dot net dot au) - - - Percent PTG. - - @author Daniel Noll (daniel at nuix.com.au) - - - - @author andy - @author Jason Height (jheight at chariot dot net dot au) - - - @author Daniel Noll (daniel at nuix dot com dot au) - - - implementation of method from OperationsPtg - - - @author Josh Micich - - - Takes in a String representation of a cell reference and fills out the - numeric fields. - - - Title: Reference 3D Ptg - Description: Defined a cell in extern sheet. - REFERENCE: - @author Libin Roman (Vista Portal LDT. Developer) - @author Jason Height (jheight at chariot dot net dot au) - @version 1.0-pre - - - Field 2 - - lower 8 bits is the zero based Unsigned byte column index - - bit 16 - IsRowRelative - - bit 15 - IsColumnRelative - - - Creates new AreaPtg - - - @return text representation of this cell reference that can be used in text - formulas. The sheet name will Get properly delimited if required. - - - RefError - handles deleted cell reference - @author Jason Height (jheight at chariot dot net dot au) - - - RefNPtg - @author Jason Height (jheight at apache dot com) - - - Creates new ValueReferencePtg - - - ReferencePtg - handles references (such as A1, A2, IA4) - @author Andrew C. Oliver (acoliver@apache.org) - @author Jason Height (jheight at chariot dot net dot au) - - - Takes in a String representation of a cell reference and Fills out the - numeric fields. - - - String Stores a String value in a formula value stored in the format - <Length 2 bytes>char[] - - @author Werner Froidevaux - @author Jason Height (jheight at chariot dot net dot au) - @author Bernard Chesnoy - - - the Char (")used in formulas to delimit string literals - - - NOTE: OO doc says 16bit Length, but BiffViewer says 8 Book says something - totally different, so don't look there! - - - Create a StringPtg from a stream - - - Create a StringPtg from a string representation of the number Number - format Is not Checked, it Is expected to be Validated in the Parser that - calls this method. - - @param value : - String representation of a floating point number - - - - @author andy - @author Jason Height (jheight at chariot dot net dot au) - - - This ptg indicates a data table. - It only occurs in a FORMULA record, never in an - ARRAY or NAME record. When ptgTbl occurs in a - formula, it is the only token in the formula. - - This indicates that the cell containing the - formula is an interior cell in a data table; - the table description is found in a TABLE - record. Rows and columns which contain input - values to be substituted in the table do - not contain ptgTbl. - See page 811 of the june 08 binary docs. - - - The row number of the upper left corner - - - The column number of the upper left corner - - - Unary Plus operator - does not have any effect on the operand - @author Avik Sengupta - - - implementation of method from OperationsPtg - - - Unary Plus operator - does not have any effect on the operand - @author Avik Sengupta - - - implementation of method from OperationsPtg - - - @author Glen Stampoultzis (glens at apache.org) - - - implementation of method from OperationsPtg - - - - @author andy - @author Jason Height (jheight at chariot dot net dot au) - - - Creates new UnknownPtg - - - Formats sheet names for use in formula expressions. - - @author Josh Micich - - - Used to format sheet names as they would appear in cell formula expressions. - @return the sheet name UnChanged if there is no need for delimiting. Otherwise the sheet - name is enclosed in single quotes ('). Any single quotes which were already present in the - sheet name will be converted to double single quotes (''). - - - Convenience method for when a StringBuilder is already available - - @param out - sheet name will be Appended here possibly with delimiting quotes - - - @return true if the presence of the specified Char in a sheet name would - require the sheet name to be delimited in formulas. This includes every non-alphanumeric - Char besides Underscore '_'. - - - Used to decide whether sheet names like 'AB123' need delimiting due to the fact that they - look like cell references. -

- This code is currently being used for translating formulas represented with Ptg - tokens into human readable text form. In formula expressions, a sheet name always has a - trailing '!' so there is little chance for ambiguity. It doesn't matter too much what this - method returns but it is worth noting the likely consumers of these formula text strings: -

    -
  1. POI's own formula parser
  2. -
  3. Visual reading by human
  4. -
  5. VBA automation entry into Excel cell contents e.g. ActiveCell.Formula = "=c64!A1"
  6. -
  7. Manual entry into Excel cell contents
  8. -
  9. Some third party formula parser
  10. -
- - At the time of writing, POI's formula parser tolerates cell-like sheet names in formulas - with or without delimiters. The same goes for Excel(2007), both manual and automated entry. -

- For better or worse this implementation attempts to replicate Excel's formula renderer. - Excel uses range checking on the apparent 'row' and 'column' components. Note however that - the maximum sheet size varies across versions. - @see org.apache.poi.hssf.util.CellReference - - - Note - this method assumes the specified rawSheetName has only letters and digits. It - cannot be used to match absolute or range references (using the dollar or colon char). - - Some notable cases: -

- - - - - - - - - - -
Input Result Comments
"A1" true
"a111" true
"AA" false
"aa1" true
"A1A" false
"A1A1" false
"A$1:$C$20" falseNot a plain cell reference
"SALES20080101" trueStill needs delimiting even though well out of range
- - @return true if there is any possible ambiguity that the specified rawSheetName - could be interpreted as a valid cell name. -
- - - - @author Josh Micich - - - @return whether cell at rowIndex and columnIndex is a subtotal - @see org.apache.poi.ss.formula.functions.Subtotal - - - Default UDF Finder - for Adding your own user defined functions. - - @author PUdalau - - - Evaluates formula cells.

- - For performance reasons, this class keeps a cache of all previously calculated intermediate - cell values. Be sure To call {@link #ClearCache()} if any workbook cells are Changed between - calls To evaluate~ methods on this class.
- - For POI internal use only - - @author Josh Micich - - - also for debug use. Used in ToString methods - - - Should be called whenever there are Changes To input cells in the evaluated workbook. - Failure To call this method after changing cell values will cause incorrect behaviour - of the evaluate~ methods of this class - - - Should be called To tell the cell value cache that the specified (value or formula) cell - Has Changed. - - - Should be called To tell the cell value cache that the specified cell Has just been - deleted. - - - Case-insensitive. - @return -1 if sheet with specified name does not exist - - - @return never null, never {@link BlankEval} - - - Adds the current cell reference to the exception for easier debugging. - Would be nice to get the formula text as well, but that seems to require - too much digging around and casting to get the FormulaRenderingWorkbook. - - - Gets the value from a non-formula cell. - @param cell may be null - @return {@link BlankEval} if cell is null or blank, never null - - - whether print detailed messages about the next formula evaluation - - - Calculates the number of tokens that the evaluator should skip upon reaching a tAttrSkip. - - @return the number of tokens (starting from startIndex+1) that need to be skipped - to achieve the specified distInBytes skip distance. - - - Dereferences a single value from any AreaEval or RefEval evaluation result. - If the supplied evaluationResult is just a plain value, it is returned as-is. - @return a NumberEval, StringEval, BoolEval, - BlankEval or ErrorEval. Never null. - - - returns an appropriate Eval impl instance for the Ptg. The Ptg must be - one of: Area3DPtg, AreaPtg, ReferencePtg, Ref3DPtg, IntPtg, NumberPtg, - StringPtg, BoolPtg
special Note: OperationPtg subtypes cannot be - passed here! -
- - Used by the lazy ref evals whenever they need To Get the value of a contained cell. - - - Return a collection of functions that POI can evaluate - - @return names of functions supported by POI - - - Return a collection of functions that POI does not support - - @return names of functions NOT supported by POI - - - Register a ATP function in runtime. - - @param name the function name - @param func the functoin to register - @throws IllegalArgumentException if the function is unknown or already registered. - @since 3.8 beta6 - - - Register a function in runtime. - - @param name the function name - @param func the functoin to register - @throws IllegalArgumentException if the function is unknown or already registered. - @since 3.8 beta6 - - - Whether to ignore missing references to external workbooks and - use cached formula results in the main workbook instead. -

- In some cases exetrnal workbooks referenced by formulas in the main workbook are not avaiable. - With this method you can control how POI handles such missing references: -

    -
  • by default ignoreMissingWorkbooks=false and POI throws {@link WorkbookNotFoundException} - if an external reference cannot be resolved
  • -
  • if ignoreMissingWorkbooks=true then POI uses cached formula result - that already exists in the main workbook
  • -
-

- @param ignore whether to ignore missing references to external workbooks - @see Bug 52575 for details -
- - This enum allows spReadsheets from multiple Excel versions to be handled by the common code. - Properties of this enum correspond to attributes of the spReadsheet that are easily - discernable to the user. It is not intended to deal with low-level issues like file formats. -

- - @author Josh Micich - @author Yegor Kozlov - - - Excel97 format aka BIFF8 -

    -
  • The total number of available columns is 256 (2^8)
  • -
  • The total number of available rows is 64k (2^16)
  • -
  • The maximum number of arguments to a function is 30
  • -
  • Number of conditional format conditions on a cell is 3
  • -
  • Length of text cell contents is unlimited
  • -
  • Length of text cell contents is 32767
  • -
-
- - Excel2007 - -
    -
  • The total number of available columns is 16K (2^14)
  • -
  • The total number of available rows is 1M (2^20)
  • -
  • The maximum number of arguments to a function is 255
  • -
  • Number of conditional format conditions on a cell is unlimited - (actually limited by available memory in Excel)
  • -
  • Length of text cell contents is unlimited
  • -
-
- - @return the default file extension of spReadsheet - - - @return the maximum number of usable rows in each spReadsheet - - - @return the last (maximum) valid row index, equals to GetMaxRows() - 1 - - - @return the maximum number of usable columns in each spReadsheet - - - @return the last (maximum) valid column index, equals to GetMaxColumns() - 1 - - - @return the maximum number arguments that can be passed to a multi-arg function (e.g. COUNTIF) - - - - @return the maximum number of conditional format conditions on a cell - - - - @return the last valid column index in a ALPHA-26 representation - (IV or XFD). - - - @return the maximum number of cell styles per spreadsheet - - - @return the maximum length of a text cell - - - - The enumeration value indicating the line style of a border in a cell - - - - - No border - - - - - Thin border - - - - - Medium border - - - - - dash border - - - - - dot border - - - - - Thick border - - - - - double-line border - - - - - hair-line border - - - - - Medium dashed border - - - - - dash-dot border - - - - - medium dash-dot border - - - - - dash-dot-dot border - - - - - medium dash-dot-dot border - - - - - slanted dash-dot border - - - - Utility to identify built-in formats. The following is a list of the formats as - returned by this class.

-

- 0, "General"
- 1, "0"
- 2, "0.00"
- 3, "#,##0"
- 4, "#,##0.00"
- 5, "$#,##0_);($#,##0)"
- 6, "$#,##0_);[Red]($#,##0)"
- 7, "$#,##0.00);($#,##0.00)"
- 8, "$#,##0.00_);[Red]($#,##0.00)"
- 9, "0%"
- 0xa, "0.00%"
- 0xb, "0.00E+00"
- 0xc, "# ?/?"
- 0xd, "# ??/??"
- 0xe, "m/d/yy"
- 0xf, "d-mmm-yy"
- 0x10, "d-mmm"
- 0x11, "mmm-yy"
- 0x12, "h:mm AM/PM"
- 0x13, "h:mm:ss AM/PM"
- 0x14, "h:mm"
- 0x15, "h:mm:ss"
- 0x16, "m/d/yy h:mm"
-

- // 0x17 - 0x24 reserved for international and undocumented - 0x25, "#,##0_);(#,##0)"
- 0x26, "#,##0_);[Red](#,##0)"
- 0x27, "#,##0.00_);(#,##0.00)"
- 0x28, "#,##0.00_);[Red](#,##0.00)"
- 0x29, "_(*#,##0_);_(*(#,##0);_(* \"-\"_);_(@_)"
- 0x2a, "_($*#,##0_);_($*(#,##0);_($* \"-\"_);_(@_)"
- 0x2b, "_(*#,##0.00_);_(*(#,##0.00);_(*\"-\"??_);_(@_)"
- 0x2c, "_($*#,##0.00_);_($*(#,##0.00);_($*\"-\"??_);_(@_)"
- 0x2d, "mm:ss"
- 0x2e, "[h]:mm:ss"
- 0x2f, "mm:ss.0"
- 0x30, "##0.0E+0"
- 0x31, "@" - This is text format.
- 0x31 "text" - Alias for "@"
-

- - @author Yegor Kozlov - - Modified 6/17/09 by Stanislav Shor - positive formats don't need starting '(' - - - - The first user-defined format starts at 164. - - - @deprecated (May 2009) use {@link #getAll()} - - - @return array of built-in data formats - - - Get the format string that matches the given format index - - @param index of a built in format - @return string represented at index of format or null if there is not a built-in format at that index - - - Get the format index that matches the given format string. - -

- Automatically converts "text" to excel's format string to represent text. -

- @param pFmt string matching a built-in format - @return index of format or -1 if undefined. -
- - @param relativeRowIndex must be between 0 and height-1 - @param relativeColumnIndex must be between 0 and width-1 - @return the cell at the specified coordinates. Never null. - - - Gets the number of cells in this range. - @return height * width - - - @return the text format of this range. Single cell ranges are formatted - like single cell references (e.g. 'A1' instead of 'A1:A1'). - - - @return the cell at relative coordinates (0,0). Never null. - - - @return a flattened array of all the cells in this {@link CellRange} - - - @return a 2-D array of all the cells in this {@link CellRange}. The first - array dimension is the row index (values 0...height-1) - and the second dimension is the column index (values 0...width-1) - - - Mimics the 'data view' of a cell. This allows formula Evaluator - to return a CellValue instead of precasting the value to String - or Number or bool type. - @author Amol S. Deshmukh < amolweb at ya hoo dot com > - - - @return Returns the boolValue. - - - @return Returns the numberValue. - - - @return Returns the stringValue. - - - @return Returns the cellType. - - - @return Returns the errorValue. - - - High level representation of a chart. - - @author Roman Kashitsyn - - - Abstraction of chart element that can be positioned with manual - layout. - - @author Roman Kashitsyn - - - Returns manual layout for the chart element. - @return manual layout for the chart element. - - - @return chart legend instance - - - Delete current chart legend. - - - @return list of all chart axis - - - Plots specified data on the chart. - - @param data a data to plot - - - @return an appropriate ChartDataFactory implementation - - - @return an appropriate ChartAxisFactory implementation - - - Specifies the possible crossing states of an axis. - - @author Roman Kashitsyn - - - Specifies the value axis shall cross the category axis - between data markers. - - - Specifies the value axis shall cross the category axis at - the midpoint of a category. - - - Specifies the possible crossing points for an axis. - - @author Roman Kashitsyn - - - The category axis crosses at the zero point of the value axis (if - possible), or the minimum value (if the minimum is greater than zero) or - the maximum (if the maximum is less than zero). - - - The axis crosses at the maximum value. - - - Axis crosses at the minimum value of the chart. - - - Specifies the possible ways to place a picture on a data point, series, wall, or floor. - - @author Roman Kashitsyn - - - Specifies that the values on the axis shall be reversed - so they go from maximum to minimum. - - - Specifies that the axis values shall be in the usual - order, minimum to maximum. - - - Enumeration of all possible axis positions. - - @author Roman Kashitsyn - - - High level representation of chart axis. - - @author Roman Kashitsyn - - - Declare this axis cross another axis. - @param axis that this axis should cross - - - @return axis id - - - get or set axis position - - - get or set axis number format - - - @return true if log base is defined, false otherwise - - - @param logBase a number between 2 and 1000 (inclusive) - @return axis log base or 0.0 if not Set - @throws ArgumentException if log base not within allowed range - - - @return true if minimum value is defined, false otherwise - - - get or set axis minimum - 0.0 if not Set - - - @return true if maximum value is defined, false otherwise - - - get or set axis maximum - 0.0 if not Set - - - get or set axis orientation - - - get or set axis cross type - - - @return visibility of the axis. - - - @return major tick mark. - - - @return minor tick mark. - - - - A factory for different chart axis. - - @author Roman Kashitsyn - - - - returns new value axis - - - - - - - A factory for different chart data types. - - - @author Roman Kashitsyn - - - - - returns an appropriate ScatterChartData instance - - - - - - High level representation of chart legend. - - @author Roman Kashitsyn - - - - legend position - - - - - - If true the legend is positioned over the chart area otherwise - the legend is displayed next to it. - Default is no overlay. - - - - - Specifies the possible ways to store a chart element's position. - - - @author Roman Kashitsyn - - - - - Specifies that the Width or Height shall be interpreted as the Right or Bottom of the chart element. - - - - - Specifies that the Width or Height shall be interpreted as the width or Height of the chart element. - - - - - Specifies whether to layout the plot area by its inside (not including axis - and axis labels) or outside (including axis and axis labels). - - - @author Roman Kashitsyn - - - - - Specifies that the plot area size shall determine the size of the plot area, not including the tick marks and axis labels. - - - - - Specifies that the plot area size shall determine the - size of the plot area, the tick marks, and the axis - labels. - - - - - Enumeration of all possible chart legend positions. - - - @author Roman Kashitsyn - - - - High level representation of chart element manual layout. - - @author Roman Kashitsyn - - - Sets the layout target. - @param target new layout target. - - - Returns current layout target. - @return current layout target - - - Sets the x-coordinate layout mode. - @param mode new x-coordinate layout mode. - - - Returns current x-coordinnate layout mode. - @return current x-coordinate layout mode. - - - Sets the y-coordinate layout mode. - @param mode new y-coordinate layout mode. - - - Returns current y-coordinate layout mode. - @return current y-coordinate layout mode. - - - Returns the x location of the chart element. - @return the x location (left) of the chart element or 0.0 if - not Set. - - - Specifies the x location (left) of the chart element as a - fraction of the width of the chart. If Left Mode is Factor, - then the position is relative to the default position for the - chart element. - - - Returns current y location of the chart element. - @return the y location (top) of the chart element or 0.0 if not - Set. - - - Specifies the y location (top) of the chart element as a - fraction of the height of the chart. If Top Mode is Factor, - then the position is relative to the default position for the - chart element. - - - Specifies how to interpret the Width element for this manual - layout. - @param mode new width layout mode of this manual layout. - - - Returns current width mode of this manual layout. - @return width mode of this manual layout. - - - Specifies how to interpret the Height element for this manual - layout. - @param mode new height mode of this manual layout. - - - Returns current height mode of this - @return height mode of this manual layout. - - - Specifies the width (if Width Mode is Factor) or right (if - Width Mode is Edge) of the chart element as a fraction of the - width of the chart. - @param ratio a fraction of the width of the chart. - - - Returns current fraction of the width of the chart. - @return fraction of the width of the chart or 0.0 if not Set. - - - Specifies the height (if Height Mode is Factor) or bottom (if - Height Mode is edge) of the chart element as a fraction of the - height of the chart. - @param ratio a fraction of the height of the chart. - - - Returns current fraction of the height of the chart. - @return fraction of the height of the chart or 0.0 if not Set. - - - Data for a Scatter Chart - - - @param xs data source to be used for X axis values - @param ys data source to be used for Y axis values - @return a new scatter charts series - - - @return list of all series - - - Represents scatter charts serie. - @author Roman Kashitsyn - - - @return data source used for X axis values - - - @return data source used for Y axis values - - - @author Roman Kashitsyn - - - @return cross between type - - - @param crossBetween cross between type - - - Move and Resize With Anchor Cells -

- Specifies that the current drawing shall move and - resize to maintain its row and column anchors (i.e. the - object is anchored to the actual from and to row and column) -

-
- - Move With Cells but Do Not Resize -

- Specifies that the current drawing shall move with its - row and column (i.e. the object is anchored to the - actual from row and column), but that the size shall remain absolute. -

-

- If Additional rows/columns are Added between the from and to locations of the drawing, - the drawing shall move its to anchors as needed to maintain this same absolute size. -

-
- - Do Not Move or Resize With Underlying Rows/Columns -

- Specifies that the current start and end positions shall - be maintained with respect to the distances from the - absolute start point of the worksheet. -

-

- If Additional rows/columns are Added before the - drawing, the drawing shall move its anchors as needed - to maintain this same absolute position. -

-
- - The conditional format operators used for "Highlight Cells That Contain..." rules. -

- For example, "highlight cells that begin with "M2" and contain "Mountain Gear". -

- - @author Dmitriy Kumshayev - @author Yegor Kozlov -
- - 'Between' operator - - - 'Not between' operator - - - 'Equal to' operator - - - 'Not equal to' operator - - - 'Greater than' operator - - - 'Less than' operator - - - 'Greater than or equal to' operator - - - 'Less than or equal to' operator - - - - Allow accessing the Initial value. - - - - This conditional formatting rule Compares a cell value - to a formula calculated result, using an operator - - - This conditional formatting rule Contains a formula to Evaluate. - When the formula result is true, the cell is highlighted. - - - Error style constants for error box - - - STOP style - - - WARNING style - - - INFO style - - - ValidationType enum - - - 'Any value' type - value not restricted - - - int ('Whole number') type - - - Decimal type - - - List type ( combo box type ) - - - Date type - - - Time type - - - String length type - - - Formula ( 'Custom' ) type - - - Condition operator enum - - - default value to supply when the operator type is not used - - - Contains raw Excel error codes (as defined in OOO's excelfileformat.pdf (2.5.6) - - @author Michael Harhen - - - #NULL! - Intersection of two cell ranges is empty - - - #DIV/0! - Division by zero - - - #VALUE! - Wrong type of operand - - - #REF! - Illegal or deleted cell reference - - - #NAME? - Wrong function or range name - - - #NUM! - Value range overflow - - - #N/A - Argument or function not available - - - @return Standard Excel error literal for the specified error code. - @throws ArgumentException if the specified error code is not one of the 7 - standard error codes - - - @return true if the specified error code is a standard Excel error code. - - - A wrapper around a {@link SimpleDateFormat} instance, - which handles a few Excel-style extensions that - are not supported by {@link SimpleDateFormat}. - Currently, the extensions are around the handling - of elapsed time, eg rendering 1 day 2 hours - as 26 hours. - - - Takes a format String, and Replaces Excel specific bits - with our detection sequences - - - Used to let us know what the date being - formatted is, in Excel terms, which we - may wish to use when handling elapsed - times. - - - not underlined - - - single (normal) underline - - - double underlined - - - accounting style single underline - - - accounting style double underline - - - no type Offsetting (not super or subscript) - - - superscript - - - subscript - - - - Allow accessing the Initial value. - - - - normal type of black color. - - - Dark Red color - - - - Allow accessing the Initial value. - - - - Normal boldness (not bold) - - - Bold boldness (bold) - - - Charset represents the basic set of characters associated with a font (that it can display), and - corresponds to the ANSI codepage (8-bit or DBCS) of that character set used by a given language. - - @author Gisella Bronzetti - - - Returns value of this charset - - @return value of this charset - - - The font family this font belongs to. A font family is a set of fonts having common stroke width and serif - characteristics. The font name overrides when there are conflicting values. - - @author Gisella Bronzetti - - - Returns index of this font family - - @return index of this font family - - - Defines the font scheme to which this font belongs. - When a font defInition is part of a theme defInition, then the font is categorized as either a major or minor font scheme component. - When a new theme is chosen, every font that is part of a theme defInition is updated to use the new major or minor font defInition for that - theme. - Usually major fonts are used for styles like headings, and minor fonts are used for body and paragraph text. - - @author Gisella Bronzetti - - - Enumerates error values in SpreadsheetML formula calculations. - - See also OOO's excelfileformat.pdf (2.5.6) - - - Intended to indicate when two areas are required to intersect, but do not. -

Example: - In the case of SUM(B1 C1), the space between B1 and C1 is treated as the binary - intersection operator, when a comma was intended. end example] -

-
- - Intended to indicate when any number, including zero, is divided by zero. - Note: However, any error code divided by zero results in that error code. - - - Intended to indicate when an incompatible type argument is passed to a function, or - an incompatible type operand is used with an operator. -

Example: - In the case of a function argument, text was expected, but a number was provided -

-
- - Intended to indicate when a cell reference is invalid. -

Example: - If a formula Contains a reference to a cell, and then the row or column Containing that cell is deleted, - a #REF! error results. If a worksheet does not support 20,001 columns, - OFFSET(A1,0,20000) will result in a #REF! error. -

-
- - Intended to indicate when an argument to a function has a compatible type, but has a - value that is outside the domain over which that function is defined. (This is known as - a domain error.) -

Example: - Certain calls to ASIN, ATANH, FACT, and SQRT might result in domain errors. -

- Intended to indicate that the result of a function cannot be represented in a value of - the specified type, typically due to extreme magnitude. (This is known as a range - error.) -

Example: FACT(1000) might result in a range error.

-
- - Intended to indicate when a designated value is not available. -

Example: - Some functions, such as SUMX2MY2, perform a series of operations on corresponding - elements in two arrays. If those arrays do not have the same number of elements, then - for some elements in the longer array, there are no corresponding elements in the - shorter one; that is, one or more values in the shorter array are not available. -

- This error value can be produced by calling the function NA -
- - POI specific code to indicate that there is a circular reference - in the formula - - - POI specific code to indicate that the funcition required is - not implemented in POI - - - @return numeric code of the error - - - @return long (internal) numeric code of the error - - - @return string representation of the error - - - The enumeration value indicating horizontal alignment of a cell, - i.e., whether it is aligned general, left, right, horizontally centered, Filled (replicated), - justified, centered across multiple cells, or distributed. - - - The horizontal alignment is general-aligned. Text data is left-aligned. - Numbers, dates, and times are rightaligned. Boolean types are centered. - Changing the alignment does not change the type of data. - - - The horizontal alignment is left-aligned, even in Rightto-Left mode. - Aligns contents at the left edge of the cell. If an indent amount is specified, the contents of - the cell is indented from the left by the specified number of character spaces. The character spaces are - based on the default font and font size for the workbook. - - - The horizontal alignment is centered, meaning the text is centered across the cell. - - - The horizontal alignment is right-aligned, meaning that cell contents are aligned at the right edge of the cell, - even in Right-to-Left mode. - - - The horizontal alignment is justified (flush left and right). - For each line of text, aligns each line of the wrapped text in a cell to the right and left - (except the last line). If no single line of text wraps in the cell, then the text is not justified. - - - Indicates that the value of the cell should be Filled - across the entire width of the cell. If blank cells to the right also have the fill alignment, - they are also Filled with the value, using a convention similar to centerContinuous. -

- Additional rules: -

    -
  1. Only whole values can be Appended, not partial values.
  2. -
  3. The column will not be widened to 'best fit' the Filled value
  4. -
  5. If Appending an Additional occurrence of the value exceeds the boundary of the cell - left/right edge, don't append the Additional occurrence of the value.
  6. -
  7. The display value of the cell is Filled, not the underlying raw number.
  8. -
-

-
- - The horizontal alignment is centered across multiple cells. - The information about how many cells to span is expressed in the Sheet Part, - in the row of the cell in question. For each cell that is spanned in the alignment, - a cell element needs to be written out, with the same style Id which references the centerContinuous alignment. - - - Indicates that each 'word' in each line of text inside the cell is evenly distributed - across the width of the cell, with flush right and left margins. -

- When there is also an indent value to apply, both the left and right side of the cell - are pAdded by the indent value. -

-

A 'word' is a set of characters with no space character in them.

-

Two lines inside a cell are Separated by a carriage return.

-
- - - Link to an existing file or web page - - - - - Link to a place in this document - - - - - Link to an E-mail Address - - - - - Link to a file - - - - Specifies printed page order. - - @author Gisella Bronzetti - - - Order pages vertically first, then move horizontally. - - - Order pages horizontally first, then move vertically - - - The enumeration value indicating the possible paper size for a sheet - - @author Daniele Montagni - - - - Allow accessing the Initial value. - - - - - A4 Transverse - 210x297 mm - - - - - A4 Plus - 210x330 mm - - - - - US Letter Rotated 11 x 8 1/2 in - - - - - A4 Rotated - 297x210 mm */ - - - - - Allow accessing the Initial value. - - - - - Extended windows meta file - - - Windows Meta File - - - Mac PICT format - - - JPEG format - - - PNG format - - - Device independent bitmap - - - GIF image format - - - Tag Image File (.tiff) - - - Encapsulated Postscript (.eps) - - - Windows Bitmap (.bmp) - - - WordPerfect graphics (.wpg) - - - These enumerations specify how cell comments shall be displayed for paper printing purposes. - - @author Gisella Bronzetti - - - Do not print cell comments. - - - Print cell comments as displayed. - - - Print cell comments at end of document. - - - The enumeration value indicating the print orientation for a sheet. - - @author Gisella Bronzetti - - - orientation not specified - - - portrait orientation - - - landscape orientations - - - - Used by HSSFPrintSetup.CellError property - - - - - Used to specify the different possible policies - if for the case of null and blank cells - - - - Missing cells are returned as null, Blank cells are returned as normal - - - Missing cells are returned as null, as are blank cells - - - A new, blank cell is Created for missing cells. Blank cells are returned as normal - - - All known types of automatic shapes in DrawingML - - @author Yegor Kozlov - - - - Allow accessing the Initial value. - - - - - Indicate the position of the margin. One of left, right, top and bottom. - - - - - referes to the left margin - - - - - referes to the right margin - - - - - referes to the top margin - - - - - referes to the bottom margin - - - - - Define the position of the pane. One of lower/right, upper/right, lower/left and upper/left. - - - - - referes to the lower/right corner - - - - - referes to the upper/right corner - - - - - referes to the lower/left corner - - - - - referes to the upper/left corner - - - - @return the rich text string for this textbox. - - - @return Returns the left margin within the textbox. - - - @return returns the right margin within the textbox. - - - @return returns the top margin within the textbox. - - - s the bottom margin within the textbox. - - - This enumeration value indicates the type of vertical alignment for a cell, i.e., - whether it is aligned top, bottom, vertically centered, justified or distributed. - - - The vertical alignment is aligned-to-top. - - - The vertical alignment is centered across the height of the cell. - - - The vertical alignment is aligned-to-bottom. - - -

- When text direction is horizontal: the vertical alignment of lines of text is distributed vertically, - where each line of text inside the cell is evenly distributed across the height of the cell, - with flush top and bottom margins. -

-

- When text direction is vertical: similar behavior as horizontal justification. - The alignment is justified (flush top and bottom in this case). For each line of text, each - line of the wrapped text in a cell is aligned to the top and bottom (except the last line). - If no single line of text wraps in the cell, then the text is not justified. -

-
- -

- When text direction is horizontal: the vertical alignment of lines of text is distributed vertically, - where each line of text inside the cell is evenly distributed across the height of the cell, - with flush top -

-

- When text direction is vertical: behaves exactly as distributed horizontal alignment. - The first words in a line of text (appearing at the top of the cell) are flush - with the top edge of the cell, and the last words of a line of text are flush with the bottom edge of the cell, - and the line of text is distributed evenly from top to bottom. -

-
- - - Indicates the sheet is visible. - - - - - Indicates the book window is hidden, but can be shown by the user via the user interface. - - - - - Indicates the sheet is hidden and cannot be shown in the user interface (UI). - - - In Excel this state is only available programmatically in VBA: - ThisWorkbook.Sheets("MySheetName").Visible = xlSheetVeryHidden - - - - - The Char (!) that Separates sheet names from cell references - - - The Char (:) that Separates the two cell references in a multi-cell area reference - - - The Char (') used to quote sheet names when they contain special Chars - - - Create an area ref from a string representation. Sheet names containing special Chars should be - delimited and escaped as per normal syntax rules for formulas.
- The area reference must be contiguous (i.e. represent a single rectangle, not a Union of rectangles) -
- - Creates an area ref from a pair of Cell References. - - - is the reference for a contiguous (i.e. - Unbroken) area, or is it made up of - several different parts? - (If it Is, you will need to call - .... - - - is the reference for a whole-column reference, - such as C:C or D:G ? - - - Takes a non-contiguous area reference, and - returns an array of contiguous area references. - - - Returns a reference to every cell covered by this area - - - Example return values: - - - - - - -
ResultComment
A1:A1Single cell area reference without sheet
A1:$C$1Multi-cell area reference without sheet
Sheet1!A$1:B4Standard sheet name
'O''Brien''s Sales'!B5:C6' Sheet name with special Chars
- @return the text representation of this area reference as it would appear in a formula. -
- - Separates Area refs in two parts and returns them as Separate elements in a String array, - each qualified with the sheet name (if present) - - @return array with one or two elements. never null - - - @return false if this area reference involves more than one cell - - - @return the first cell reference which defines this area. Usually this cell is in the upper - left corner of the area (but this is not a requirement). - - - Note - if this area reference refers to a single cell, the return value of this method will - be identical to that of GetFirstCell() - @return the second cell reference which defines this area. For multi-cell areas, this is - cell diagonally opposite the 'first cell'. Usually this cell is in the lower right corner - of the area (but this is not a requirement). - - - See OOO documentation: excelfileformat.pdf sec 2.5.14 - 'Cell Range Address'

- - Common subclass of 8-bit and 16-bit versions - - @author Josh Micich - - - Validate the range limits against the supplied version of Excel - - @param ssVersion the version of Excel to validate against - @throws IllegalArgumentException if the range limits are outside of the allowed range - - - Runs a bounds check for row numbers - @param row - - - Runs a bounds check for column numbers - @param column - - - @return column number for the upper left hand corner - - - @return row number for the upper left hand corner - - - @return column number for the lower right hand corner - - - @return row number for the lower right hand corner - - - @return the size of the range (number of cells in the area). - - - Creates new cell range. Indexes are zero-based. - - @param firstRow Index of first row - @param lastRow Index of last row (inclusive), must be equal to or larger than {@code firstRow} - @param firstCol Index of first column - @param lastCol Index of last column (inclusive), must be equal to or larger than {@code firstCol} - - - @return the text format of this range using specified sheet name. - - -

- Creates a CellRangeAddress from a cell range reference string. - - - usually a standard area ref (e.g. "B1:D8"). May be a single - cell ref (e.g. "B5") in which case the result is a 1 x 1 cell - range. May also be a whole row range (e.g. "3:5"), or a whole - column range (e.g. "C:F") - - a CellRangeAddress object -
- - List of CellRangeAddresses. Each structure represents a cell range - - - Convenience constructor for creating a CellRangeAddressList with a single - CellRangeAddress. Other CellRangeAddresses may be Added later. - - - @param in the RecordInputstream to read the record from - - - Get the number of following ADDR structures. The number of this - structures is automatically set when reading an Excel file and/or - increased when you manually Add a new ADDR structure . This is the reason - there isn't a set method for this field . - - @return number of ADDR structures - - - Add a cell range structure. - - @param firstRow - the upper left hand corner's row - @param firstCol - the upper left hand corner's col - @param lastRow - the lower right hand corner's row - @param lastCol - the lower right hand corner's col - @return the index of this ADDR structure - - - @return CellRangeAddress at the given index - - - @return the total size of for the specified number of ranges, - including the initial 2 byte range count - - - - Allow accessing the Initial value. - - - - - @author Avik Sengupta - @author Dennis doubleday (patch to seperateRowColumns()) - - - The character ($) that signifies a row or column value is absolute instead of relative - - - The character (!) that Separates sheet names from cell references - - - The character (') used to quote sheet names when they contain special characters - - - Matches a run of one or more letters followed by a run of one or more digits. - The run of letters is group 1 and the run of digits is group 2. - Each group may optionally be prefixed with a single '$'. - - - Matches a run of one or more letters. The run of letters is group 1. - The text may optionally be prefixed with a single '$'. - - - Matches a run of one or more digits. The run of digits is group 1. - The text may optionally be prefixed with a single '$'. - - - Named range names must start with a letter or underscore. Subsequent characters may include - digits or dot. (They can even end in dot). - - - Create an cell ref from a string representation. Sheet names containing special characters should be - delimited and escaped as per normal syntax rules for formulas. - - - takes in a column reference portion of a CellRef and converts it from - ALPHA-26 number format to 0-based base 10. - 'A' -> 0 - 'Z' -> 25 - 'AA' -> 26 - 'IV' -> 255 - @return zero based column index - - - Takes in a 0-based base-10 column and returns a ALPHA-26 - representation. - eg column #3 -> D - - - Separates the row from the columns and returns an array of three Strings. The first element - is the sheet name. Only the first element may be null. The second element in is the column - name still in ALPHA-26 number format. The third element is the row. - - - Example return values: - - - - - -
ResultComment
A1Cell reference without sheet
Sheet1!A1Standard sheet name
'O''Brien''s Sales'!A1'Sheet name with special characters
- @return the text representation of this cell reference as it would appear in a formula. -
- - Appends cell reference with '$' markers for absolute values as required. - Sheet name is not included. - - - Used to decide whether a name of the form "[A-Z]*[0-9]*" that appears in a formula can be - interpreted as a cell reference. Names of that form can be also used for sheets and/or - named ranges, and in those circumstances, the question of whether the potential cell - reference is valid (in range) becomes important. -

- Note - that the maximum sheet size varies across Excel versions: -

-

- - - - -
Version File Format Last Column Last Row
97-2003BIFF8"IV" (2^8)65536 (2^14)
2007BIFF12"XFD" (2^14)1048576 (2^20)
- POI currently targets BIFF8 (Excel 97-2003), so the following behaviour can be observed for - this method: -
- - - - - - - - - - - -
Input Result
"A", "1"true
"a", "111"true
"A", "65536"true
"A", "65537"false
"iv", "1"true
"IW", "1"false
"AAA", "1"false
"a", "111"true
"Sheet", "1"false
- - @param colStr a string of only letter characters - @param rowStr a string of only digit characters - @return true if the row and col parameters are within range of a BIFF8 spreadsheet. -
- - @return possibly null if this is a 2D reference. Special characters are not - escaped or delimited - - - Returns the three parts of the cell reference, the - Sheet name (or null if none supplied), the 1 based - row number, and the A based column letter. - This will not include any markers for absolute - references, so use {@link #formatAsString()} - to properly turn references into strings. - - - Various utility functions that make working with a cells and rows easier. The various methods - that deal with style's allow you to create your CellStyles as you need them. When you apply a - style change to a cell, the code will attempt to see if a style already exists that meets your - needs. If not, then it will create a new style. This is to prevent creating too many styles. - there is an upper limit in Excel on the number of styles that can be supported. - - @author Eric Pugh epugh@upstate.com - @author (secondary) Avinash Kewalramani akewalramani@accelrys.com - - - Get a row from the spreadsheet, and create it if it doesn't exist. - - @param rowIndex The 0 based row number - @param sheet The sheet that the row is part of. - @return The row indicated by the rowCounter - - - Get a specific cell from a row. If the cell doesn't exist, then create it. - - @param row The row that the cell is part of - @param columnIndex The column index that the cell is in. - @return The cell indicated by the column. - - - Creates a cell, gives it a value, and applies a style if provided - - @param row the row to create the cell in - @param column the column index to create the cell in - @param value The value of the cell - @param style If the style is not null, then set - @return A new Cell - - - Create a cell, and give it a value. - - @param row the row to create the cell in - @param column the column index to create the cell in - @param value The value of the cell - @return A new Cell. - - - Take a cell, and align it. - - @param cell the cell to set the alignment for - @param workbook The workbook that is being worked with. - @param align the column alignment to use. - - @see CellStyle for alignment options - - - Take a cell, and apply a font to it - - @param cell the cell to set the alignment for - @param workbook The workbook that is being worked with. - @param font The Font that you want to set... - - - This method attempt to find an already existing CellStyle that matches what you want the - style to be. If it does not find the style, then it creates a new one. If it does create a - new one, then it applies the propertyName and propertyValue to the style. This is necessary - because Excel has an upper limit on the number of Styles that it supports. - - @param workbook The workbook that is being worked with. - @param propertyName The name of the property that is to be changed. - @param propertyValue The value of the property that is to be changed. - @param cell The cell that needs it's style changes - - - Returns a map containing the format properties of the given cell style. - - @param style cell style - @return map of format properties (String -> Object) - @see #setFormatProperties(org.apache.poi.ss.usermodel.CellStyle, org.apache.poi.ss.usermodel.Workbook, java.util.Map) - - - Sets the format properties of the given style based on the given map. - - @param style cell style - @param workbook parent workbook - @param properties map of format properties (String -> Object) - @see #getFormatProperties(CellStyle) - - - Utility method that returns the named short value form the given map. - @return zero if the property does not exist, or is not a {@link Short}. - - @param properties map of named properties (String -> Object) - @param name property name - @return property value, or zero - - - Utility method that returns the named boolean value form the given map. - @return false if the property does not exist, or is not a {@link Boolean}. - - @param properties map of properties (String -> Object) - @param name property name - @return property value, or false - - - Utility method that puts the named short value to the given map. - - @param properties map of properties (String -> Object) - @param name property name - @param value property value - - - Utility method that puts the named boolean value to the given map. - - @param properties map of properties (String -> Object) - @param name property name - @param value property value - - - Looks for text in the cell that should be unicode, like an alpha and provides the - unicode version of it. - - @param cell The cell to check for unicode values - @return translated to unicode - - - Represents callback for CellWalk traverse method. - @author Roman Kashitsyn - - - @param cell current cell - @param ctx information about invokation context - - - Traverse cell range. - - @author Roman Kashitsyn - - - Should we call handler on empty (blank) cells. Default is - false. - @return true if handler should be called on empty (blank) - cells, false otherwise. - - - Sets the traverseEmptyCells property. - @param traverseEmptyCells new property value - - - Traverse cell range from top left to bottom right cell. - @param handler handler to call on each appropriate cell - - - Inner class to hold walk context. - @author Roman Kashitsyn - - - @author Roman Kashitsyn - - - Returns ordinal number of cell in range. Numeration starts - from top left cell and ends at bottom right cell. Here is a - brief example (number in cell is it's ordinal number): - - - - - - -
12
34
- - @return ordinal number of current cell -
- - Returns number of current row. - @return number of current row - - - Returns number of current column. - @return number of current column - - - Always 64 bits long (MSB, bit-63 is '1') - - - Convert to an equivalent {@link NormalisedDecimal} representation having 15 decimal digits of precision in the - non-fractional bits of the significand. - - - @return the number of non-fractional bits after the MSB of the significand - - - Format class for Excel's SSN Format. This class mimics Excel's built-in - SSN Formatting. - - @author James May - - - Format a number as an SSN - - - Format class for Excel Zip + 4 Format. This class mimics Excel's - built-in Formatting for Zip + 4. - @author James May - - - Format a number as Zip + 4 - - - Format class for Excel phone number Format. This class mimics Excel's - built-in phone number Formatting. - @author James May - - - Format a number as a phone number - - - Format class that does nothing and always returns a constant string. - - This format is used to simulate Excel's handling of a format string - of all # when the value is 0. Excel will output "", Java will output "0". - - @see DataFormatter#createFormat(double, int, String) - - - The value the exponent field Gets for all NaN and InfInity values - - - @param rawBits the 64 bit binary representation of the double value - @return the top 12 bits (sign and biased exponent value) - - - Width of a long - - - Minimum precision after discarding whole 32-bit words from the significand - - - The minimum value in 'Base-10 normalised form'.
- When {@link #_binaryExponent} == 46 this is the the minimum {@link #_frac} value - (1014-0.05) * 2^17 -
- Values between (1014-0.05) and 1014 will be represented as '1' - followed by 14 zeros. - Values less than (1014-0.05) will get Shifted by one more power of 10 - - This frac value rounds to '1' followed by fourteen zeros with an incremented decimal exponent -
- - For 'Base-10 normalised form'
- The maximum {@link #_frac} value when {@link #_binaryExponent} == 49 - (10^15-0.5) * 2^14 -
- - @param nBits number of bits to shift right - - - Holds values for quick multiplication and division by 10 - - - Number of powers of ten Contained in the significand - - - 219 - - - the value of {@link #_fractionalPart} that represents 0.5 - - - 1015 - - - Rounds at the digit with value 10decimalExponent - - - The decimal exponent increased by one less than the digit count of {@link #_wholePart} - - - The whole part of the significand (typically 15 digits). - - 47-50 bits long (MSB may be anywhere from bit 46 to 49) - LSB is units bit. - - - The fractional part of the significand. - 24 bits (only top 14-17 bits significant): a value between 0x000000 and 0xFFFF80 - - - Convert to an equivalent {@link ExpandedDouble} representation (binary frac and exponent). - The resulting transformed object is easily Converted to a 64 bit IEEE double: -
    -
  • bits 2-53 of the {@link #GetSignificand()} become the 52 bit 'fraction'.
  • -
  • {@link #GetBinaryExponent()} is biased by 1023 to give the 'exponent'.
  • -
- The sign bit must be obtained from somewhere else. - @return a new {@link NormalisedDecimal} normalised to base 2 representation. -
- - @return the significand as a fixed point number (with 24 fraction bits and 47-50 whole bits) - - - Rounds the first whole digit position (considers only units digit, not frational part). - Caller should check total digit count of result to see whether the rounding operation caused - a carry out of the most significant digit - - - @return the number of powers of 10 which have been extracted from the significand and binary exponent. - - - assumes both this and other are normalised - - - This class attempts to reproduce Excel's behaviour for comparing numbers. Results are - mostly the same as those from {@link Double#compare(double, double)} but with some - rounding. For numbers that are very close, this code converts to a format having 15 - decimal digits of precision and a decimal exponent, before completing the comparison. -

- In Excel formula evaluation, expressions like "(0.06-0.01)=0.05" evaluate to "TRUE" even - though the equivalent java expression is false. In examples like this, - Excel achieves the effect by having additional logic for comparison operations. -

-

- Note - Excel also gives special treatment to expressions like "0.06-0.01-0.05" which - evaluates to "0" (in java, rounding anomalies give a result of 6.9E-18). The special - behaviour here is for different reasons to the example above: If the last operator in a - cell formula is '+' or '-' and the result is less than 250 times smaller than - first operand, the result is rounded to zero. - Needless to say, the two rules are not consistent and it is relatively easy to find - examples that satisfy
- "A=B" is "TRUE" but "A-B" is not "0"
- and
- "A=B" is "FALSE" but "A-B" is "0"
-
- This rule (for rounding the result of a final addition or subtraction), has not been - implemented in POI (as of Jul-2009). - - @return negative, 0, or positive according to the standard Excel comparison - of values a and b. - - - If both numbers are subnormal, Excel seems to use standard comparison rules - - - Usually any normal number is greater (in magnitude) than any subnormal number. - However there are some anomalous cases around the threshold where Excel produces screwy results - @param isNegative both values are either negative or positive. This parameter affects the sign of the comparison result - @return usually isNegative ? -1 : +1 - - - for formatting double values in error messages - - - Converts the supplied value to the text representation that Excel would give if - the value were to appear in an unformatted cell, or as a literal number in a formula.
- Note - the results from this method differ slightly from those of Double.ToString() - In some special cases Excel behaves quite differently. This function attempts to reproduce - those results. -
- - Holds information regarding a split plane or freeze plane for a sheet. - - - - Constant for active pane being the lower right - - - Constant for active pane being the upper right - - - Constant for active pane being the lower left - - - Constant for active pane being the upper left - - - Returns true if this is a Freeze pane, false if it is a split pane. - - - Returns the vertical position of the split. - @return 0 if there is no vertical spilt, - or for a freeze pane the number of columns in the TOP pane, - or for a split plane the position of the split in 1/20th of a point. - - - Returns the horizontal position of the split. - @return 0 if there is no horizontal spilt, - or for a freeze pane the number of rows in the LEFT pane, - or for a split plane the position of the split in 1/20th of a point. - - - For a horizontal split returns the top row in the BOTTOM pane. - @return 0 if there is no horizontal split, or the top row of the bottom pane. - - - For a vertical split returns the left column in the RIGHT pane. - @return 0 if there is no vertical split, or the left column in the RIGHT pane. - - - Returns the active pane - @see #PANE_LOWER_RIGHT - @see #PANE_UPPER_RIGHT - @see #PANE_LOWER_LEFT - @see #PANE_UPPER_LEFT - @return the active pane. - - - Represents a from/to row/col square. This is a object primitive - that can be used to represent row,col - row,col just as one would use String - to represent a string of characters. Its really only useful for HSSF though. - - @author Andrew C. Oliver acoliver at apache dot org - - - Creates a new instance of Region (0,0 - 0,0) - - - Convert a List of CellRange objects to an array of regions - - @param List of CellRange objects - @return regions - - - Get the upper left hand corner column number - - @return column number for the upper left hand corner - - - Get the upper left hand corner row number - - @return row number for the upper left hand corner - - - Get the lower right hand corner column number - - @return column number for the lower right hand corner - - - Get the lower right hand corner row number - - @return row number for the lower right hand corner - - - Various utility functions that make working with a region of cells easier. - - @author Eric Pugh epugh@upstate.com - @author (secondary) Avinash Kewalramani akewalramani@accelrys.com - - - Sets the left border for a region of cells by manipulating the cell style of the individual - cells on the left - - @param border The new border - @param region The region that should have the border - @param workbook The workbook that the region is on. - @param sheet The sheet that the region is on. - - - Sets the leftBorderColor attribute of the RegionUtil object - - @param color The color of the border - @param region The region that should have the border - @param workbook The workbook that the region is on. - @param sheet The sheet that the region is on. - - - Sets the borderRight attribute of the RegionUtil object - - @param border The new border - @param region The region that should have the border - @param workbook The workbook that the region is on. - @param sheet The sheet that the region is on. - - - Sets the rightBorderColor attribute of the RegionUtil object - - @param color The color of the border - @param region The region that should have the border - @param workbook The workbook that the region is on. - @param sheet The sheet that the region is on. - - - Sets the borderBottom attribute of the RegionUtil object - - @param border The new border - @param region The region that should have the border - @param workbook The workbook that the region is on. - @param sheet The sheet that the region is on. - - - Sets the bottomBorderColor attribute of the RegionUtil object - - @param color The color of the border - @param region The region that should have the border - @param workbook The workbook that the region is on. - @param sheet The sheet that the region is on. - - - Sets the borderBottom attribute of the RegionUtil object - - @param border The new border - @param region The region that should have the border - @param workbook The workbook that the region is on. - @param sheet The sheet that the region is on. - - - Sets the topBorderColor attribute of the RegionUtil object - - @param color The color of the border - @param region The region that should have the border - @param workbook The workbook that the region is on. - @param sheet The sheet that the region is on. - - - For setting the same property on many cells to the same value - - - Class {@code SheetBuilder} provides an easy way of building workbook sheets - from 2D array of Objects. It can be used in test cases to improve code - readability or in Swing applications with tables. - - @author Roman Kashitsyn - - - Returns {@code true} if null array elements should be treated as empty - cells. - - @return {@code true} if null objects should be treated as empty cells - and {@code false} otherwise - - - Specifies if null array elements should be treated as empty cells. - - @param shouldCreateEmptyCells {@code true} if null array elements should be - treated as empty cells - @return {@code this} - - - Specifies name of the sheet to build. If not specified, default name (provided by - workbook) will be used instead. - @param sheetName sheet name to use - @return {@code this} - - - Builds sheet from parent workbook and 2D array with cell - values. Creates rows anyway (even if row contains only null - cells), creates cells if either corresponding array value is not - null or createEmptyCells property is true. - The conversion is performed in the following way: -

-

    -
  • Numbers become numeric cells.
  • -
  • java.util.Date or java.util.Calendar - instances become date cells.
  • -
  • String with leading '=' char become formulas (leading '=' - will be truncated).
  • -
  • Other objects become strings via Object.toString() - method call.
  • -
- - @return newly created sheet -
- - Sets the cell value using object type information. - @param cell cell to change - @param value value to set - - - Holds a collection of Sheet names and their associated - reference numbers. - - @author Andrew C. Oliver (acoliver at apache dot org) - - - - Helper methods for when working with Usermodel sheets - - @author Yegor Kozlov - - - Dummy formula Evaluator that does nothing. - YK: The only reason of having this class is that - {@link NPOI.SS.UserModel.DataFormatter#formatCellValue(NPOI.SS.UserModel.Cell)} - returns formula string for formula cells. Dummy Evaluator Makes it to format the cached formula result. - - See Bugzilla #50021 - - - Compute width of a single cell - - @param cell the cell whose width is to be calculated - @param defaultCharWidth the width of a single character - @param formatter formatter used to prepare the text to be measured - @param useMergedCells whether to use merged cells - @return the width in pixels - - - Compute width of a column and return the result - - @param sheet the sheet to calculate - @param column 0-based index of the column - @param useMergedCells whether to use merged cells - @return the width in pixels - - - Compute width of a column based on a subset of the rows and return the result - - @param sheet the sheet to calculate - @param column 0-based index of the column - @param useMergedCells whether to use merged cells - @param firstRow 0-based index of the first row to consider (inclusive) - @param lastRow 0-based index of the last row to consider (inclusive) - @return the width in pixels - - - - Convert HSSFFont to Font. - - The font. - - - - Generate a valid sheet name based on the existing one. Used when cloning sheets. - - @param srcName the original sheet name to - @return clone sheet name - - - Return the cell, taking account of merged regions. Allows you to find the - cell who's contents are Shown in a given position in the sheet. - -

If the cell at the given co-ordinates is a merged cell, this will - return the primary (top-left) most cell of the merged region.

-

If the cell at the given co-ordinates is not in a merged region, - then will return the cell itself.

-

If there is no cell defined at the given co-ordinates, will return - null.

-
- - For POI internal use only - - @author Josh Micich - - - Helper methods for when working with Usermodel Workbooks - - - Creates a valid sheet name, which is conform to the rules. - In any case, the result safely can be used for - {@link org.apache.poi.ss.usermodel.Workbook#setSheetName(int, String)}. -
- Rules: -
    -
  • never null
  • -
  • minimum length is 1
  • -
  • maximum length is 31
  • -
  • doesn't contain special chars: 0x0000, 0x0003, / \ ? * ] [
  • -
  • Sheet names must not begin or end with ' (apostrophe)
  • -
- Invalid characters are replaced by one space character ' '. - - @param nameProposal can be any string, will be truncated if necessary, - allowed to be null - @return a valid string, "empty" if to short, "null" if null -
- - Creates a valid sheet name, which is conform to the rules. - In any case, the result safely can be used for - {@link org.apache.poi.ss.usermodel.Workbook#setSheetName(int, String)}. -
- Rules: -
    -
  • never null
  • -
  • minimum length is 1
  • -
  • maximum length is 31
  • -
  • doesn't contain special chars: : 0x0000, 0x0003, / \ ? * ] [
  • -
  • Sheet names must not begin or end with ' (apostrophe)
  • -
- - @param nameProposal can be any string, will be truncated if necessary, - allowed to be null - @param replaceChar the char to replace invalid characters. - @return a valid string, "empty" if to short, "null" if null -
- - Validates sheet name. - -

- The character count MUST be greater than or equal to 1 and less than or equal to 31. - The string MUST NOT contain the any of the following characters: -

    -
  • 0x0000
  • -
  • 0x0003
  • -
  • colon (:)
  • -
  • backslash (\)
  • -
  • asterisk (*)
  • -
  • question mark (?)
  • -
  • forward slash (/)
  • -
  • opening square bracket ([)
  • -
  • closing square bracket (])
  • -
- The string MUST NOT begin or end with the single quote (') character. -

- - @param sheetName the name to validate -
- - - Fills the specified array. - - The array. - The default value. - - - - Assigns the specified byte value to each element of the specified - range of the specified array of bytes. The range to be filled - extends from index fromIndex, inclusive, to index - toIndex, exclusive. (If fromIndex==toIndex, the - range to be filled is empty.) - - the array to be filled - the index of the first element (inclusive) to be filled with the specified value - the index of the last element (exclusive) to be filled with the specified value - the value to be stored in all elements of the array - if fromIndex > toIndex - if fromIndex < 0 or toIndex > a.length - - - - Checks that {@code fromIndex} and {@code toIndex} are in - the range and throws an appropriate exception, if they aren't. - - - - - - - - Convert Array to ArrayList - - source array - - - - - Fills the specified array. - - The array. - The default value. - - - - Equals the specified a1. - - The a1. - The b1. - - - - Returns true if the two specified arrays of Objects are - equal to one another. The two arrays are considered equal if - both arrays contain the same number of elements, and all corresponding - pairs of elements in the two arrays are equal. Two objects e1 - and e2 are considered equal if (e1==null ? e2==null - : e1.equals(e2)). In other words, the two arrays are equal if - they contain the same elements in the same order. Also, two array - references are considered equal if both are null. - - @param a one array to be tested for equality - @param a2 the other array to be tested for equality - @return true if the two arrays are equal - - - - Moves a number of entries in an array to another point in the array, shifting those inbetween as required. - - The array to alter - The (0 based) index of the first entry to move - The (0 based) index of the positition to move to - The number of entries to move - - - - Copies the specified array, truncating or padding with zeros (if - necessary) so the copy has the specified length. This method is temporary - replace for Arrays.copyOf() until we start to require JDK 1.6. - - the array to be copied - the length of the copy to be returned - a copy of the original array, truncated or padded with zeros to obtain the specified length - - - Returns a hash code based on the contents of the specified array. - For any two long arrays a and b - such that Arrays.Equals(a, b), it is also the case that - Arrays.HashCode(a) == Arrays.HashCode(b). - - The value returned by this method is the same value that would be - obtained by invoking the {@link List#hashCode() hashCode} - method on a {@link List} Containing a sequence of {@link Long} - instances representing the elements of a in the same order. - If a is null, this method returns 0. - - @param a the array whose hash value to compute - @return a content-based hash code for a - @since 1.5 - - - Returns a hash code based on the contents of the specified array. - For any two non-null int arrays a and b - such that Arrays.Equals(a, b), it is also the case that - Arrays.HashCode(a) == Arrays.HashCode(b). - - The value returned by this method is the same value that would be - obtained by invoking the {@link List#hashCode() hashCode} - method on a {@link List} Containing a sequence of {@link int} - instances representing the elements of a in the same order. - If a is null, this method returns 0. - - @param a the array whose hash value to compute - @return a content-based hash code for a - @since 1.5 - - - Returns a hash code based on the contents of the specified array. - For any two short arrays a and b - such that Arrays.Equals(a, b), it is also the case that - Arrays.HashCode(a) == Arrays.HashCode(b). - - The value returned by this method is the same value that would be - obtained by invoking the {@link List#hashCode() hashCode} - method on a {@link List} Containing a sequence of {@link short} - instances representing the elements of a in the same order. - If a is null, this method returns 0. - - @param a the array whose hash value to compute - @return a content-based hash code for a - @since 1.5 - - - Returns a hash code based on the contents of the specified array. - For any two char arrays a and b - such that Arrays.Equals(a, b), it is also the case that - Arrays.HashCode(a) == Arrays.HashCode(b). - - The value returned by this method is the same value that would be - obtained by invoking the {@link List#hashCode() hashCode} - method on a {@link List} Containing a sequence of {@link Character} - instances representing the elements of a in the same order. - If a is null, this method returns 0. - - @param a the array whose hash value to compute - @return a content-based hash code for a - @since 1.5 - - - Returns a hash code based on the contents of the specified array. - For any two byte arrays a and b - such that Arrays.Equals(a, b), it is also the case that - Arrays.HashCode(a) == Arrays.HashCode(b). - - The value returned by this method is the same value that would be - obtained by invoking the {@link List#hashCode() hashCode} - method on a {@link List} Containing a sequence of {@link Byte} - instances representing the elements of a in the same order. - If a is null, this method returns 0. - - @param a the array whose hash value to compute - @return a content-based hash code for a - @since 1.5 - - - Returns a hash code based on the contents of the specified array. - For any two bool arrays a and b - such that Arrays.Equals(a, b), it is also the case that - Arrays.HashCode(a) == Arrays.HashCode(b). - - The value returned by this method is the same value that would be - obtained by invoking the {@link List#hashCode() hashCode} - method on a {@link List} Containing a sequence of {@link Boolean} - instances representing the elements of a in the same order. - If a is null, this method returns 0. - - @param a the array whose hash value to compute - @return a content-based hash code for a - @since 1.5 - - - Returns a hash code based on the contents of the specified array. - For any two float arrays a and b - such that Arrays.Equals(a, b), it is also the case that - Arrays.HashCode(a) == Arrays.HashCode(b). - - The value returned by this method is the same value that would be - obtained by invoking the {@link List#hashCode() hashCode} - method on a {@link List} Containing a sequence of {@link Float} - instances representing the elements of a in the same order. - If a is null, this method returns 0. - - @param a the array whose hash value to compute - @return a content-based hash code for a - @since 1.5 - - - Returns a hash code based on the contents of the specified array. - For any two double arrays a and b - such that Arrays.Equals(a, b), it is also the case that - Arrays.HashCode(a) == Arrays.HashCode(b). - - The value returned by this method is the same value that would be - obtained by invoking the {@link List#hashCode() hashCode} - method on a {@link List} Containing a sequence of {@link Double} - instances representing the elements of a in the same order. - If a is null, this method returns 0. - - @param a the array whose hash value to compute - @return a content-based hash code for a - @since 1.5 - - - Returns a hash code based on the contents of the specified array. If - the array Contains other arrays as elements, the hash code is based on - their identities rather than their contents. It is therefore - acceptable to invoke this method on an array that Contains itself as an - element, either directly or indirectly through one or more levels of - arrays. - - For any two arrays a and b such that - Arrays.Equals(a, b), it is also the case that - Arrays.HashCode(a) == Arrays.HashCode(b). - - The value returned by this method is equal to the value that would - be returned by Arrays.AsList(a).HashCode(), unless a - is null, in which case 0 is returned. - - @param a the array whose content-based hash code to compute - @return a content-based hash code for a - @see #deepHashCode(Object[]) - @since 1.5 - - - Returns a hash code based on the "deep contents" of the specified - array. If the array Contains other arrays as elements, the - hash code is based on their contents and so on, ad infInitum. - It is therefore unacceptable to invoke this method on an array that - Contains itself as an element, either directly or indirectly through - one or more levels of arrays. The behavior of such an invocation is - undefined. - - For any two arrays a and b such that - Arrays.DeepEquals(a, b), it is also the case that - Arrays.DeepHashCode(a) == Arrays.DeepHashCode(b). - - The computation of the value returned by this method is similar to - that of the value returned by {@link List#hashCode()} on a list - Containing the same elements as a in the same order, with one - difference: If an element e of a is itself an array, - its hash code is computed not by calling e.HashCode(), but as - by calling the appropriate overloading of Arrays.HashCode(e) - if e is an array of a primitive type, or as by calling - Arrays.DeepHashCode(e) recursively if e is an array - of a reference type. If a is null, this method - returns 0. - - @param a the array whose deep-content-based hash code to compute - @return a deep-content-based hash code for a - @see #hashCode(Object[]) - @since 1.5 - - - Returns true if the two specified arrays are deeply - Equal to one another. Unlike the {@link #Equals(Object[],Object[])} - method, this method is appropriate for use with nested arrays of - arbitrary depth. - - Two array references are considered deeply equal if both - are null, or if they refer to arrays that contain the same - number of elements and all corresponding pairs of elements in the two - arrays are deeply Equal. - - Two possibly null elements e1 and e2 are - deeply equal if any of the following conditions hold: -
    -
  • e1 and e2 are both arrays of object reference - types, and Arrays.DeepEquals(e1, e2) would return true
  • -
  • e1 and e2 are arrays of the same primitive - type, and the appropriate overloading of - Arrays.Equals(e1, e2) would return true.
  • -
  • e1 == e2
  • -
  • e1.Equals(e2) would return true.
  • -
- Note that this defInition permits null elements at any depth. - - If either of the specified arrays contain themselves as elements - either directly or indirectly through one or more levels of arrays, - the behavior of this method is undefined. - - @param a1 one array to be tested for Equality - @param a2 the other array to be tested for Equality - @return true if the two arrays are equal - @see #Equals(Object[],Object[]) - @see Objects#deepEquals(Object, Object) - @since 1.5 -
- - Returns a string representation of the contents of the specified array. - The string representation consists of a list of the array's elements, - enclosed in square brackets ("[]"). Adjacent elements are - Separated by the characters ", " (a comma followed by a - space). Elements are Converted to strings as by - String.ValueOf(long). Returns "null" if a - is null. - - @param a the array whose string representation to return - @return a string representation of a - @since 1.5 - - - Returns a string representation of the contents of the specified array. - The string representation consists of a list of the array's elements, - enclosed in square brackets ("[]"). Adjacent elements are - Separated by the characters ", " (a comma followed by a - space). Elements are Converted to strings as by - String.ValueOf(int). Returns "null" if a is - null. - - @param a the array whose string representation to return - @return a string representation of a - @since 1.5 - - - Returns a string representation of the contents of the specified array. - The string representation consists of a list of the array's elements, - enclosed in square brackets ("[]"). Adjacent elements are - Separated by the characters ", " (a comma followed by a - space). Elements are Converted to strings as by - String.ValueOf(short). Returns "null" if a - is null. - - @param a the array whose string representation to return - @return a string representation of a - @since 1.5 - - - Returns a string representation of the contents of the specified array. - The string representation consists of a list of the array's elements, - enclosed in square brackets ("[]"). Adjacent elements are - Separated by the characters ", " (a comma followed by a - space). Elements are Converted to strings as by - String.ValueOf(char). Returns "null" if a - is null. - - @param a the array whose string representation to return - @return a string representation of a - @since 1.5 - - - Returns a string representation of the contents of the specified array. - The string representation consists of a list of the array's elements, - enclosed in square brackets ("[]"). Adjacent elements - are Separated by the characters ", " (a comma followed - by a space). Elements are Converted to strings as by - String.ValueOf(byte). Returns "null" if - a is null. - - @param a the array whose string representation to return - @return a string representation of a - @since 1.5 - - - Returns a string representation of the contents of the specified array. - The string representation consists of a list of the array's elements, - enclosed in square brackets ("[]"). Adjacent elements are - Separated by the characters ", " (a comma followed by a - space). Elements are Converted to strings as by - String.ValueOf(bool). Returns "null" if - a is null. - - @param a the array whose string representation to return - @return a string representation of a - @since 1.5 - - - Returns a string representation of the contents of the specified array. - The string representation consists of a list of the array's elements, - enclosed in square brackets ("[]"). Adjacent elements are - Separated by the characters ", " (a comma followed by a - space). Elements are Converted to strings as by - String.ValueOf(float). Returns "null" if a - is null. - - @param a the array whose string representation to return - @return a string representation of a - @since 1.5 - - - Returns a string representation of the contents of the specified array. - The string representation consists of a list of the array's elements, - enclosed in square brackets ("[]"). Adjacent elements are - Separated by the characters ", " (a comma followed by a - space). Elements are Converted to strings as by - String.ValueOf(double). Returns "null" if a - is null. - - @param a the array whose string representation to return - @return a string representation of a - @since 1.5 - - - Returns a string representation of the "deep contents" of the specified - array. If the array Contains other arrays as elements, the string - representation Contains their contents and so on. This method is - designed for Converting multidimensional arrays to strings. - - The string representation consists of a list of the array's - elements, enclosed in square brackets ("[]"). Adjacent - elements are Separated by the characters ", " (a comma - followed by a space). Elements are Converted to strings as by - String.ValueOf(Object), unless they are themselves - arrays. - - If an element e is an array of a primitive type, it is - Converted to a string as by invoking the appropriate overloading of - Arrays.ToString(e). If an element e is an array of a - reference type, it is Converted to a string as by invoking - this method recursively. - - To avoid infInite recursion, if the specified array Contains itself - as an element, or Contains an indirect reference to itself through one - or more levels of arrays, the self-reference is Converted to the string - "[...]". For example, an array Containing only a reference - to itself would be rendered as "[[...]]". - - This method returns "null" if the specified array - is null. - - @param a the array whose string representation to return - @return a string representation of a - @see #ToString(Object[]) - @since 1.5 - - - Returns a string representation of the contents of the specified array. - If the array contains other arrays as elements, they are converted to - strings by the {@link Object#toString} method inherited from - Object, which describes their identities rather than - their contents. - -

The value returned by this method is equal to the value that would - be returned by Arrays.asList(a).toString(), unless a - is null, in which case "null" is returned.

- - @param a the array whose string representation to return - @return a string representation of a - @see #deepToString(Object[]) - @since 1.5 -
- - This mask is used to obtain the value of an int as if it were unsigned. - - - The signum of this BigInteger: -1 for negative, 0 for zero, or - 1 for positive. Note that the BigInteger zero must have - a signum of 0. This is necessary to ensures that there is exactly one - representation for each BigInteger value. - - @serial - - - The magnitude of this BigInteger, in big-endian order: the - zeroth element of this array is the most-significant int of the - magnitude. The magnitude must be "minimal" in that the most-significant - int ({@code mag[0]}) must be non-zero. This is necessary to - ensure that there is exactly one representation for each BigInteger - value. Note that this implies that the BigInteger zero has a - zero-length mag array. - - - One plus the bitCount of this BigInteger. Zeros means unitialized. - - @serial - @see #bitCount - @deprecated Deprecated since logical value is offset from stored - value and correction factor is applied in accessor method. - - - One plus the bitLength of this BigInteger. Zeros means unitialized. - (either value is acceptable). - - @serial - @see #bitLength() - @deprecated Deprecated since logical value is offset from stored - value and correction factor is applied in accessor method. - - - Two plus the index of the lowest-order int in the magnitude of this - BigInteger that contains a nonzero int, or -2 (either value is acceptable). - The least significant int has int-number 0, the next int in order of - increasing significance has int-number 1, and so forth. - @deprecated Deprecated since logical value is offset from stored - value and correction factor is applied in accessor method. - - - This internal constructor differs from its public cousin - with the arguments reversed in two ways: it assumes that its - arguments are correct, and it doesn't copy the magnitude array. - - - Translates a byte array containing the two's-complement binary - representation of a BigInteger into a BigInteger. The input array is - assumed to be in big-endian byte-order: the most significant - byte is in the zeroth element. - - @param val big-endian two's-complement binary representation of - BigInteger. - @throws NumberFormatException {@code val} is zero bytes long. - - - This private constructor translates an int array containing the - two's-complement binary representation of a BigInteger into a - BigInteger. The input array is assumed to be in big-endian - int-order: the most significant int is in the zeroth element. - - - Constructs a BigInteger with the specified value, which may not be zero. - - - Returns the input array stripped of any leading zero bytes. - Since the source is trusted the copying may be skipped. - - - Returns the String representation of this BigInteger in the - given radix. If the radix is outside the range from {@link - Character#Min_RADIX} to {@link Character#Max_RADIX} inclusive, - it will default to 10 (as is the case for - {@code Integer.toString}). The digit-to-character mapping - provided by {@code Character.forDigit} is used, and a minus - sign is prepended if appropriate. (This representation is - compatible with the {@link #BigInteger(String, int) (String, - int)} constructor.) - - @param radix radix of the String representation. - @return String representation of this BigInteger in the given radix. - @see Integer#toString - @see Character#forDigit - @see #BigInteger(java.lang.String, int) - - - The BigInteger constant zero. - - @since 1.2 - - - The BigInteger constant one. - - @since 1.2 - - - The BigInteger constant two. (Not exported.) - - - The BigInteger constant ten. - - @since 1.5 - - - Returns a BigInteger whose value is equal to that of the - specified {@code long}. This "static factory method" is - provided in preference to a ({@code long}) constructor - because it allows for reuse of frequently used BigIntegers. - - @param val value of the BigInteger to return. - @return a BigInteger with the specified value. - - - Returns a BigInteger with the given two's complement representation. - Assumes that the input array will not be modified (the returned - BigInteger will reference the input array if feasible). - - - Package private method to return bit length for an integer. - - - Returns the number of bits in the two's complement representation - of this BigInteger that differ from its sign bit. This method is - useful when implementing bit-vector style sets atop BigIntegers. - - @return number of bits in the two's complement representation - of this BigInteger that differ from its sign bit. - - - Returns a BigInteger whose value is the absolute value of this - BigInteger. - - @return {@code abs(this)} - - - Returns a BigInteger whose value is {@code (-this)}. - - @return {@code -this} - - - Returns a BigInteger whose value is (thisexponent). - Note that {@code exponent} is an integer rather than a BigInteger. - - @param exponent exponent to which this BigInteger is to be raised. - @return thisexponent - @throws ArithmeticException {@code exponent} is negative. (This would - cause the operation to yield a non-integer value.) - - - Multiplies int arrays x and y to the specified lengths and places - the result into z. There will be no leading zeros in the resultant array. - - - Multiply an array by one word k and add to result, return the carry - - - Squares the contents of the int array x. The result is placed into the - int array z. The contents of x are not changed. - - - Add one word to the number a mlen words into a. Return the resulting - carry. - - - Returns the signum function of this BigInteger. - - @return -1, 0 or 1 as the value of this BigInteger is negative, zero or - positive. - - - Returns a byte array containing the two's-complement - representation of this BigInteger. The byte array will be in - big-endian byte-order: the most significant byte is in - the zeroth element. The array will contain the minimum number - of bytes required to represent this BigInteger, including at - least one sign bit, which is {@code (ceil((this.bitLength() + - 1)/8))}. (This representation is compatible with the - {@link #BigInteger(byte[]) (byte[])} constructor.) - - @return a byte array containing the two's-complement representation of - this BigInteger. - @see #BigInteger(byte[]) - - - Returns the length of the two's complement representation in ints, - including space for at least one sign bit. - - - Returns the specified int of the little-endian two's complement - representation (int 0 is the least significant). The int number can - be arbitrarily high (values are logically preceded by infinitely many - sign ints). - - - Returns the index of the int that contains the first nonzero int in the - little-endian binary representation of the magnitude (int 0 is the - least significant). If the magnitude is zero, return value is undefined. - - - Returns a copy of the input array stripped of any leading zero bytes. - - - Takes an array a representing a negative 2's-complement number and - returns the minimal (no leading zero bytes) unsigned whose value is -a. - - - Takes an array a representing a negative 2's-complement number and - returns the minimal (no leading zero ints) unsigned whose value is -a. - - - Returns the number of zero bits preceding the highest-order - ("leftmost") one-bit in the two's complement binary representation - of the specified {@code int} value. Returns 32 if the - specified value has no one-bits in its two's complement representation, - in other words if it is equal to zero. - - Note that this method is closely related to the logarithm base 2. - For all positive {@code int} values x: -
    -
  • floor(log2(x)) = {@code 31 - numberOfLeadingZeros(x)}
  • -
  • ceil(log2(x)) = {@code 32 - numberOfLeadingZeros(x - 1)}
  • -
- - @return the number of zero bits preceding the highest-order - ("leftmost") one-bit in the two's complement binary representation - of the specified {@code int} value, or 32 if the value - is equal to zero. - @since 1.5 -
- - Returns the number of zero bits following the lowest-order ("rightmost") - one-bit in the two's complement binary representation of the specified - {@code int} value. Returns 32 if the specified value has no - one-bits in its two's complement representation, in other words if it is - equal to zero. - - @return the number of zero bits following the lowest-order ("rightmost") - one-bit in the two's complement binary representation of the - specified {@code int} value, or 32 if the value is equal - to zero. - @since 1.5 - - - Returns the number of one-bits in the two's complement binary - representation of the specified {@code int} value. This function is - sometimes referred to as the population count. - - @return the number of one-bits in the two's complement binary - representation of the specified {@code int} value. - @since 1.5 - - - Compares the magnitude array of this BigInteger with the specified - BigInteger's. This is the version of compareTo ignoring sign. - - @param val BigInteger whose magnitude array to be compared. - @return -1, 0 or 1 as this magnitude array is less than, equal to or - greater than the magnitude aray for the specified BigInteger's. - - - Compares this BigInteger with the specified Object for equality. - - @param x Object to which this BigInteger is to be compared. - @return {@code true} if and only if the specified Object is a - BigInteger whose value is numerically equal to this BigInteger. - - - Returns the minimum of this BigInteger and {@code val}. - - @param val value with which the minimum is to be computed. - @return the BigInteger whose value is the lesser of this BigInteger and - {@code val}. If they are equal, either may be returned. - - - Returns the maximum of this BigInteger and {@code val}. - - @param val value with which the maximum is to be computed. - @return the BigInteger whose value is the greater of this and - {@code val}. If they are equal, either may be returned. - - - Returns the hash code for this BigInteger. - - @return hash code for this BigInteger. - - - Converts this BigInteger to an {@code int}. This - conversion is analogous to a - narrowing primitive conversion from {@code long} to - {@code int} as defined in section 5.1.3 of - The Java(TM) Language Specification: - if this BigInteger is too big to fit in an - {@code int}, only the low-order 32 bits are returned. - Note that this conversion can lose information about the - overall magnitude of the BigInteger value as well as return a - result with the opposite sign. - - @return this BigInteger converted to an {@code int}. - - - Converts this BigInteger to a {@code long}. This - conversion is analogous to a - narrowing primitive conversion from {@code long} to - {@code int} as defined in section 5.1.3 of - The Java(TM) Language Specification: - if this BigInteger is too big to fit in a - {@code long}, only the low-order 64 bits are returned. - Note that this conversion can lose information about the - overall magnitude of the BigInteger value as well as return a - result with the opposite sign. - - @return this BigInteger converted to a {@code long}. - - - Returns a BigInteger whose value is {@code (this >> n)}. Sign - extension is performed. The shift distance, {@code n}, may be - negative, in which case this method performs a left shift. - (Computes floor(this / 2n).) - - @param n shift distance, in bits. - @return {@code this >> n} - @throws ArithmeticException if the shift distance is {@code - Integer.Min_VALUE}. - @see #shiftLeft - - - Returns a BigInteger whose value is {@code (~this)}. (This method - returns a negative value if and only if this BigInteger is - non-negative.) - - @return {@code ~this} - - - Returns a BigInteger whose value is {@code (this | val)}. (This method - returns a negative BigInteger if and only if either this or val is - negative.) - - @param val value to be OR'ed with this BigInteger. - @return {@code this | val} - - - Package private methods used by BigDecimal code to multiply a BigInteger - with a long. Assumes v is not equal to INFLATED. - - - Returns a BigInteger whose value is {@code (this * val)}. - - @param val value to be multiplied by this BigInteger. - @return {@code this * val} - - - Returns a BigInteger whose value is {@code (this + val)}. - - @param val value to be added to this BigInteger. - @return {@code this + val} - - - Adds the contents of the int arrays x and y. This method allocates - a new int array to hold the answer and returns a reference to that - array. - - - Returns a BigInteger whose value is {@code (this - val)}. - - @param val value to be subtracted from this BigInteger. - @return {@code this - val} - - - Subtracts the contents of the second int arrays (little) from the - first (big). The first int array (big) must represent a larger number - than the second. This method allocates the space necessary to hold the - answer. - - - Returns a BigInteger whose value is {@code (this / val)}. - - @param val value by which this BigInteger is to be divided. - @return {@code this / val} - @throws ArithmeticException if {@code val} is zero. - - - Holds the magnitude of this MutableBigInteger in big endian order. - The magnitude may start at an offset into the value array, and it may - end before the length of the value array. - - - The number of ints of the value array that are currently used - to hold the magnitude of this MutableBigInteger. The magnitude starts - at an offset and offset + intLen may be less than value.Length. - - - The offset into the value array where the magnitude of this - MutableBigInteger begins. - - - MutableBigInteger with one element value array with the value 1. Used by - BigDecimal divideAndRound to increment the quotient. Use this constant - only when the method is not going to modify this object. - - - The default constructor. An empty MutableBigInteger is created with - a one word capacity. - - - Construct a new MutableBigInteger with a magnitude specified by - the int val. - - - Construct a new MutableBigInteger with the specified value array - up to the length of the array supplied. - - - Construct a new MutableBigInteger with a magnitude equal to the - specified BigInteger. - - - Construct a new MutableBigInteger with a magnitude equal to the - specified MutableBigInteger. - - - Internal helper method to return the magnitude array. The caller is not - supposed to modify the returned array. - - - Convert this MutableBigInteger to a long value. The caller has to make - sure this MutableBigInteger can be fit into long. - - - Convert this MutableBigInteger to a BigInteger object. - - - Clear out a MutableBigInteger for reuse. - - - Set a MutableBigInteger to zero, removing its offset. - - - Compare the magnitude of two MutableBigIntegers. Returns -1, 0 or 1 - as this MutableBigInteger is numerically less than, equal to, or - greater than b. - - - Compare this against half of a MutableBigInteger object (Needed for - remainder tests). - Assumes no leading unnecessary zeros, which holds for results - from divide(). - - - Return the index of the lowest set bit in this MutableBigInteger. If the - magnitude of this MutableBigInteger is zero, -1 is returned. - - - Return the int in use in this MutableBigInteger at the specified - index. This method is not used because it is not inlined on all - platforms. - - - Return a long which is equal to the unsigned value of the int in - use in this MutableBigInteger at the specified index. This method is - not used because it is not inlined on all platforms. - - - Ensure that the MutableBigInteger is in normal form, specifically - making sure that there are no leading zeros, and that if the - magnitude is zero, then intLen is zero. - - - If this MutableBigInteger cannot hold len words, increase the size - of the value array to len words. - - - Convert this MutableBigInteger into an int array with no leading - zeros, of a length that is equal to this MutableBigInteger's intLen. - - - Sets the int at index+offset in this MutableBigInteger to val. - This does not get inlined on all platforms so it is not used - as often as originally intended. - - - Sets this MutableBigInteger's value array to the specified array. - The intLen is set to the specified length. - - - Sets this MutableBigInteger's value array to a copy of the specified - array. The intLen is set to the length of the new array. - - - Sets this MutableBigInteger's value array to a copy of the specified - array. The intLen is set to the length of the specified array. - - - Returns true iff this MutableBigInteger has a value of one. - - - Returns true iff this MutableBigInteger has a value of zero. - - - Returns true iff this MutableBigInteger is even. - - - Returns true iff this MutableBigInteger is odd. - - - Returns true iff this MutableBigInteger is in normal form. A - MutableBigInteger is in normal form if it has no leading zeros - after the offset, and intLen + offset <= value.Length. - - - Returns a String representation of this MutableBigInteger in radix 10. - - - Right shift this MutableBigInteger n bits. The MutableBigInteger is left - in normal form. - - - Left shift this MutableBigInteger n bits. - - - A primitive used for division. This method adds in one multiple of the - divisor a back to the dividend result at a specified offset. It is used - when qhat was estimated too large, and must be adjusted. - - - This method is used for division. It multiplies an n word input a by one - word input x, and subtracts the n word product from q. This is needed - when subtracting qhat*divisor from dividend. - - - Right shift this MutableBigInteger n bits, where n is - less than 32. - Assumes that intLen > 0, n > 0 for speed - - - Left shift this MutableBigInteger n bits, where n is - less than 32. - Assumes that intLen > 0, n > 0 for speed - - - Adds the contents of two MutableBigInteger objects.The result - is placed within this MutableBigInteger. - The contents of the addend are not changed. - - - Subtracts the smaller of this and b from the larger and places the - result into this MutableBigInteger. - - - Subtracts the smaller of a and b from the larger and places the result - into the larger. Returns 1 if the answer is in a, -1 if in b, 0 if no - operation was performed. - - - Multiply the contents of two MutableBigInteger objects. The result is - placed into MutableBigInteger z. The contents of y are not changed. - - - Multiply the contents of this MutableBigInteger by the word y. The - result is placed into z. - - - This method is used for division of an n word dividend by a one word - divisor. The quotient is placed into quotient. The one word divisor is - specified by divisor. - - @return the remainder of the division is returned. - - - - Calculates the quotient of this div b and places the quotient in the - provided MutableBigInteger objects and the remainder object is returned. - - Uses Algorithm D in Knuth section 4.3.1. - Many optimizations to that algorithm have been adapted from the Colin - Plumb C library. - It special cases one word divisors for speed. The content of b is not - changed. - - - - Internally used to calculate the quotient of this div v and places the - quotient in the provided MutableBigInteger object and the remainder is - returned. - - @return the remainder of the division will be returned. - - - Divide this MutableBigInteger by the divisor represented by its magnitude - array. The quotient will be placed into the provided quotient object & - the remainder object is returned. - - - Compare two longs as if they were unsigned. - Returns true iff one is bigger than two. - - - This method divides a long quantity by an int to estimate - qhat for two multi precision numbers. It is used when - the signed value of n is less than zero. - - - Calculate GCD of this and b. This and b are changed by the computation. - - - Calculate GCD of this and v. - Assumes that this and v are not zero. - - - Calculate GCD of a and b interpreted as unsigned integers. - - - Returns the modInverse of this mod p. This and p are not affected by - the operation. - - - Calculate the multiplicative inverse of this mod mod, where mod is odd. - This and mod are not changed by the calculation. - - This method implements an algorithm due to Richard Schroeppel, that uses - the same intermediate representation as Montgomery Reduction - ("Montgomery Form"). The algorithm is described in an unpublished - manuscript entitled "Fast Modular Reciprocals." - - - Uses the extended Euclidean algorithm to compute the modInverse of base - mod a modulus that is a power of 2. The modulus is 2^k. - - - - Manage operations dealing with bit-mapped fields. - @author Marc Johnson (mjohnson at apache dot org) - @author Andrew C. Oliver (acoliver at apache dot org) - - - - - Create a instance - - - the mask specifying which bits apply to this - BitField. Bits that are set in this mask are the - bits that this BitField operates on - - - - - Create a instance - - - the mask specifying which bits apply to this - BitField. Bits that are set in this mask are the - bits that this BitField operates on - - - - - Clear the bits. - - the int data containing the bits we're interested in - the value of holder with the specified bits cleared (set to 0) - - - - Clear the bits. - - the short data containing the bits we're interested in - the value of holder with the specified bits cleared (set to 0) - - - - Obtain the value for the specified BitField, appropriately - shifted right. Many users of a BitField will want to treat the - specified bits as an int value, and will not want to be aware - that the value is stored as a BitField (and so shifted left so - many bits) - - the int data containing the bits we're interested in - the selected bits, shifted right appropriately - - - - Obtain the value for the specified BitField, unshifted - - the short data containing the bits we're interested in - the selected bits - - - - Obtain the value for the specified BitField, appropriately - shifted right, as a short. Many users of a BitField will want - to treat the specified bits as an int value, and will not want - to be aware that the value is stored as a BitField (and so - shifted left so many bits) - - the short data containing the bits we're interested in - the selected bits, shifted right appropriately - - - - Obtain the value for the specified BitField, appropriately - shifted right. Many users of a BitField will want to treat the - specified bits as an int value, and will not want to be aware - that the value is stored as a BitField (and so shifted left so - many bits) - - the int data containing the bits we're interested in - the selected bits, shifted right appropriately - - - - Are all of the bits set or not? This is a stricter test than - isSet, in that all of the bits in a multi-bit set must be set - for this method to return true - - the int data containing the bits we're interested in - - true if all of the bits are set otherwise, false. - - - - - is the field set or not? This is most commonly used for a - single-bit field, which is often used to represent a boolean - value; the results of using it for a multi-bit field is to - determine whether *any* of its bits are set - - the int data containing the bits we're interested in - - true if any of the bits are set; otherwise, false. - - - - - Set the bits. - - the int data containing the bits we're interested in - the value of holder with the specified bits set to 1 - - - - Set a boolean BitField - - the int data containing the bits we're interested in - indicating whether to set or clear the bits - the value of holder with the specified bits set or cleared - - - - Set the bits. - - the short data containing the bits we're interested in - the value of holder with the specified bits set to 1 - - - - Set a boolean BitField - - the short data containing the bits we're interested in - indicating whether to set or clear the bits - the value of holder with the specified bits set or cleared - - - - Obtain the value for the specified BitField, appropriately - shifted right, as a short. Many users of a BitField will want - to treat the specified bits as an int value, and will not want - to be aware that the value is stored as a BitField (and so - shifted left so many bits) - - the short data containing the bits we're interested in - the new value for the specified bits - the selected bits, shifted right appropriately - - - - Sets the value. - - the byte data containing the bits we're interested in - The value. - - - - - Set a boolean BitField - - the byte data containing the bits we're interested in - indicating whether to set or clear the bits - the value of holder with the specified bits set or cleared - - - - Clears the bits. - - the byte data containing the bits we're interested in - the value of holder with the specified bits cleared - - - - Set the bits. - - the byte data containing the bits we're interested in - the value of holder with the specified bits set to 1 - - - - Returns immutable Btfield instances. - @author Jason Height (jheight at apache dot org) - - - - - Gets the instance. - - The mask. - - - - - representation of a byte (8-bit) field at a fixed location within a - byte array - @author Marc Johnson (mjohnson at apache dot org - - - - - behavior of a field at a fixed location within a byte array - @author Marc Johnson (mjohnson at apache dot org - - - - - set the value from its offset into an array of bytes - - the byte array from which the value is to be read - - - - set the value from an Stream - - the Stream from which the value is to be read - - - - return the value as a String - - - - - - write the value out to an array of bytes at the appropriate offset - - the array of bytes to which the value is to be written - - - - Initializes a new instance of the class. - - The offset. - - - - Initializes a new instance of the class. - - The offset. - The value. - - - - Initializes a new instance of the class. - - The offset. - The data. - - - - Initializes a new instance of the class. - - The offset. - The _value. - The data. - - - - set the value from its offset into an array of bytes - - the byte array from which the value is to be read - - - - set the value from an Stream - - the Stream from which the value is to be read - - - - set the ByteField's current value and write it to a byte array - - value to be set - the byte array to write the value to - - - - Returns a that represents the current . - - - A that represents the current . - - - - - write the value out to an array of bytes at the appropriate offset - - the array of bytes to which the value is to be written - - - - Gets or sets the value. - - The value. - - - Utilities for working with Microsoft CodePages. - -

Provides constants for understanding numeric codepages, - along with utilities to translate these into Java Character Sets.

-
- -

Codepage 037, a special case

-
- -

Codepage for SJIS

-
- -

Codepage for GBK, aka MS936

-
- -

Codepage for MS949

-
- -

Codepage for UTF-16

-
- -

Codepage for UTF-16 big-endian

-
- -

Codepage for Windows 1250

-
- -

Codepage for Windows 1251

-
- -

Codepage for Windows 1252

-
- -

Codepage for Windows 1253

-
- -

Codepage for Windows 1254

-
- -

Codepage for Windows 1255

-
- -

Codepage for Windows 1256

-
- -

Codepage for Windows 1257

-
- -

Codepage for Windows 1258

-
- -

Codepage for Johab

-
- -

Codepage for Macintosh Roman (Java: MacRoman)

-
- -

Codepage for Macintosh Japan (Java: unknown - use SJIS, cp942 or - cp943)

-
- -

Codepage for Macintosh Chinese Traditional (Java: unknown - use Big5, - MS950, or cp937)

-
- -

Codepage for Macintosh Korean (Java: unknown - use EUC_KR or - cp949)

-
- -

Codepage for Macintosh Arabic (Java: MacArabic)

-
- -

Codepage for Macintosh Hebrew (Java: MacHebrew)

-
- -

Codepage for Macintosh Greek (Java: MacGreek)

-
- -

Codepage for Macintosh Cyrillic (Java: MacCyrillic)

-
- -

Codepage for Macintosh Chinese Simplified (Java: unknown - use - EUC_CN, ISO2022_CN_GB, MS936 or cp935)

-
- -

Codepage for Macintosh Romanian (Java: MacRomania)

-
- -

Codepage for Macintosh Ukrainian (Java: MacUkraine)

-
- -

Codepage for Macintosh Thai (Java: MacThai)

-
- -

Codepage for Macintosh Central Europe (Latin-2) - (Java: MacCentralEurope)

-
- -

Codepage for Macintosh Iceland (Java: MacIceland)

-
- -

Codepage for Macintosh Turkish (Java: MacTurkish)

-
- -

Codepage for Macintosh Croatian (Java: MacCroatian)

-
- -

Codepage for US-ASCII

-
- -

Codepage for KOI8-R

-
- -

Codepage for ISO-8859-1

-
- -

Codepage for ISO-8859-2

-
- -

Codepage for ISO-8859-3

-
- -

Codepage for ISO-8859-4

-
- -

Codepage for ISO-8859-5

-
- -

Codepage for ISO-8859-6

-
- -

Codepage for ISO-8859-7

-
- -

Codepage for ISO-8859-8

-
- -

Codepage for ISO-8859-9

-
- -

Codepage for ISO-2022-JP

-
- -

Another codepage for ISO-2022-JP

-
- -

Yet another codepage for ISO-2022-JP

-
- -

Codepage for ISO-2022-KR

-
- -

Codepage for EUC-JP

-
- -

Codepage for EUC-KR

-
- -

Codepage for GB2312

-
- -

Codepage for GB18030

-
- -

Another codepage for US-ASCII

-
- -

Codepage for UTF-8

-
- -

Codepage for Unicode

-
- - Converts a string into bytes, in the equivalent character encoding - to the supplied codepage number. - @param string The string to convert - @param codepage The codepage number - - - Converts the bytes into a String, based on the equivalent character encoding - to the supplied codepage number. - @param string The byte of the string to convert - @param codepage The codepage number - - - Converts the bytes into a String, based on the equivalent character encoding - to the supplied codepage number. - @param string The byte of the string to convert - @param codepage The codepage number - - -

Turns a codepage number into the equivalent character encoding's - name.

- - @param codepage The codepage number - - @return The character encoding's name. If the codepage number is 65001, - the encoding name is "UTF-8". All other positive numbers are mapped to - "cp" followed by the number, e.g. if the codepage number is 1252 the - returned character encoding name will be "cp1252". - - @exception UnsupportedEncodingException if the specified codepage is - less than zero. -
- - - This class comes from Java - - - - - Initializes a new instance of the class. - - - - - Adds the specified o. - - The o. - - - - Determines whether [contains] [the specified o]. - - The o. - - true if [contains] [the specified o]; otherwise, false. - - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - - is less than zero. - - - is multidimensional. - -or- - is equal to or greater than the length of . - -or- - The number of elements in the source is greater than the available space from to the end of the destination . - - - The type of the source cannot be cast automatically to the type of the destination . - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Removes the specified o. - - The o. - - - - Removes all of the elements from this set. - The set will be empty after this call returns. - - - - - Gets the number of elements contained in the . - - - - The number of elements contained in the . - - - - - This class comes from Java - - - - - Initializes a new instance of the class. - - - - - Removes the specified key. - - The key. - - - - - Gets the enumerator. - - - - - - Determines whether the specified key contains key. - - The key. - - true if the specified key contains key; otherwise, false. - - - - - Adds the specified key. - - The key. - The value. - - - - Clears this instance. - - - - - Loads the specified in stream. - - The in stream. - - - - Loads the convert. - - The string. - - - Converts encoded \uxxxx to unicode chars - and changes special saved chars to their original forms - - - - - Continues the line. - - The line. - - - - - Gets the count. - - The count. - - - - Gets or sets the with the specified key. - - - - - - Gets the keys. - - The keys. - - - - CRC Verification - - - - - Initializes a new instance of the class. - - - - - CRC Bytes. - - The buffer. - - - - - String CRC - - the string - - - - - File CRC - - the input file - - - - - Stream CRC - - the input stream - - - - - dump data in hexadecimal format; derived from a HexDump utility I - wrote in June 2001. - @author Marc Johnson - @author Glen Stampoultzis (glens at apache.org) - - - - Dumps bytesToDump bytes to an output stream. - - @param in The stream to read from - @param out The output stream - @param start The index to use as the starting position for the left hand side label - @param bytesToDump The number of bytes to output. Use -1 to read until the end of file. - - - - Shorts to hex. - - The value. - char array of 2 (zero padded) uppercase hex chars and prefixed with '0x' - - - - Bytes to hex. - - The value. - char array of 1 (zero padded) uppercase hex chars and prefixed with '0x' - - - - Ints to hex. - - The value. - char array of 4 (zero padded) uppercase hex chars and prefixed with '0x' - - - - char array of 4 (zero padded) uppercase hex chars and prefixed with '0x' - - The value. - char array of 4 (zero padded) uppercase hex chars and prefixed with '0x' - - - - Toes the hex chars. - - The p value. - The n bytes. - char array of uppercase hex chars, zero padded and prefixed with '0x' - - - - This method reads hex data from a filename and returns a byte array. - The file may contain line comments that are preceeded with a # symbol. - - The filename to read - The bytes read from the file. - If there was a problem while reading the file. - - - - Same as ReadData(String) except that this method allows you to specify sections within - a file. Sections are referenced using section headers in the form: - - The stream. - The section. - - - - - Reads the data. - - The filename. - The section. - - - - - Reads the data. - - The stream. - The EOF char. - - - - - Reads from string. - - The data. - - - - - Reads to EOL. - - The stream. - - - - construct the with its offset into its containing byte array class. - - offset of the field within its byte array. - - - - construct the with its offset into its containing - byte array and initialize its value - - offset of the field within its byte array - the initial value - - - - Construct the with its offset into its containing - byte array and initialize its value from its byte array - - offset of the field within its byte array - the byte array to Read the value from - - - - construct the with its offset into its containing - byte array, initialize its value, and write the value to a byte - - offset of the field within its byte array - the initial value - the byte array to write the value to - - - - Set the IntegerField's current value and write it to a byte array - - value to be Set - the byte array to write the value to - - - - Set the value from its offset into an array of bytes - - The data. - - - - Set the value from an Stream - - the Stream from which the value is to be Read - - - - write the value out to an array of bytes at the appropriate offset - - the array of bytes to which the value is to be written - - - - Same as using the constructor with the same - parameter list. Avoid creation of an useless object. - - offset of the field within its byte array - the initial value - the byte array to write the value to - - - - Returns a that represents the current . - - - A that represents the current . - - - - - get or Set the IntegerField's current value - - The value. - - - - - A List of int's; as full an implementation of the java.Util.List interface as possible, with an eye toward minimal creation of objects - - the mimicry of List is as follows: -
    -
  • if possible, operations designated 'optional' in the List - interface are attempted
  • -
  • wherever the List interface refers to an Object, substitute - int
  • -
  • wherever the List interface refers to a Collection or List, - substitute IntList
  • -
- - the mimicry is not perfect, however: -
    -
  • operations involving Iterators or ListIterators are not - supported
  • -
  • Remove(Object) becomes RemoveValue to distinguish it from - Remove(int index)
  • -
  • subList is not supported
  • -
- @author Marc Johnson -
-
- - - create an IntList of default size - - - - - create a copy of an existing IntList - - the existing IntList - - - - create an IntList with a predefined Initial size - - the size for the internal array - - - - - add the specfied value at the specified index - - the index where the new value is to be Added - the new value - - - - Appends the specified element to the end of this list - - element to be Appended to this list. - return true (as per the general contract of the Collection.add method - - - - Appends all of the elements in the specified collection to the - end of this list, in the order that they are returned by the - specified collection's iterator. The behavior of this - operation is unspecified if the specified collection is - modified while the operation is in progress. (Note that this - will occur if the specified collection is this list, and it's - nonempty.) - - collection whose elements are to be Added to this list. - return true if this list Changed as a result of the call. - - - - Inserts all of the elements in the specified collection into - this list at the specified position. Shifts the element - currently at that position (if any) and any subsequent elements - to the right (increases their indices). The new elements will - appear in this list in the order that they are returned by the - specified collection's iterator. The behavior of this - operation is unspecified if the specified collection is - modified while the operation is in progress. (Note that this - will occur if the specified collection is this list, and it's - nonempty.) - - index at which to insert first element from the specified collection. - elements to be inserted into this list. - return true if this list Changed as a result of the call. - - - - Removes all of the elements from this list. This list will be - empty After this call returns (unless it throws an exception). - - - - - Returns true if this list Contains the specified element. More - formally, returns true if and only if this list Contains at - least one element e such that o == e - - element whose presence in this list is to be Tested. - return true if this list Contains the specified element. - - - - Returns true if this list Contains all of the elements of the - specified collection. - - collection to be Checked for Containment in this list. - return true if this list Contains all of the elements of the specified collection. - - - - Compares the specified object with this list for Equality. - Returns true if and only if the specified object is also a - list, both lists have the same size, and all corresponding - pairs of elements in the two lists are Equal. (Two elements e1 - and e2 are equal if e1 == e2.) In other words, two lists are - defined to be equal if they contain the same elements in the - same order. This defInition ensures that the Equals method - works properly across different implementations of the List - interface. - - the object to be Compared for Equality with this list. - return true if the specified object is equal to this list. - - - - Returns the element at the specified position in this list. - - index of element to return. - return the element at the specified position in this list. - - - - Returns the hash code value for this list. The hash code of a - list is defined to be the result of the following calculation: - - - hashCode = 1; - Iterator i = list.Iterator(); - while (i.HasNext()) { - Object obj = i.Next(); - hashCode = 31*hashCode + (obj==null ? 0 : obj.HashCode()); - } - - - This ensures that list1.Equals(list2) implies that - list1.HashCode()==list2.HashCode() for any two lists, list1 and - list2, as required by the general contract of Object.HashCode. - - - return the hash code value for this list. - - - - Returns the index in this list of the first occurrence of the - specified element, or -1 if this list does not contain this - element. More formally, returns the lowest index i such that - (o == Get(i)), or -1 if there is no such index. - - element to search for. - return the index in this list of the first occurrence of the - specified element, or -1 if this list does not contain - this element. - - - - Returns true if this list Contains no elements. - - return true if this list Contains no elements. - - - - Returns the index in this list of the last occurrence of the - specified element, or -1 if this list does not contain this - element. More formally, returns the highest index i such that - (o == Get(i)), or -1 if there is no such index. - - element to search for. - the index in this list of the last occurrence of the - specified element, or -1 if this list does not contain - this element. - - - - - Removes the element at the specified position in this list. - Shifts any subsequent elements to the left (subtracts one from - their indices). Returns the element that was Removed from the - list. - - the index of the element to Removed. - return the element previously at the specified position. - - - - Removes the first occurrence in this list of the specified - element (optional operation). If this list does not contain - the element, it is unChanged. More formally, Removes the - element with the lowest index i such that (o.Equals(get(i))) - (if such an element exists). - - element to be Removed from this list, if present. - return true if this list Contained the specified element. - - - - Removes from this list all the elements that are Contained in - the specified collection - - collection that defines which elements will be Removed from the list. - return true if this list Changed as a result of the call. - - - - Retains only the elements in this list that are Contained in - the specified collection. In other words, Removes from this - list all the elements that are not Contained in the specified - collection. - - collection that defines which elements this Set will retain. - return true if this list Changed as a result of the call. - - - - Replaces the element at the specified position in this list with the specified element - - index of element to Replace. - element to be stored at the specified position. - the element previously at the specified position. - - - - Returns the number of elements in this list. If this list - Contains more than Int32.MaxValue elements, returns - Int32.MaxValue. - - the number of elements in this IntList - - - - Returns an array Containing all of the elements in this list in - proper sequence. Obeys the general contract of the - Collection.ToArray method. - - an array Containing all of the elements in this list in proper sequence. - - - - Returns an array Containing all of the elements in this list in - proper sequence. Obeys the general contract of the - Collection.ToArray(Object[]) method. - - the array into which the elements of this list are to - be stored, if it is big enough; otherwise, a new array - is allocated for this purpose. - return an array Containing the elements of this list. - - - - the number of elements in this IntList - - - - - A List of objects that are indexed AND keyed by an int; also allows for Getting - the index of a value in the list - -

I am happy is someone wants to re-implement this without using the - internal list and hashmap. If so could you please make sure that - you can add elements half way into the list and have the value-key mappings - update

-
- - @author Jason Height -
- - - create an IntMapper of default size - - - - - Appends the specified element to the end of this list - - element to be Appended to this list. - return true (as per the general contract of the Collection.add method) - - - - Gets the index of T object. - - The o. - - - - - Gets the enumerator. - - - - - - Gets the size. - - - - - Gets the T object at the specified index. - - - - - - - Reads all the data from the input stream, and returns - the bytes Read. - - The stream. - - Tony Qu changed the code - - - - Reads the fully. - - The stream. - The b. - - - - - Same as the normal - in.Read(b, off, len) - , but tries to ensure that the entire len number of bytes is Read. - If the end of file is reached before any bytes are Read, returns -1. - If the end of the file is reached after some bytes are - Read, returns the number of bytes Read. - If the end of the file isn't reached before len - bytes have been Read, will return len bytes. - - The stream. - The b. - The off. - The len. - - - - - Copies all the data from the given InputStream to the OutputStream. It - leaves both streams open, so you will still need to close them once done. - - - - - - - Adapts a plain byte array to - - @author Josh Micich - - - - Adapts a plain byte array to - - @author Josh Micich - - - - Wraps an providing

- - This class does not buffer any input, so the stream Read position maintained - by this class is consistent with that of the inner stream. -

- - @author Josh Micich - -
- - - Wraps an providing - - @author Josh Micich - - - - a utility class for handling little-endian numbers, which the 80x86 world is - replete with. The methods are all static, and input/output is from/to byte - arrays, or from InputStreams. - - - @author Marc Johnson (mjohnson at apache dot org) - @author Andrew Oliver (acoliver at apache dot org) - - - - - Initializes a new instance of the class. - - - - - get a short value from a byte array - - the byte array - a starting offset into the byte array - the short (16-bit) value - - - - get an unsigned short value from a byte array - - the byte array - a starting offset into the byte array - the unsigned short (16-bit) value in an integer - - - - get a short value from a byte array - - a starting offset into the byte array - the short (16-bit) value - - - - get a short value from a byte array - - the unsigned short (16-bit) value in an integer - - - - - get an int value from a byte array - - the byte array - a starting offset into the byte array - the int (32-bit) value - - - - get an int value from the beginning of a byte array - - the byte array - the int (32-bit) value - - - - Gets the U int. - - the byte array - a starting offset into the byte array - the unsigned int (32-bit) value in a long - - - - Gets the U int. - - the byte array - the unsigned int (32-bit) value in a long - - - - get a long value from a byte array - - the byte array - a starting offset into the byte array - the long (64-bit) value - - - - get a double value from a byte array, reads it in little endian format - then converts the resulting revolting IEEE 754 (curse them) floating - point number to a c# double - - the byte array - a starting offset into the byte array - the double (64-bit) value - - - - Puts the short. - - the byte array - a starting offset into the byte array - The value. - - - - Added for consistency with other put~() methods - - the byte array - a starting offset into the byte array - The value. - - - - Puts the U short. - - the byte array - a starting offset into the byte array - The value. - - - - put a short value into beginning of a byte array - - the byte array - the short (16-bit) value - - - Put signed short into output stream - - @param value - the short (16-bit) value - @param outputStream - output stream - @throws IOException - if an I/O error occurs - - - - put an int value into a byte array - - the byte array - a starting offset into the byte array - the int (32-bit) value - - - - put an int value into beginning of a byte array - - the byte array - the int (32-bit) value - - - - Put int into output stream - - the int (32-bit) value - output stream - - - - put a long value into a byte array - - the byte array - a starting offset into the byte array - the long (64-bit) value - - - - put a double value into a byte array - - the byte array - a starting offset into the byte array - the double (64-bit) value - - - - Reads the short. - - The stream. - - - - - get an int value from an Stream - - the Stream from which the int is to be read - the int (32-bit) value - will be propagated back to the caller - if the stream cannot provide enough bytes - - - - get a long value from a Stream - - the Stream from which the long is to be read - the long (64-bit) value - will be propagated back to the caller - if the stream cannot provide enough bytes - - - - Us the byte to int. - - The b. - - - - - get the unsigned value of a byte. - - the byte array. - a starting offset into the byte array. - the unsigned value of the byte as a 32 bit integer - - - - Copy a portion of a byte array - - the original byte array - Where to start copying from. - Number of bytes to copy. - The byteArray value - - if copying would cause access ofdata outside array bounds. - - - - - Gets the unsigned byte. - - the byte array - - - - - Gets the unsigned byte. - - the byte array - a starting offset into the byte array - - - - - Puts the double. - - the byte array - The value. - - - put a double value into a byte array - - @param value - the double (64-bit) value - @param outputStream - output stream - @throws IOException - if an I/O error occurs - - - - Puts the uint. - - the byte array - The value. - - - Put unsigned int into output stream - - @param value - the int (32-bit) value - @param outputStream - output stream - @throws IOException - if an I/O error occurs - - - - Puts the uint. - - the byte array - a starting offset into the byte array - The value. - - - - Puts the long. - - the byte array - The value. - - - Put long into output stream - - @param value - the long (64-bit) value - @param outputStream - output stream - @throws IOException - if an I/O error occurs - - - - Puts the long. - - the byte array - The value. - - - - Puts the ulong. - - the byte array - a starting offset into the byte array - The value. - - - - Puts the number. - - the byte array - a starting offset into the byte array - The value. - The size. - - - - Puts the number. - - the byte array - a starting offset into the byte array - The value. - The size. - - - - Puts the short array. - - the byte array - a starting offset into the byte array - The value. - - - - Puts the U short. - - the byte array - The value. - - - Put unsigned short into output stream - - @param value - the unsigned short (16-bit) value - @param outputStream - output stream - @throws IOException - if an I/O error occurs - - - - Reads from stream. - - The stream. - The size. - - - - - Reads the long. - - The stream. - - - - - construct the with its offset into its containing byte array - - The offset. - - - - construct the LongField with its offset into its containing - byte array and initialize its value - - offset of the field within its byte array - the initial value - - - - Construct the class with its offset into its containing - byte array and initialize its value from its byte array - - The offset of the field within its byte array - the byte array to read the value from - - - - construct the class with its offset into its containing - byte array, initialize its value, and write the value to a byte - array - - offset of the field within its byte array - the initial value - the byte array to write the value to - - - - set the LongField's current value and write it to a byte array - - value to be set - the byte array to write the value to - - - - set the value from its offset into an array of bytes - - the byte array from which the value is to be read - - - - set the value from an Stream - - the Stream from which the value is to be - - - - write the value out to an array of bytes at the appropriate offset - - the array of bytes to which the value is to be written - - - - Same as using the constructor with the same - parameter list. Avoid creation of an useless object. - - offset of the field within its byte array - the initial value - the byte array to write the value to - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Getg or sets the LongField's current value - - The current value - - - This class provides common functionality for the - various LZW implementations in the different file - formats. - It's currently used by HDGF and HMEF. - - Two good resources on LZW are: - http://en.wikipedia.org/wiki/LZW - http://marknelson.us/1989/10/01/lzw-data-compression/ - - - Does the mask bit mean it's compressed or uncompressed? - - - How much to append to the code length in the stream - to Get the real code length? Normally 2 or 3 - - - Does the 12 bits of the position Get stored in - Little Endian or Big Endian form? - This controls whether a pos+length of 0x12 0x34 - becomes a position of 0x123 or 0x312 - - - Populates the dictionary, and returns where in it - to begin writing new codes. - Generally, if the dictionary is pre-populated, then new - codes should be placed at the end of that block. - Equally, if the dictionary is left with all zeros, then - usually the new codes can go in at the start. - - - Adjusts the position offset if needed when looking - something up in the dictionary. - - - Decompresses the given input stream, returning the array of bytes - of the decompressed input. - - - Perform a streaming decompression of the input. - Works by: - 1) Reading a flag byte, the 8 bits of which tell you if the - following 8 codes are compressed our un-compressed - 2) Consider the 8 bits in turn - 3) If the bit is Set, the next code is un-compressed, so - add it to the dictionary and output it - 4) If the bit isn't Set, then read in the length and start - position in the dictionary, and output the bytes there - 5) Loop until we've done all 8 bits, then read in the next - flag byte - - - Given an integer, turn it into a java byte, handling - the wrapping. - This is a convenience method - - - Given a java byte, turn it into an integer between 0 - and 255 (i.e. handle the unwrapping). - This is a convenience method - - - - A Logger class that strives to make it as easy as possible for - developers to write Log calls, while simultaneously making those - calls as cheap as possible by performing lazy evaluation of the Log - message. - @author Marc Johnson (mjohnson at apache dot org) - @author Glen Stampoultzis (glens at apache.org) - @author Nicola Ken Barozzi (nicolaken at apache.org) - - - - package scope so it cannot be instantiated outside of the util - package. You need a POILogger? Go to the POILogFactory for one - - - - Log a message - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 The object to Log. This is converted to a string. - - - Log a message - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 The object to Log. This is converted to a string. - @param exception An exception to be Logged - - - Check if a Logger is enabled to Log at the specified level - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first object to place in the message - @param obj2 second object to place in the message - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third Object to place in the message - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third Object to place in the message - @param obj4 fourth Object to place in the message - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third Object to place in the message - @param obj4 fourth Object to place in the message - @param obj5 fifth Object to place in the message - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third Object to place in the message - @param obj4 fourth Object to place in the message - @param obj5 fifth Object to place in the message - @param obj6 sixth Object to place in the message - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third Object to place in the message - @param obj4 fourth Object to place in the message - @param obj5 fifth Object to place in the message - @param obj6 sixth Object to place in the message - @param obj7 seventh Object to place in the message - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third Object to place in the message - @param obj4 fourth Object to place in the message - @param obj5 fifth Object to place in the message - @param obj6 sixth Object to place in the message - @param obj7 seventh Object to place in the message - @param obj8 eighth Object to place in the message - - - Log an exception, without a message - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param exception An exception to be Logged - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param exception An exception to be Logged - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third object to place in the message - @param exception An error message to be Logged - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third object to place in the message - @param obj4 fourth object to place in the message - @param exception An exception to be Logged - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third object to place in the message - @param obj4 fourth object to place in the message - @param obj5 fifth object to place in the message - @param exception An exception to be Logged - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third object to place in the message - @param obj4 fourth object to place in the message - @param obj5 fifth object to place in the message - @param obj6 sixth object to place in the message - @param exception An exception to be Logged - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third object to place in the message - @param obj4 fourth object to place in the message - @param obj5 fifth object to place in the message - @param obj6 sixth object to place in the message - @param obj7 seventh object to place in the message - @param exception An exception to be Logged - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third object to place in the message - @param obj4 fourth object to place in the message - @param obj5 fifth object to place in the message - @param obj6 sixth object to place in the message - @param obj7 seventh object to place in the message - @param obj8 eighth object to place in the message - @param exception An exception to be Logged - - - Logs a formated message. The message itself may contain % - characters as place holders. This routine will attempt to match - the placeholder by looking at the type of parameter passed to - obj1. - - If the parameter is an array, it traverses the array first and - matches parameters sequentially against the array items. - Otherwise the parameters after message are matched - in order. - - If the place holder matches against a number it is printed as a - whole number. This can be overridden by specifying a precision - in the form %n.m where n is the padding for the whole part and - m is the number of decimal places to display. n can be excluded - if desired. n and m may not be more than 9. - - If the last parameter (after flattening) is a Exception it is - Logged specially. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param message The message to Log. - @param obj1 The first object to match against. - - - Logs a formated message. The message itself may contain % - characters as place holders. This routine will attempt to match - the placeholder by looking at the type of parameter passed to - obj1. - - If the parameter is an array, it traverses the array first and - matches parameters sequentially against the array items. - Otherwise the parameters after message are matched - in order. - - If the place holder matches against a number it is printed as a - whole number. This can be overridden by specifying a precision - in the form %n.m where n is the padding for the whole part and - m is the number of decimal places to display. n can be excluded - if desired. n and m may not be more than 9. - - If the last parameter (after flattening) is a Exception it is - Logged specially. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param message The message to Log. - @param obj1 The first object to match against. - @param obj2 The second object to match against. - - - Logs a formated message. The message itself may contain % - characters as place holders. This routine will attempt to match - the placeholder by looking at the type of parameter passed to - obj1. - - If the parameter is an array, it traverses the array first and - matches parameters sequentially against the array items. - Otherwise the parameters after message are matched - in order. - - If the place holder matches against a number it is printed as a - whole number. This can be overridden by specifying a precision - in the form %n.m where n is the padding for the whole part and - m is the number of decimal places to display. n can be excluded - if desired. n and m may not be more than 9. - - If the last parameter (after flattening) is a Exception it is - Logged specially. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param message The message to Log. - @param obj1 The first object to match against. - @param obj2 The second object to match against. - @param obj3 The third object to match against. - - - Logs a formated message. The message itself may contain % - characters as place holders. This routine will attempt to match - the placeholder by looking at the type of parameter passed to - obj1. - - If the parameter is an array, it traverses the array first and - matches parameters sequentially against the array items. - Otherwise the parameters after message are matched - in order. - - If the place holder matches against a number it is printed as a - whole number. This can be overridden by specifying a precision - in the form %n.m where n is the padding for the whole part and - m is the number of decimal places to display. n can be excluded - if desired. n and m may not be more than 9. - - If the last parameter (after flattening) is a Exception it is - Logged specially. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param message The message to Log. - @param obj1 The first object to match against. - @param obj2 The second object to match against. - @param obj3 The third object to match against. - @param obj4 The forth object to match against. - - - Flattens any contained objects. Only tranverses one level deep. - - - Log a message - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 The object to Log. - - - Check if a Logger is enabled to Log at the specified level - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first object to place in the message - @param obj2 second object to place in the message - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third Object to place in the message - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third Object to place in the message - @param obj4 fourth Object to place in the message - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third Object to place in the message - @param obj4 fourth Object to place in the message - @param obj5 fifth Object to place in the message - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third Object to place in the message - @param obj4 fourth Object to place in the message - @param obj5 fifth Object to place in the message - @param obj6 sixth Object to place in the message - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third Object to place in the message - @param obj4 fourth Object to place in the message - @param obj5 fifth Object to place in the message - @param obj6 sixth Object to place in the message - @param obj7 seventh Object to place in the message - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third Object to place in the message - @param obj4 fourth Object to place in the message - @param obj5 fifth Object to place in the message - @param obj6 sixth Object to place in the message - @param obj7 seventh Object to place in the message - @param obj8 eighth Object to place in the message - - - Log a message - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 The object to Log. This is converted to a string. - @param exception An exception to be Logged - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param exception An exception to be Logged - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third object to place in the message - @param exception An error message to be Logged - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third object to place in the message - @param obj4 fourth object to place in the message - @param exception An exception to be Logged - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third object to place in the message - @param obj4 fourth object to place in the message - @param obj5 fifth object to place in the message - @param exception An exception to be Logged - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third object to place in the message - @param obj4 fourth object to place in the message - @param obj5 fifth object to place in the message - @param obj6 sixth object to place in the message - @param exception An exception to be Logged - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third object to place in the message - @param obj4 fourth object to place in the message - @param obj5 fifth object to place in the message - @param obj6 sixth object to place in the message - @param obj7 seventh object to place in the message - @param exception An exception to be Logged - - - Log a message. Lazily appends Object parameters together. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param obj1 first Object to place in the message - @param obj2 second Object to place in the message - @param obj3 third object to place in the message - @param obj4 fourth object to place in the message - @param obj5 fifth object to place in the message - @param obj6 sixth object to place in the message - @param obj7 seventh object to place in the message - @param obj8 eighth object to place in the message - @param exception An exception to be Logged - - - Logs a formated message. The message itself may contain % - characters as place holders. This routine will attempt to match - the placeholder by looking at the type of parameter passed to - obj1. - - If the parameter is an array, it traverses the array first and - matches parameters sequentially against the array items. - Otherwise the parameters after message are matched - in order. - - If the place holder matches against a number it is printed as a - whole number. This can be overridden by specifying a precision - in the form %n.m where n is the padding for the whole part and - m is the number of decimal places to display. n can be excluded - if desired. n and m may not be more than 9. - - If the last parameter (after flattening) is a Exception it is - Logged specially. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param message The message to Log. - @param obj1 The first object to match against. - - - Logs a formated message. The message itself may contain % - characters as place holders. This routine will attempt to match - the placeholder by looking at the type of parameter passed to - obj1. - - If the parameter is an array, it traverses the array first and - matches parameters sequentially against the array items. - Otherwise the parameters after message are matched - in order. - - If the place holder matches against a number it is printed as a - whole number. This can be overridden by specifying a precision - in the form %n.m where n is the padding for the whole part and - m is the number of decimal places to display. n can be excluded - if desired. n and m may not be more than 9. - - If the last parameter (after flattening) is a Exception it is - Logged specially. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param message The message to Log. - @param obj1 The first object to match against. - @param obj2 The second object to match against. - - - Logs a formated message. The message itself may contain % - characters as place holders. This routine will attempt to match - the placeholder by looking at the type of parameter passed to - obj1. - - If the parameter is an array, it traverses the array first and - matches parameters sequentially against the array items. - Otherwise the parameters after message are matched - in order. - - If the place holder matches against a number it is printed as a - whole number. This can be overridden by specifying a precision - in the form %n.m where n is the padding for the whole part and - m is the number of decimal places to display. n can be excluded - if desired. n and m may not be more than 9. - - If the last parameter (after flattening) is a Exception it is - Logged specially. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param message The message to Log. - @param obj1 The first object to match against. - @param obj2 The second object to match against. - @param obj3 The third object to match against. - - - Logs a formated message. The message itself may contain % - characters as place holders. This routine will attempt to match - the placeholder by looking at the type of parameter passed to - obj1. - - If the parameter is an array, it traverses the array first and - matches parameters sequentially against the array items. - Otherwise the parameters after message are matched - in order. - - If the place holder matches against a number it is printed as a - whole number. This can be overridden by specifying a precision - in the form %n.m where n is the padding for the whole part and - m is the number of decimal places to display. n can be excluded - if desired. n and m may not be more than 9. - - If the last parameter (after flattening) is a Exception it is - Logged specially. - - @param level One of DEBUG, INFO, WARN, ERROR, FATAL - @param message The message to Log. - @param obj1 The first object to match against. - @param obj2 The second object to match against. - @param obj3 The third object to match against. - @param obj4 The forth object to match against. - - - File header for PNG format. - - - Checks if the offset matches the PNG header. - - @param data the data to check. - @param offset the offset to check at. - @return {@code true} if the offset matches. - - - Map of POILogger instances, with classes as keys - - - A common instance of NullLogger, as it does nothing - we only need the one - - - The name of the class to use. Initialised the - first time we need it - - - - Initializes a new instance of the class. - - - - - Get a logger, based on a class name - - the class whose name defines the log - a POILogger for the specified class - - - - Get a logger, based on a String - - the String that defines the log - a POILogger for the specified class - - - - Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream. - - - The unsigned byte cast to an Int32, or -1 if at the end of the stream. - - - The stream does not support reading. - - - Methods were called after the stream was closed. - - - - - When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. - - An array of bytes. When this method returns, the buffer contains the specified byte array with the values between and ( + - 1) replaced by the bytes read from the current source. - The zero-based byte offset in at which to begin storing the data read from the current stream. - The maximum number of bytes to be read from the current stream. - - The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. - - - The sum of and is larger than the buffer length. - - - is null. - - - or is negative. - - - An I/O error occurs. - - - The stream does not support reading. - - - Methods were called after the stream was closed. - - - - - Unreads the specified b. - - The b. - - - - Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. - - - - - When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device. - - - An I/O error occurs. - - - - - When overridden in a derived class, sets the position within the current stream. - - A byte offset relative to the parameter. - A value of type indicating the reference point used to obtain the new position. - - The new position within the current stream. - - - An I/O error occurs. - - - The stream does not support seeking, such as if the stream is constructed from a pipe or console output. - - - Methods were called after the stream was closed. - - - - - When overridden in a derived class, sets the length of the current stream. - - The desired length of the current stream in bytes. - - An I/O error occurs. - - - The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output. - - - Methods were called after the stream was closed. - - - - - When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. - - An array of bytes. This method copies bytes from to the current stream. - The zero-based byte offset in at which to begin copying bytes to the current stream. - The number of bytes to be written to the current stream. - - The sum of and is greater than the buffer length. - - - is null. - - - or is negative. - - - An I/O error occurs. - - - The stream does not support writing. - - - Methods were called after the stream was closed. - - - - - Writes a byte to the current position in the stream and advances the position within the stream by one byte. - - The byte to write to the stream. - - An I/O error occurs. - - - The stream does not support writing, or the stream is already closed. - - - Methods were called after the stream was closed. - - - - - When overridden in a derived class, gets a value indicating whether the current stream supports reading. - - - true if the stream supports reading; otherwise, false. - - - - - When overridden in a derived class, gets a value indicating whether the current stream supports seeking. - - - true if the stream supports seeking; otherwise, false. - - - - - When overridden in a derived class, gets a value indicating whether the current stream supports writing. - - - true if the stream supports writing; otherwise, false. - - - - - When overridden in a derived class, gets the length in bytes of the stream. - - - - A long value representing the length of the stream in bytes. - - - A class derived from Stream does not support seeking. - - - Methods were called after the stream was closed. - - - - - When overridden in a derived class, gets or sets the position within the current stream. - - - - The current position within the stream. - - - An I/O error occurs. - - - The stream does not support seeking. - - - Methods were called after the stream was closed. - - - - - construct the ShortField with its offset into its containing - byte array - - offset of the field within its byte array - if offset is negative - - - - construct the ShortField with its offset into its containing byte array and initialize its value - - offset of the field within its byte array - the initial value - if offset is negative - - - - Construct the ShortField with its offset into its containing - byte array and initialize its value from its byte array - - offset of the field within its byte array - the byte array to read the value from - if the offset is not - within the range of 0..(data.length - 1) - - - - construct the ShortField with its offset into its containing - byte array, initialize its value, and write its value to its - byte array - - offset of the field within its byte array - the initial value - the byte array to write the value to - if offset is negative - - - - set the ShortField's current value and write it to a byte array - - value to be set - the byte array to write the value to - if the offset is out - of range - - - - set the value from its offset into an array of bytes - - the byte array from which the value is to be read - if the offset is out - of range - - - - set the value from an Stream - - the Stream from which the value is to be - read - if an IOException is thrown from reading - the Stream - if there is not enough data - available from the Stream - - - - write the value out to an array of bytes at the appropriate - offset - - the array of bytes to which the value is to be - written - if the offset is out - of range - - - - Same as using the constructor with the same - parameter list. Avoid creation of an useless object. - - offset of the field within its byte array - the initial value - the byte array to write the value to - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Gets or sets the value. - - The value. - - - - A List of short's; as full an implementation of the java.Util.List - interface as possible, with an eye toward minimal creation of - objects - - the mimicry of List is as follows: -
    -
  • if possible, operations designated 'optional' in the List - interface are attempted
  • -
  • wherever the List interface refers to an Object, substitute - short
  • -
  • wherever the List interface refers to a Collection or List, - substitute shortList
  • -
- - the mimicry is not perfect, however: -
    -
  • operations involving Iterators or ListIterators are not - supported
  • -
  • Remove(Object) becomes RemoveValue to distinguish it from - Remove(short index)
  • -
  • subList is not supported
  • -
-
-
- - - create an shortList of default size - - - - - create a copy of an existing shortList - - the existing shortList - - - - create an shortList with a predefined Initial size - - the size for the internal array - - - - add the specfied value at the specified index - - the index where the new value is to be Added - the new value - - - - Appends the specified element to the end of this list - - element to be Appended to this list. - return true (as per the general contract of the Collection.add method). - - - - Appends all of the elements in the specified collection to the - end of this list, in the order that they are returned by the - specified collection's iterator. The behavior of this - operation is unspecified if the specified collection is - modified while the operation is in progress. (Note that this - will occur if the specified collection is this list, and it's - nonempty.) - - collection whose elements are to be Added to this list. - return true if this list Changed as a result of the call. - - - - Inserts all of the elements in the specified collection into - this list at the specified position. Shifts the element - currently at that position (if any) and any subsequent elements - to the right (increases their indices). The new elements will - appear in this list in the order that they are returned by the - specified collection's iterator. The behavior of this - operation is unspecified if the specified collection is - modified while the operation is in progress. (Note that this - will occur if the specified collection is this list, and it's - nonempty.) - - index at which to insert first element from the specified collection. - elements to be inserted into this list. - return true if this list Changed as a result of the call. - if the index is out of range (index < 0 || index > size()) - - - - Removes all of the elements from this list. This list will be - empty After this call returns (unless it throws an exception). - - - - - Returns true if this list Contains the specified element. More - formally, returns true if and only if this list Contains at - least one element e such that o == e - - element whose presence in this list is to be Tested. - return true if this list Contains the specified element. - - - - Returns true if this list Contains all of the elements of the specified collection. - - collection to be Checked for Containment in this list. - return true if this list Contains all of the elements of the specified collection. - - - - Compares the specified object with this list for Equality. - Returns true if and only if the specified object is also a - list, both lists have the same size, and all corresponding - pairs of elements in the two lists are Equal. (Two elements e1 - and e2 are equal if e1 == e2.) In other words, two lists are - defined to be equal if they contain the same elements in the - same order. This defInition ensures that the Equals method - works properly across different implementations of the List - interface. - - the object to be Compared for Equality with this list. - return true if the specified object is equal to this list. - - - - Returns the element at the specified position in this list. - - index of element to return. - return the element at the specified position in this list. - - - - Returns the hash code value for this list. The hash code of a - list is defined to be the result of the following calculation: - - - hashCode = 1; - Iterator i = list.Iterator(); - while (i.HasNext()) { - Object obj = i.Next(); - hashCode = 31*hashCode + (obj==null ? 0 : obj.HashCode()); - } - - - This ensures that list1.Equals(list2) implies that - list1.HashCode()==list2.HashCode() for any two lists, list1 and - list2, as required by the general contract of Object.HashCode. - - return the hash code value for this list. - - - - Returns the index in this list of the first occurrence of the - specified element, or -1 if this list does not contain this - element. More formally, returns the lowest index i such that - (o == Get(i)), or -1 if there is no such index. - - element to search for. - the index in this list of the first occurrence of the - specified element, or -1 if this list does not contain - this element. - - - - - Returns true if this list Contains no elements. - - return true if this list Contains no elements. - - - - Returns the index in this list of the last occurrence of the - specified element, or -1 if this list does not contain this - element. More formally, returns the highest index i such that - (o == Get(i)), or -1 if there is no such index. - - element to search for. - return the index in this list of the last occurrence of the - specified element, or -1 if this list does not contain this element. - - - - Removes the element at the specified position in this list. - Shifts any subsequent elements to the left (subtracts one from - their indices). Returns the element that was Removed from the - list. - - the index of the element to Removed. - return the element previously at the specified position. - - - - Removes the first occurrence in this list of the specified - element (optional operation). If this list does not contain - the element, it is unChanged. More formally, Removes the - element with the lowest index i such that (o.Equals(get(i))) - (if such an element exists). - - element to be Removed from this list, if present. - return true if this list Contained the specified element. - - - - Removes from this list all the elements that are Contained in the specified collection - - collection that defines which elements will be removed from this list. - return true if this list Changed as a result of the call. - - - - Retains only the elements in this list that are Contained in - the specified collection. In other words, Removes from this - list all the elements that are not Contained in the specified - collection. - - collection that defines which elements this Set will retain. - return true if this list Changed as a result of the call. - - - - Replaces the element at the specified position in this list with the specified element - - index of element to Replace. - element to be stored at the specified position. - return the element previously at the specified position. - - - - Returns the number of elements in this list. If this list - Contains more than Int32.MaxValue elements, returns - Int32.MaxValue. - - return the number of elements in this shortList - - - - Returns an array Containing all of the elements in this list in - proper sequence. Obeys the general contract of the - Collection.ToArray method. - - an array Containing all of the elements in this list in - proper sequence. - - - - Returns an array Containing all of the elements in this list in - proper sequence. Obeys the general contract of the - Collection.ToArray(Object[]) method. - - the array into which the elements of this list are to - be stored, if it is big enough; otherwise, a new array - is allocated for this purpose. - return an array Containing the elements of this list. - - - - the number of elements in this shortList - - - - - Title: String Utility Description: Collection of string handling utilities - @author Andrew C. Oliver - @author Sergei Kozello (sergeikozello at mail.ru) - @author Toshiaki Kamoshida (kamoshida.toshiaki at future dot co dot jp) - @since May 10, 2002 - @version 1.0 - - - - Constructor for the StringUtil object - - - - Given a byte array of 16-bit unicode characters in Little Endian - Format (most important byte last), return a Java String representation - of it. - { 0x16, 0x00 } -0x16 - - the byte array to be converted - the initial offset into the - byte array. it is assumed that string[ offset ] and string[ offset + 1 ] contain the first 16-bit unicode character - the Length of the string - the converted string - - - - Given a byte array of 16-bit unicode characters in little endian - Format (most important byte last), return a Java String representation - of it. - { 0x16, 0x00 } -0x16 - - the byte array to be converted - the converted string - - - Convert String to 16-bit unicode characters in little endian format - - @param string the string - @return the byte array of 16-bit unicode characters - - - - Given a byte array of 16-bit unicode characters in big endian - Format (most important byte first), return a Java String representation - of it. - { 0x00, 0x16 } -0x16 - - the byte array to be converted - the initial offset into the - byte array. it is assumed that string[ offset ] and string[ offset + 1 ] contain the first 16-bit unicode character - the Length of the string - the converted string - - - - Given a byte array of 16-bit unicode characters in big endian - Format (most important byte first), return a Java String representation - of it. - { 0x00, 0x16 } -0x16 - - the byte array to be converted - the converted string - - - - Read 8 bit data (in IsO-8859-1 codepage) into a (unicode) Java - String and return. - (In Excel terms, read compressed 8 bit unicode as a string) - - byte array to read - offset to read byte array - Length to read byte array - generated String instance by reading byte array - - - - Takes a unicode (java) string, and returns it as 8 bit data (in IsO-8859-1 - codepage). - (In Excel terms, write compressed 8 bit unicode) - - the String containing the data to be written - the byte array to which the data Is to be written - an offset into the byte arrat at which the data Is start when written - - - - Takes a unicode string, and returns it as little endian (most - important byte last) bytes in the supplied byte array. - (In Excel terms, write uncompressed unicode) - - the String containing the unicode data to be written - the byte array to hold the uncompressed unicode, should be twice the Length of the String - the offset to start writing into the byte array - - - - Takes a unicode string, and returns it as big endian (most - important byte first) bytes in the supplied byte array. - (In Excel terms, write uncompressed unicode) - - the String containing the unicode data to be written - the byte array to hold the uncompressed unicode, should be twice the Length of the String. - the offset to start writing into the byte array - - - - Gets the preferred encoding. - - the encoding we want to use, currently hardcoded to IsO-8859-1 - - - - check the parameter Has multibyte character - - string to check - - true if Has at least one multibyte character; otherwise, false. - - - - InputStream in is expected to contain: -
    -
  1. ushort nChars
  2. -
  3. byte is16BitFlag
  4. -
  5. byte[]/char[] characterData
  6. -
- For this encoding, the is16BitFlag is always present even if nChars==0. -
- - InputStream in is expected to contain: -
    -
  1. byte is16BitFlag
  2. -
  3. byte[]/char[] characterData
  4. -
- For this encoding, the is16BitFlag is always present even if nChars==0. -
- This method should be used when the nChars field is not stored - as a ushort immediately before the is16BitFlag. Otherwise, {@link - #readUnicodeString(LittleEndianInput)} can be used. -
- - OutputStream out will get: -
    -
  1. ushort nChars
  2. -
  3. byte is16BitFlag
  4. -
  5. byte[]/char[] characterData
  6. -
- For this encoding, the is16BitFlag is always present even if nChars==0. -
- - OutputStream out will get: -
    -
  1. byte is16BitFlag
  2. -
  3. byte[]/char[] characterData
  4. -
- For this encoding, the is16BitFlag is always present even if nChars==0. -
- This method should be used when the nChars field is not stored - as a ushort immediately before the is16BitFlag. Otherwise, {@link - #writeUnicodeString(LittleEndianOutput, String)} can be used. -
- - - Gets the number of bytes that would be written by WriteUnicodeString(LittleEndianOutput, String) - - The value. - - - - - Checks to see if a given String needs to be represented as Unicode - - The value. - - true if string needs Unicode to be represented.; otherwise, false. - - Tony Qu change the logic - - - - Encodes non-US-ASCII characters in a string, good for encoding file names for download - http://www.acriticsreview.com/List.aspx?listid=42 - - - - - - - Encodes a non-US-ASCII character. - - - - - - - Encodes a non-US-ASCII character. - - - - - - - Encodes a non-US-ASCII character. - - - - - - - Encodes a non-US-ASCII character. - - - - - - - Determines if the character needs to be encoded. - http://www.acriticsreview.com/List.aspx?listid=42 - - - - - - Some strings may contain encoded characters of the unicode private use area. - Currently the characters of the symbol fonts are mapped to the corresponding - characters in the normal unicode range. - - @param string the original string - @return the string with mapped characters - - @see Private Use Area (symbol) - @see Symbol font - Unicode alternatives for Greek and special characters in HTML - - - The minimum value of a - - Unicode high-surrogate code unit - in the UTF-16 encoding, constant {@code '\u005CuD800'}. - A high-surrogate is also known as a leading-surrogate. - - @since 1.5 - - - The maximum value of a - - Unicode high-surrogate code unit - in the UTF-16 encoding, constant {@code '\u005CuDBFF'}. - A high-surrogate is also known as a leading-surrogate. - - @since 1.5 - - - The minimum value of a - - Unicode low-surrogate code unit - in the UTF-16 encoding, constant {@code '\u005CuDC00'}. - A low-surrogate is also known as a trailing-surrogate. - - @since 1.5 - - - The maximum value of a - - Unicode low-surrogate code unit - in the UTF-16 encoding, constant {@code '\u005CuDFFF'}. - A low-surrogate is also known as a trailing-surrogate. - - @since 1.5 - - - Converts the specified surrogate pair to its supplementary code - point value. This method does not validate the specified - surrogate pair. The caller must validate it using {@link - #isSurrogatePair(char, char) isSurrogatePair} if necessary. - - @param high the high-surrogate code unit - @param low the low-surrogate code unit - @return the supplementary code point composed from the - specified surrogate pair. - @since 1.5 - - - Determines the number of {@code char} values needed to - represent the specified character (Unicode code point). If the - specified character is equal to or greater than 0x10000, then - the method returns 2. Otherwise, the method returns 1. - - This method doesn't validate the specified character to be a - valid Unicode code point. The caller must validate the - character value using {@link #isValidCodePoint(int) isValidCodePoint} - if necessary. - - @param codePoint the character (Unicode code point) to be tested. - @return 2 if the character is a valid supplementary character; 1 otherwise. - @see Character#isSupplementaryCodePoint(int) - @since 1.5 - - - - A logger class that strives to make it as easy as possible for - developers to write log calls, while simultaneously making those - calls as cheap as possible by performing lazy Evaluation of the log - message. - - - @author Marc Johnson (mjohnson at apache dot org) - @author Glen Stampoultzis (glens at apache.org) - @author Nicola Ken Barozzi (nicolaken at apache.org) - - - - - Log a message - - One of DEBUG, INFO, WARN, ERROR, FATAL - The object to log. - - - - Log a message - - One of DEBUG, INFO, WARN, ERROR, FATAL - The object to log. This is Converted to a string. - An exception to be logged - - - - Check if a logger is enabled to log at the specified level - - One of DEBUG, INFO, WARN, ERROR, FATAL - - - - Creates a temporary file. Files are collected into one directory and by default are - deleted on exit from the VM. Files can be kept by defining the system property - poi.keep.tmp.files. - - Dont forget to close all files or it might not be possible to delete them. - - - - - - - - - construct the with its offset into its containing byte array - - The offset. - - - - construct the LongField with its offset into its containing - byte array and initialize its value - - offset of the field within its byte array - the initial value - - - - Construct the class with its offset into its containing - byte array and initialize its value from its byte array - - The offset of the field within its byte array - the byte array to read the value from - - - - construct the class with its offset into its containing - byte array, initialize its value, and write the value to a byte - array - - offset of the field within its byte array - the initial value - the byte array to write the value to - - - - set the LongField's current value and write it to a byte array - - value to be set - the byte array to write the value to - - - - set the value from its offset into an array of bytes - - the byte array from which the value is to be read - - - - set the value from an Stream - - the Stream from which the value is to be - - - - write the value out to an array of bytes at the appropriate offset - - the array of bytes to which the value is to be written - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Getg or sets the LongField's current value - - The current value - - - The enumeration value indicating the style of fill pattern being used for a cell format. - - - - No background - - - Solidly Filled - - - Small fine dots - - - Wide dots - - - Sparse dots - - - Thick horizontal bands - - - Thick vertical bands - - - Thick backward facing diagonals - - - Thick forward facing diagonals - - - Large spots - - - Brick-like layout - - - Thin horizontal bands - - - Thin vertical bands - - - Thin backward diagonal - - - Thin forward diagonal - - - Squares - - - Diamonds - - - Less Dots - - - Least Dots - - - @author Yegor Kozlov - - - Converts a value of type FixedPoint to a decimal number - - @param fixedPoint - @return decimal number - - @see [MS-OSHARED] - 2.2.1.6 FixedPoint - - - This class represents a run of text that share common properties. - - - @return The text of the Run, including any tabs/spaces/etc - - - This class represents a paragraph, made up of one or more - Runs of text. - -
-
diff --git a/site/trunk/Bin/Newtonsoft.Json.dll b/site/trunk/Bin/Newtonsoft.Json.dll deleted file mode 100644 index 8069902..0000000 Binary files a/site/trunk/Bin/Newtonsoft.Json.dll and /dev/null differ diff --git a/site/trunk/Bin/Newtonsoft.Json.dll.refresh b/site/trunk/Bin/Newtonsoft.Json.dll.refresh deleted file mode 100644 index 4e6520c..0000000 Binary files a/site/trunk/Bin/Newtonsoft.Json.dll.refresh and /dev/null differ diff --git a/site/trunk/Bin/Newtonsoft.Json.xml b/site/trunk/Bin/Newtonsoft.Json.xml deleted file mode 100644 index c24155b..0000000 --- a/site/trunk/Bin/Newtonsoft.Json.xml +++ /dev/null @@ -1,10912 +0,0 @@ - - - - Newtonsoft.Json - - - - - Represents a BSON Oid (object id). - - - - - Gets or sets the value of the Oid. - - The value of the Oid. - - - - Initializes a new instance of the class. - - The Oid value. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. - - - - - Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. - - - true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. - - - - - Gets or sets a value indicating whether the root object will be read as a JSON array. - - - true if the root object will be read as a JSON array; otherwise, false. - - - - - Gets or sets the used when reading values from BSON. - - The used when reading values from BSON. - - - - Initializes a new instance of the class. - - The containing the BSON data to read. - - - - Initializes a new instance of the class. - - The containing the BSON data to read. - - - - Initializes a new instance of the class. - - The containing the BSON data to read. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Initializes a new instance of the class. - - The containing the BSON data to read. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Reads the next JSON token from the underlying . - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Changes the reader's state to . - If is set to true, the underlying is also closed. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. - - - - - Gets or sets the used when writing values to BSON. - When set to no conversion will occur. - - The used when writing values to BSON. - - - - Initializes a new instance of the class. - - The to write to. - - - - Initializes a new instance of the class. - - The to write to. - - - - Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. - - - - - Writes the end. - - The token. - - - - Writes a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes the beginning of a JSON array. - - - - - Writes the beginning of a JSON object. - - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Closes this writer. - If is set to true, the underlying is also closed. - If is set to true, the JSON is auto-completed. - - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value that represents a BSON object id. - - The Object ID value to write. - - - - Writes a BSON regex. - - The regex pattern. - The regex options. - - - - Specifies how constructors are used when initializing objects during deserialization by the . - - - - - First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. - - - - - Json.NET will use a non-public default constructor before falling back to a parameterized constructor. - - - - - Converts a binary value to and from a base 64 string value. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Creates a custom object. - - The object type to convert. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Creates an object which will then be populated by the serializer. - - Type of the object. - The created object. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Provides a base class for converting a to and from JSON. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a F# discriminated union type to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an Entity Framework to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). - - - - - Gets or sets the date time styles used when converting a date to and from JSON. - - The date time styles used when converting a date to and from JSON. - - - - Gets or sets the date time format used when converting a date to and from JSON. - - The date time format used when converting a date to and from JSON. - - - - Gets or sets the culture used when converting a date to and from JSON. - - The culture used when converting a date to and from JSON. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from its name string value. - - - - - Gets or sets a value indicating whether the written enum text should be camel case. - The default value is false. - - true if the written enum text will be camel case; otherwise, false. - - - - Gets or sets a value indicating whether integer values are allowed when deserializing. - The default value is true. - - true if integers are allowed when deserializing; otherwise, false. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - true if the written enum text will be camel case; otherwise, false. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from Unix epoch time - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Converts a to and from a string (e.g. "1.2.3.4"). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts XML to and from JSON. - - - - - Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. - - The name of the deserialized root element. - - - - Gets or sets a flag to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - true if the array attribute is written to the XML; otherwise, false. - - - - Gets or sets a value indicating whether to write the root JSON object. - - true if the JSON root object is omitted; otherwise, false. - - - - Writes the JSON representation of the object. - - The to write to. - The calling serializer. - The value. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Checks if the is a namespace attribute. - - Attribute name to test. - The attribute name prefix if it has one, otherwise an empty string. - true if attribute name is for a namespace attribute, otherwise false. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Specifies how dates are formatted when writing JSON text. - - - - - Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". - - - - - Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". - - - - - Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. - - - - - Date formatted strings are not parsed to a date type and are read as strings. - - - - - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . - - - - - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . - - - - - Specifies how to treat the time value when converting between string and . - - - - - Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. - - - - - Treat as a UTC. If the object represents a local time, it is converted to a UTC. - - - - - Treat as a local time if a is being converted to a string. - If a string is being converted to , convert to a local time if a time zone is specified. - - - - - Time zone information should be preserved when converting. - - - - - Specifies default value handling options for the . - - - - - - - - - Include members where the member value is the same as the member's default value when serializing objects. - Included members are written to JSON. Has no effect when deserializing. - - - - - Ignore members where the member value is the same as the member's default value when serializing objects - so that it is not written to JSON. - This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, - decimals and floating point numbers; and false for booleans). The default value ignored can be changed by - placing the on the property. - - - - - Members with a default value but no JSON will be set to their default value when deserializing. - - - - - Ignore members where the member value is the same as the member's default value when serializing objects - and set members to their default value when deserializing. - - - - - Specifies float format handling options when writing special floating point numbers, e.g. , - and with . - - - - - Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". - - - - - Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. - Note that this will produce non-valid JSON. - - - - - Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. - - - - - Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Floating point numbers are parsed to . - - - - - Floating point numbers are parsed to . - - - - - Specifies formatting options for the . - - - - - No special formatting is applied. This is the default. - - - - - Causes child objects to be indented according to the and settings. - - - - - Provides an interface for using pooled arrays. - - The array type content. - - - - Rent an array from the pool. This array must be returned when it is no longer needed. - - The minimum required length of the array. The returned array may be longer. - The rented array from the pool. This array must be returned when it is no longer needed. - - - - Return an array to the pool. - - The array that is being returned. - - - - Provides an interface to enable a class to return line and position information. - - - - - Gets a value indicating whether the class can return line information. - - - true if and can be provided; otherwise, false. - - - - - Gets the current line number. - - The current line number or 0 if no line information is available (for example, when returns false). - - - - Gets the current line position. - - The current line position or 0 if no line information is available (for example, when returns false). - - - - Instructs the how to serialize the collection. - - - - - Gets or sets a value indicating whether null items are allowed in the collection. - - true if null items are allowed in the collection; otherwise, false. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a flag indicating whether the array can contain null items. - - A flag indicating whether the array can contain null items. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Instructs the to use the specified constructor when deserializing that object. - - - - - Instructs the how to serialize the object. - - - - - Gets or sets the id. - - The id. - - - - Gets or sets the title. - - The title. - - - - Gets or sets the description. - - The description. - - - - Gets or sets the collection's items converter. - - The collection's items converter. - - - - The parameter list to use when constructing the described by . - If null, the default constructor is used. - When non-null, there must be a constructor defined in the that exactly matches the number, - order, and type of these parameters. - - - - [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] - - - - - - Gets or sets the of the . - - The of the . - - - - The parameter list to use when constructing the described by . - If null, the default constructor is used. - When non-null, there must be a constructor defined in the that exactly matches the number, - order, and type of these parameters. - - - - [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] - - - - - - Gets or sets a value that indicates whether to preserve object references. - - - true to keep object reference; otherwise, false. The default is false. - - - - - Gets or sets a value that indicates whether to preserve collection's items references. - - - true to keep collection's items object references; otherwise, false. The default is false. - - - - - Gets or sets the reference loop handling used when serializing the collection's items. - - The reference loop handling. - - - - Gets or sets the type name handling used when serializing the collection's items. - - The type name handling. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Provides methods for converting between .NET types and JSON types. - - - - - - - - Gets or sets a function that creates default . - Default settings are automatically used by serialization methods on , - and and on . - To serialize without using any default settings create a with - . - - - - - Represents JavaScript's boolean value true as a string. This field is read-only. - - - - - Represents JavaScript's boolean value false as a string. This field is read-only. - - - - - Represents JavaScript's null as a string. This field is read-only. - - - - - Represents JavaScript's undefined as a string. This field is read-only. - - - - - Represents JavaScript's positive infinity as a string. This field is read-only. - - - - - Represents JavaScript's negative infinity as a string. This field is read-only. - - - - - Represents JavaScript's NaN as a string. This field is read-only. - - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation using the specified. - - The value to convert. - The format the date will be converted to. - The time zone handling when the date is converted to a string. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation using the specified. - - The value to convert. - The format the date will be converted to. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - The string escape handling. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Serializes the specified object to a JSON string. - - The object to serialize. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using formatting. - - The object to serialize. - Indicates how the output should be formatted. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - A collection of converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using formatting and a collection of . - - The object to serialize. - Indicates how the output should be formatted. - A collection of converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using . - - The object to serialize. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a type, formatting and . - - The object to serialize. - The used to serialize the object. - If this is null, default serialization settings will be used. - - The type of the value being serialized. - This parameter is used when is to write out the type name if the type of the value does not match. - Specifying the type is optional. - - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using formatting and . - - The object to serialize. - Indicates how the output should be formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a type, formatting and . - - The object to serialize. - Indicates how the output should be formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - The type of the value being serialized. - This parameter is used when is to write out the type name if the type of the value does not match. - Specifying the type is optional. - - - A JSON string representation of the object. - - - - - Deserializes the JSON to a .NET object. - - The JSON to deserialize. - The deserialized object from the JSON string. - - - - Deserializes the JSON to a .NET object using . - - The JSON to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type. - - The JSON to deserialize. - The of object being deserialized. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type. - - The type of the object to deserialize to. - The JSON to deserialize. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the given anonymous type. - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be inferred from the anonymous type passed - as a parameter. - - The JSON to deserialize. - The anonymous type object. - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON to the given anonymous type using . - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be inferred from the anonymous type passed - as a parameter. - - The JSON to deserialize. - The anonymous type object. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON to the specified .NET type using a collection of . - - The type of the object to deserialize to. - The JSON to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using . - - The type of the object to deserialize to. - The object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using a collection of . - - The JSON to deserialize. - The type of the object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using . - - The JSON to deserialize. - The type of the object to deserialize to. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - - - Populates the object with values from the JSON string using . - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - - - Serializes the to a JSON string. - - The node to serialize. - A JSON string of the . - - - - Serializes the to a JSON string using formatting. - - The node to serialize. - Indicates how the output should be formatted. - A JSON string of the . - - - - Serializes the to a JSON string using formatting and omits the root object if is true. - - The node to serialize. - Indicates how the output should be formatted. - Omits writing the root object. - A JSON string of the . - - - - Deserializes the from a JSON string. - - The JSON string. - The deserialized . - - - - Deserializes the from a JSON string nested in a root element specified by . - - The JSON string. - The name of the root element to append when deserializing. - The deserialized . - - - - Deserializes the from a JSON string nested in a root element specified by - and writes a Json.NET array attribute for collections. - - The JSON string. - The name of the root element to append when deserializing. - - A flag to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - The deserialized . - - - - Serializes the to a JSON string. - - The node to convert to JSON. - A JSON string of the . - - - - Serializes the to a JSON string using formatting. - - The node to convert to JSON. - Indicates how the output should be formatted. - A JSON string of the . - - - - Serializes the to a JSON string using formatting and omits the root object if is true. - - The node to serialize. - Indicates how the output should be formatted. - Omits writing the root object. - A JSON string of the . - - - - Deserializes the from a JSON string. - - The JSON string. - The deserialized . - - - - Deserializes the from a JSON string nested in a root element specified by . - - The JSON string. - The name of the root element to append when deserializing. - The deserialized . - - - - Deserializes the from a JSON string nested in a root element specified by - and writes a Json.NET array attribute for collections. - - The JSON string. - The name of the root element to append when deserializing. - - A flag to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - The deserialized . - - - - Converts an object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can read JSON. - - true if this can read JSON; otherwise, false. - - - - Gets a value indicating whether this can write JSON. - - true if this can write JSON; otherwise, false. - - - - Converts an object to and from JSON. - - The object type to convert. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. If there is no existing value then null will be used. - The existing value has a value. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Instructs the to use the specified when serializing the member or class. - - - - - Gets the of the . - - The of the . - - - - The parameter list to use when constructing the described by . - If null, the default constructor is used. - - - - - Initializes a new instance of the class. - - Type of the . - - - - Initializes a new instance of the class. - - Type of the . - Parameter list to use when constructing the . Can be null. - - - - Represents a collection of . - - - - - Instructs the how to serialize the collection. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - The exception thrown when an error occurs during JSON serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Instructs the to deserialize properties with no matching class member into the specified collection - and write values during serialization. - - - - - Gets or sets a value that indicates whether to write extension data when serializing the object. - - - true to write extension data when serializing the object; otherwise, false. The default is true. - - - - - Gets or sets a value that indicates whether to read extension data when deserializing the object. - - - true to read extension data when deserializing the object; otherwise, false. The default is true. - - - - - Initializes a new instance of the class. - - - - - Instructs the not to serialize the public field or public read/write property value. - - - - - Instructs the how to serialize the object. - - - - - Gets or sets the member serialization. - - The member serialization. - - - - Gets or sets how the object's properties with null values are handled during serialization and deserialization. - - How the object's properties with null values are handled during serialization and deserialization. - - - - Gets or sets a value that indicates whether the object's properties are required. - - - A value indicating whether the object's properties are required. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified member serialization. - - The member serialization. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Instructs the to always serialize the member with the specified name. - - - - - Gets or sets the used when serializing the property's collection items. - - The collection's items . - - - - The parameter list to use when constructing the described by . - If null, the default constructor is used. - When non-null, there must be a constructor defined in the that exactly matches the number, - order, and type of these parameters. - - - - [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] - - - - - - Gets or sets the of the . - - The of the . - - - - The parameter list to use when constructing the described by . - If null, the default constructor is used. - When non-null, there must be a constructor defined in the that exactly matches the number, - order, and type of these parameters. - - - - [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] - - - - - - Gets or sets the null value handling used when serializing this property. - - The null value handling. - - - - Gets or sets the default value handling used when serializing this property. - - The default value handling. - - - - Gets or sets the reference loop handling used when serializing this property. - - The reference loop handling. - - - - Gets or sets the object creation handling used when deserializing this property. - - The object creation handling. - - - - Gets or sets the type name handling used when serializing this property. - - The type name handling. - - - - Gets or sets whether this property's value is serialized as a reference. - - Whether this property's value is serialized as a reference. - - - - Gets or sets the order of serialization of a member. - - The numeric order of serialization. - - - - Gets or sets a value indicating whether this property is required. - - - A value indicating whether this property is required. - - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets the reference loop handling used when serializing the property's collection items. - - The collection's items reference loop handling. - - - - Gets or sets the type name handling used when serializing the property's collection items. - - The collection's items type name handling. - - - - Gets or sets whether this property's collection items are serialized as a reference. - - Whether this property's collection items are serialized as a reference. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified name. - - Name of the property. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Asynchronously reads the next JSON token from the source. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns true if the next token was read successfully; false if there are no more tokens to read. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously skips the children of the current token. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a []. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the []. This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously reads the next JSON token from the source as a . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the . This result will be null at the end of an array. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Specifies the state of the reader. - - - - - A read method has not been called. - - - - - The end of the file has been reached successfully. - - - - - Reader is at a property. - - - - - Reader is at the start of an object. - - - - - Reader is in an object. - - - - - Reader is at the start of an array. - - - - - Reader is in an array. - - - - - The method has been called. - - - - - Reader has just read a value. - - - - - Reader is at the start of a constructor. - - - - - Reader is in a constructor. - - - - - An error occurred that prevents the read operation from continuing. - - - - - The end of the file has been reached successfully. - - - - - Gets the current reader state. - - The current reader state. - - - - Gets or sets a value indicating whether the source should be closed when this reader is closed. - - - true to close the source when this reader is closed; otherwise false. The default is true. - - - - - Gets or sets a value indicating whether multiple pieces of JSON content can - be read from a continuous stream without erroring. - - - true to support reading multiple pieces of JSON content; otherwise false. - The default is false. - - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - Gets or sets how time zones are handled when reading JSON. - - - - - Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Gets or sets how custom date formatted strings are parsed when reading JSON. - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Gets the type of the current JSON token. - - - - - Gets the text value of the current JSON token. - - - - - Gets the .NET type for the current JSON token. - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the path of the current JSON token. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Initializes a new instance of the class. - - - - - Reads the next JSON token from the source. - - true if the next token was read successfully; false if there are no more tokens to read. - - - - Reads the next JSON token from the source as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the source as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the source as a []. - - A [] or null if the next JSON token is null. This method will return null at the end of an array. - - - - Reads the next JSON token from the source as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the source as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the source as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the source as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the source as a of . - - A of . This method will return null at the end of an array. - - - - Skips the children of the current token. - - - - - Sets the current token. - - The new token. - - - - Sets the current token and value. - - The new token. - The value. - - - - Sets the current token and value. - - The new token. - The value. - A flag indicating whether the position index inside an array should be updated. - - - - Sets the state based on current token type. - - - - - Releases unmanaged and - optionally - managed resources. - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Changes the reader's state to . - If is set to true, the source is also closed. - - - - - The exception thrown when an error occurs while reading JSON text. - - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Initializes a new instance of the class - with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The path to the JSON where the error occurred. - The line number indicating where the error occurred. - The line position indicating where the error occurred. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Instructs the to always serialize the member, and to require that the member has a value. - - - - - The exception thrown when an error occurs during JSON serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Serializes and deserializes objects into and from the JSON format. - The enables you to control how objects are encoded into JSON. - - - - - Occurs when the errors during serialization and deserialization. - - - - - Gets or sets the used by the serializer when resolving references. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets the used by the serializer when writing trace messages. - - The trace writer. - - - - Gets or sets the equality comparer used by the serializer when comparing references. - - The equality comparer. - - - - Gets or sets how type name writing and reading is handled by the serializer. - The default value is . - - - should be used with caution when your application deserializes JSON from an external source. - Incoming types should be validated with a custom - when deserializing with a value other than . - - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - The default value is . - - The type name assembly format. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - The default value is . - - The type name assembly format. - - - - Gets or sets how object references are preserved by the serializer. - The default value is . - - - - - Gets or sets how reference loops (e.g. a class referencing itself) is handled. - The default value is . - - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - The default value is . - - - - - Gets or sets how null values are handled during serialization and deserialization. - The default value is . - - - - - Gets or sets how default values are handled during serialization and deserialization. - The default value is . - - - - - Gets or sets how objects are created during deserialization. - The default value is . - - The object creation handling. - - - - Gets or sets how constructors are used during deserialization. - The default value is . - - The constructor handling. - - - - Gets or sets how metadata properties are used during deserialization. - The default value is . - - The metadata properties handling. - - - - Gets a collection that will be used during serialization. - - Collection that will be used during serialization. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Indicates how JSON text output is formatted. - The default value is . - - - - - Gets or sets how dates are written to JSON text. - The default value is . - - - - - Gets or sets how time zones are handled during serialization and deserialization. - The default value is . - - - - - Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - The default value is . - - - - - Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - The default value is . - - - - - Gets or sets how special floating point numbers, e.g. , - and , - are written as JSON text. - The default value is . - - - - - Gets or sets how strings are escaped when writing JSON text. - The default value is . - - - - - Gets or sets how and values are formatted when writing JSON text, - and the expected date format when reading JSON text. - The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". - - - - - Gets or sets the culture used when reading JSON. - The default value is . - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - A null value means there is no maximum. - The default value is null. - - - - - Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. - The default value is false. - - - true if there will be a check for additional JSON content after deserializing an object; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Creates a new instance. - The will not use default settings - from . - - - A new instance. - The will not use default settings - from . - - - - - Creates a new instance using the specified . - The will not use default settings - from . - - The settings to be applied to the . - - A new instance using the specified . - The will not use default settings - from . - - - - - Creates a new instance. - The will use default settings - from . - - - A new instance. - The will use default settings - from . - - - - - Creates a new instance using the specified . - The will use default settings - from as well as the specified . - - The settings to be applied to the . - - A new instance using the specified . - The will use default settings - from as well as the specified . - - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Deserializes the JSON structure contained by the specified . - - The that contains the JSON structure to deserialize. - The being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The type of the object to deserialize. - The instance of being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Serializes the specified and writes the JSON structure - using the specified . - - The used to write the JSON structure. - The to serialize. - - - - Serializes the specified and writes the JSON structure - using the specified . - - The used to write the JSON structure. - The to serialize. - - The type of the value being serialized. - This parameter is used when is to write out the type name if the type of the value does not match. - Specifying the type is optional. - - - - - Serializes the specified and writes the JSON structure - using the specified . - - The used to write the JSON structure. - The to serialize. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifying the type is optional. - - - - - Serializes the specified and writes the JSON structure - using the specified . - - The used to write the JSON structure. - The to serialize. - - - - Specifies the settings on a object. - - - - - Gets or sets how reference loops (e.g. a class referencing itself) are handled. - The default value is . - - Reference loop handling. - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - The default value is . - - Missing member handling. - - - - Gets or sets how objects are created during deserialization. - The default value is . - - The object creation handling. - - - - Gets or sets how null values are handled during serialization and deserialization. - The default value is . - - Null value handling. - - - - Gets or sets how default values are handled during serialization and deserialization. - The default value is . - - The default value handling. - - - - Gets or sets a collection that will be used during serialization. - - The converters. - - - - Gets or sets how object references are preserved by the serializer. - The default value is . - - The preserve references handling. - - - - Gets or sets how type name writing and reading is handled by the serializer. - The default value is . - - - should be used with caution when your application deserializes JSON from an external source. - Incoming types should be validated with a custom - when deserializing with a value other than . - - The type name handling. - - - - Gets or sets how metadata properties are used during deserialization. - The default value is . - - The metadata properties handling. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - The default value is . - - The type name assembly format. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - The default value is . - - The type name assembly format. - - - - Gets or sets how constructors are used during deserialization. - The default value is . - - The constructor handling. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - The contract resolver. - - - - Gets or sets the equality comparer used by the serializer when comparing references. - - The equality comparer. - - - - Gets or sets the used by the serializer when resolving references. - - The reference resolver. - - - - Gets or sets a function that creates the used by the serializer when resolving references. - - A function that creates the used by the serializer when resolving references. - - - - Gets or sets the used by the serializer when writing trace messages. - - The trace writer. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the error handler called during serialization and deserialization. - - The error handler called during serialization and deserialization. - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Gets or sets how and values are formatted when writing JSON text, - and the expected date format when reading JSON text. - The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - A null value means there is no maximum. - The default value is null. - - - - - Indicates how JSON text output is formatted. - The default value is . - - - - - Gets or sets how dates are written to JSON text. - The default value is . - - - - - Gets or sets how time zones are handled during serialization and deserialization. - The default value is . - - - - - Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - The default value is . - - - - - Gets or sets how special floating point numbers, e.g. , - and , - are written as JSON. - The default value is . - - - - - Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - The default value is . - - - - - Gets or sets how strings are escaped when writing JSON text. - The default value is . - - - - - Gets or sets the culture used when reading JSON. - The default value is . - - - - - Gets a value indicating whether there will be a check for additional content after deserializing an object. - The default value is false. - - - true if there will be a check for additional content after deserializing an object; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Represents a reader that provides fast, non-cached, forward-only access to JSON text data. - - - - - Asynchronously reads the next JSON token from the source. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns true if the next token was read successfully; false if there are no more tokens to read. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a []. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the []. This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a of . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the of . This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously reads the next JSON token from the source as a . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous read. The - property returns the . This result will be null at the end of an array. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Initializes a new instance of the class with the specified . - - The containing the JSON data to read. - - - - Gets or sets the reader's character buffer pool. - - - - - Reads the next JSON token from the underlying . - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Reads the next JSON token from the underlying as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a []. - - A [] or null if the next JSON token is null. This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a of . - - A of . This method will return null at the end of an array. - - - - Changes the reader's state to . - If is set to true, the underlying is also closed. - - - - - Gets a value indicating whether the class can return line information. - - - true if and can be provided; otherwise, false. - - - - - Gets the current line number. - - - The current line number or 0 if no line information is available (for example, returns false). - - - - - Gets the current line position. - - - The current line position or 0 if no line information is available (for example, returns false). - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the JSON value delimiter. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the specified end token. - - The end token to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously closes this writer. - If is set to true, the destination is also closed. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the end of the current JSON object or array. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes indent characters. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes an indent space. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes raw JSON without changing the writer's state. - - The raw JSON to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a null value. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the property name of a name/value pair of a JSON object. - - The name of the property. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the property name of a name/value pair of a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the beginning of a JSON array. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the beginning of a JSON object. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the start of a constructor with the given name. - - The name of the constructor. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes an undefined value. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the given white space. - - The string of white space characters. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a [] value. - - The [] value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes a comment /*...*/ containing the specified text. - - Text to place inside the comment. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the end of an array. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the end of a constructor. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes the end of a JSON object. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Asynchronously writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - Derived classes must override this method to get asynchronous behaviour. Otherwise it will - execute synchronously, returning an already-completed task. - - - - Gets or sets the writer's character array pool. - - - - - Gets or sets how many s to write for each level in the hierarchy when is set to . - - - - - Gets or sets which character to use to quote attribute values. - - - - - Gets or sets which character to use for indenting when is set to . - - - - - Gets or sets a value indicating whether object names will be surrounded with quotes. - - - - - Initializes a new instance of the class using the specified . - - The to write to. - - - - Flushes whatever is in the buffer to the underlying and also flushes the underlying . - - - - - Closes this writer. - If is set to true, the underlying is also closed. - If is set to true, the JSON is auto-completed. - - - - - Writes the beginning of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the specified end token. - - The end token to write. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a value. - - The value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the given white space. - - The string of white space characters. - - - - Specifies the type of JSON token. - - - - - This is returned by the if a read method has not been called. - - - - - An object start token. - - - - - An array start token. - - - - - A constructor start token. - - - - - An object property name. - - - - - A comment. - - - - - Raw JSON. - - - - - An integer. - - - - - A float. - - - - - A string. - - - - - A boolean. - - - - - A null token. - - - - - An undefined token. - - - - - An object end token. - - - - - An array end token. - - - - - A constructor end token. - - - - - A Date. - - - - - Byte data. - - - - - - Represents a reader that provides validation. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Sets an event handler for receiving schema validation errors. - - - - - Gets the text value of the current JSON token. - - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the path of the current JSON token. - - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - - Gets the type of the current JSON token. - - - - - - Gets the .NET type for the current JSON token. - - - - - - Initializes a new instance of the class that - validates the content returned from the given . - - The to read from while validating. - - - - Gets or sets the schema. - - The schema. - - - - Gets the used to construct this . - - The specified in the constructor. - - - - Changes the reader's state to . - If is set to true, the underlying is also closed. - - - - - Reads the next JSON token from the underlying as a of . - - A of . - - - - Reads the next JSON token from the underlying as a []. - - - A [] or null if the next JSON token is null. - - - - - Reads the next JSON token from the underlying as a of . - - A of . - - - - Reads the next JSON token from the underlying as a of . - - A of . - - - - Reads the next JSON token from the underlying as a of . - - A of . - - - - Reads the next JSON token from the underlying as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a of . - - A of . This method will return null at the end of an array. - - - - Reads the next JSON token from the underlying as a of . - - A of . - - - - Reads the next JSON token from the underlying . - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Asynchronously closes this writer. - If is set to true, the destination is also closed. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the specified end token. - - The end token to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes indent characters. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the JSON value delimiter. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes an indent space. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes raw JSON without changing the writer's state. - - The raw JSON to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the end of the current JSON object or array. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the end of an array. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the end of a constructor. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the end of a JSON object. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a null value. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the property name of a name/value pair of a JSON object. - - The name of the property. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the property name of a name/value pair of a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the beginning of a JSON array. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a comment /*...*/ containing the specified text. - - Text to place inside the comment. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the start of a constructor with the given name. - - The name of the constructor. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the beginning of a JSON object. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the current token. - - The to read the token from. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the current token. - - The to read the token from. - A flag indicating whether the current token's children should be written. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the token and its value. - - The to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the token and its value. - - The to write. - - The value to write. - A value is only required for tokens that have an associated value, e.g. the property name for . - null can be passed to the method for tokens that don't have a value, e.g. . - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a [] value. - - The [] value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a value. - - The value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes a of value. - - The of value to write. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes an undefined value. - - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously writes the given white space. - - The string of white space characters. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Asynchronously ets the state of the . - - The being written. - The value being written. - The token to monitor for cancellation requests. The default value is . - A that represents the asynchronous operation. - The default behaviour is to execute synchronously, returning an already-completed task. Derived - classes can override this behaviour for true asynchronicity. - - - - Gets or sets a value indicating whether the destination should be closed when this writer is closed. - - - true to close the destination when this writer is closed; otherwise false. The default is true. - - - - - Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. - - - true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. - - - - - Gets the top. - - The top. - - - - Gets the state of the writer. - - - - - Gets the path of the writer. - - - - - Gets or sets a value indicating how JSON text output should be formatted. - - - - - Gets or sets how dates are written to JSON text. - - - - - Gets or sets how time zones are handled when writing JSON text. - - - - - Gets or sets how strings are escaped when writing JSON text. - - - - - Gets or sets how special floating point numbers, e.g. , - and , - are written to JSON text. - - - - - Gets or sets how and values are formatted when writing JSON text. - - - - - Gets or sets the culture used when writing JSON. Defaults to . - - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the destination and also flushes the destination. - - - - - Closes this writer. - If is set to true, the destination is also closed. - If is set to true, the JSON is auto-completed. - - - - - Writes the beginning of a JSON object. - - - - - Writes the end of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the end of an array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end constructor. - - - - - Writes the property name of a name/value pair of a JSON object. - - The name of the property. - - - - Writes the property name of a name/value pair of a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - - - - Writes the end of the current JSON object or array. - - - - - Writes the current token and its children. - - The to read the token from. - - - - Writes the current token. - - The to read the token from. - A flag indicating whether the current token's children should be written. - - - - Writes the token and its value. - - The to write. - - The value to write. - A value is only required for tokens that have an associated value, e.g. the property name for . - null can be passed to the method for tokens that don't have a value, e.g. . - - - - - Writes the token. - - The to write. - - - - Writes the specified end token. - - The end token to write. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON without changing the writer's state. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a of value. - - The of value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the given white space. - - The string of white space characters. - - - - Releases unmanaged and - optionally - managed resources. - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Sets the state of the . - - The being written. - The value being written. - - - - The exception thrown when an error occurs while writing JSON text. - - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Initializes a new instance of the class - with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The path to the JSON where the error occurred. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Specifies how JSON comments are handled when loading JSON. - - - - - Ignore comments. - - - - - Load comments as a with type . - - - - - Contains the LINQ to JSON extension methods. - - - - - Returns a collection of tokens that contains the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the ancestors of every token in the source collection. - - - - Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains every token in the source collection, the ancestors of every token in the source collection. - - - - Returns a collection of tokens that contains the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the descendants of every token in the source collection. - - - - Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains every token in the source collection, and the descendants of every token in the source collection. - - - - Returns a collection of child properties of every object in the source collection. - - An of that contains the source collection. - An of that contains the properties of every object in the source collection. - - - - Returns a collection of child values of every object in the source collection with the given key. - - An of that contains the source collection. - The token key. - An of that contains the values of every token in the source collection with the given key. - - - - Returns a collection of child values of every object in the source collection. - - An of that contains the source collection. - An of that contains the values of every token in the source collection. - - - - Returns a collection of converted child values of every object in the source collection with the given key. - - The type to convert the values to. - An of that contains the source collection. - The token key. - An that contains the converted values of every token in the source collection with the given key. - - - - Returns a collection of converted child values of every object in the source collection. - - The type to convert the values to. - An of that contains the source collection. - An that contains the converted values of every token in the source collection. - - - - Converts the value. - - The type to convert the value to. - A cast as a of . - A converted value. - - - - Converts the value. - - The source collection type. - The type to convert the value to. - A cast as a of . - A converted value. - - - - Returns a collection of child tokens of every array in the source collection. - - The source collection type. - An of that contains the source collection. - An of that contains the values of every token in the source collection. - - - - Returns a collection of converted child tokens of every array in the source collection. - - An of that contains the source collection. - The type to convert the values to. - The source collection type. - An that contains the converted values of every token in the source collection. - - - - Returns the input typed as . - - An of that contains the source collection. - The input typed as . - - - - Returns the input typed as . - - The source collection type. - An of that contains the source collection. - The input typed as . - - - - Represents a collection of objects. - - The type of token. - - - - Gets the of with the specified key. - - - - - - Represents a JSON array. - - - - - - - - Writes this token to a asynchronously. - - A into which this method will write. - The token to monitor for cancellation requests. - A collection of which will be used when writing the token. - A that represents the asynchronous write operation. - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - If this is null, default load settings will be used. - The token to monitor for cancellation requests. The default value is . - A representing the asynchronous load. The property contains the JSON that was read from the specified . - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - The token to monitor for cancellation requests. The default value is . - A representing the asynchronous load. The property contains the JSON that was read from the specified . - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object. - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the at the specified index. - - - - - - Determines the index of a specific item in the . - - The object to locate in the . - - The index of if found in the list; otherwise, -1. - - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - is not a valid index in the . - - - - - Returns an enumerator that iterates through the collection. - - - A of that can be used to iterate through the collection. - - - - - Adds an item to the . - - The object to add to the . - - - - Removes all items from the . - - - - - Determines whether the contains a specific value. - - The object to locate in the . - - true if is found in the ; otherwise, false. - - - - - Copies the elements of the to an array, starting at a particular array index. - - The array. - Index of the array. - - - - Gets a value indicating whether the is read-only. - - true if the is read-only; otherwise, false. - - - - Removes the first occurrence of a specific object from the . - - The object to remove from the . - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - - - - Represents a JSON constructor. - - - - - Writes this token to a asynchronously. - - A into which this method will write. - The token to monitor for cancellation requests. - A collection of which will be used when writing the token. - A that represents the asynchronous write operation. - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous load. The - property returns a that contains the JSON that was read from the specified . - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous load. The - property returns a that contains the JSON that was read from the specified . - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets or sets the name of this constructor. - - The constructor name. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name. - - The constructor name. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Loads a from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads a from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Represents a token that can contain other tokens. - - - - - Occurs when the list changes or an item in the list changes. - - - - - Occurs before an item is added to the collection. - - - - - Occurs when the items list of the collection has changed, or the collection is reset. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Get the first child token of this token. - - - A containing the first child token of the . - - - - - Get the last child token of this token. - - - A containing the last child token of the . - - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - - A containing the child values of this , in document order. - - - - - Returns a collection of the descendant tokens for this token in document order. - - An of containing the descendant tokens of the . - - - - Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. - - An of containing this token, and all the descendant tokens of the . - - - - Adds the specified content as children of this . - - The content to be added. - - - - Adds the specified content as the first children of this . - - The content to be added. - - - - Creates a that can be used to add tokens to the . - - A that is ready to have content written to it. - - - - Replaces the child nodes of this token with the specified content. - - The content. - - - - Removes the child nodes from this token. - - - - - Merge the specified content into this . - - The content to be merged. - - - - Merge the specified content into this using . - - The content to be merged. - The used to merge the content. - - - - Gets the count of child JSON tokens. - - The count of child JSON tokens. - - - - Represents a collection of objects. - - The type of token. - - - - An empty collection of objects. - - - - - Initializes a new instance of the struct. - - The enumerable. - - - - Returns an enumerator that can be used to iterate through the collection. - - - A that can be used to iterate through the collection. - - - - - Gets the of with the specified key. - - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Represents a JSON object. - - - - - - - - Writes this token to a asynchronously. - - A into which this method will write. - The token to monitor for cancellation requests. - A collection of which will be used when writing the token. - A that represents the asynchronous write operation. - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous load. The - property returns a that contains the JSON that was read from the specified . - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous load. The - property returns a that contains the JSON that was read from the specified . - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Occurs when a property value changes. - - - - - Occurs when a property value is changing. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Gets the node type for this . - - The type. - - - - Gets an of of this object's properties. - - An of of this object's properties. - - - - Gets a the specified name. - - The property name. - A with the specified name or null. - - - - Gets a of of this object's property values. - - A of of this object's property values. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the with the specified property name. - - - - - - Loads a from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - is not valid JSON. - - - - - Loads a from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - is not valid JSON. - - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - is not valid JSON. - - - - - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - is not valid JSON. - - - - - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object. - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified property name. - - Name of the property. - The with the specified property name. - - - - Gets the with the specified property name. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - Name of the property. - One of the enumeration values that specifies how the strings will be compared. - The with the specified property name. - - - - Tries to get the with the specified property name. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - Name of the property. - The value. - One of the enumeration values that specifies how the strings will be compared. - true if a value was successfully retrieved; otherwise, false. - - - - Adds the specified property name. - - Name of the property. - The value. - - - - Determines whether the JSON object has the specified property name. - - Name of the property. - true if the JSON object has the specified property name; otherwise, false. - - - - Removes the property with the specified name. - - Name of the property. - true if item was successfully removed; otherwise, false. - - - - Tries to get the with the specified property name. - - Name of the property. - The value. - true if a value was successfully retrieved; otherwise, false. - - - - Returns an enumerator that can be used to iterate through the collection. - - - A that can be used to iterate through the collection. - - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Represents a JSON property. - - - - - Writes this token to a asynchronously. - - A into which this method will write. - The token to monitor for cancellation requests. - A collection of which will be used when writing the token. - A that represents the asynchronous write operation. - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - The token to monitor for cancellation requests. The default value is . - A representing the asynchronous creation. The - property returns a that contains the JSON that was read from the specified . - - - - Asynchronously loads a from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - The token to monitor for cancellation requests. The default value is . - A representing the asynchronous creation. The - property returns a that contains the JSON that was read from the specified . - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets the property name. - - The property name. - - - - Gets or sets the property value. - - The property value. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads a from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads a from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The name. - - - - When overridden in a derived class, returns whether resetting an object changes its value. - - - true if resetting the component changes its value; otherwise, false. - - The component to test for reset capability. - - - - When overridden in a derived class, gets the current value of the property on a component. - - - The value of a property for a given component. - - The component with the property for which to retrieve the value. - - - - When overridden in a derived class, resets the value for this property of the component to the default value. - - The component with the property value that is to be reset to the default value. - - - - When overridden in a derived class, sets the value of the component to a different value. - - The component with the property value that is to be set. - The new value. - - - - When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. - - - true if the property should be persisted; otherwise, false. - - The component with the property to be examined for persistence. - - - - When overridden in a derived class, gets the type of the component this property is bound to. - - - A that represents the type of component this property is bound to. - When the or - - methods are invoked, the object specified might be an instance of this type. - - - - - When overridden in a derived class, gets a value indicating whether this property is read-only. - - - true if the property is read-only; otherwise, false. - - - - - When overridden in a derived class, gets the type of the property. - - - A that represents the type of the property. - - - - - Gets the hash code for the name of the member. - - - - The hash code for the name of the member. - - - - - Represents a raw JSON string. - - - - - Asynchronously creates an instance of with the content of the reader's current token. - - The reader. - The token to monitor for cancellation requests. The default value is . - A representing the asynchronous creation. The - property returns an instance of with the content of the reader's current token. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class. - - The raw json. - - - - Creates an instance of with the content of the reader's current token. - - The reader. - An instance of with the content of the reader's current token. - - - - Specifies the settings used when loading JSON. - - - - - Initializes a new instance of the class. - - - - - Gets or sets how JSON comments are handled when loading JSON. - - The JSON comment handling. - - - - Gets or sets how JSON line info is handled when loading JSON. - - The JSON line info handling. - - - - Specifies the settings used when merging JSON. - - - - - Gets or sets the method used when merging JSON arrays. - - The method used when merging JSON arrays. - - - - Gets or sets how null value properties are merged. - - How null value properties are merged. - - - - Represents an abstract JSON token. - - - - - Writes this token to a asynchronously. - - A into which this method will write. - The token to monitor for cancellation requests. - A collection of which will be used when writing the token. - A that represents the asynchronous write operation. - - - - Writes this token to a asynchronously. - - A into which this method will write. - A collection of which will be used when writing the token. - A that represents the asynchronous write operation. - - - - Asynchronously creates a from a . - - An positioned at the token to read into this . - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous creation. The - property returns a that contains - the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Asynchronously creates a from a . - - An positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous creation. The - property returns a that contains - the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Asynchronously creates a from a . - - A positioned at the token to read into this . - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous creation. The - property returns a that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Asynchronously creates a from a . - - A positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - The token to monitor for cancellation requests. The default value is . - - A that represents the asynchronous creation. The - property returns a that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Gets a comparer that can compare two tokens for value equality. - - A that can compare two nodes for value equality. - - - - Gets or sets the parent. - - The parent. - - - - Gets the root of this . - - The root of this . - - - - Gets the node type for this . - - The type. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Compares the values of two tokens, including the values of all descendant tokens. - - The first to compare. - The second to compare. - true if the tokens are equal; otherwise false. - - - - Gets the next sibling token of this node. - - The that contains the next sibling token. - - - - Gets the previous sibling token of this node. - - The that contains the previous sibling token. - - - - Gets the path of the JSON token. - - - - - Adds the specified content immediately after this token. - - A content object that contains simple content or a collection of content objects to be added after this token. - - - - Adds the specified content immediately before this token. - - A content object that contains simple content or a collection of content objects to be added before this token. - - - - Returns a collection of the ancestor tokens of this token. - - A collection of the ancestor tokens of this token. - - - - Returns a collection of tokens that contain this token, and the ancestors of this token. - - A collection of tokens that contain this token, and the ancestors of this token. - - - - Returns a collection of the sibling tokens after this token, in document order. - - A collection of the sibling tokens after this tokens, in document order. - - - - Returns a collection of the sibling tokens before this token, in document order. - - A collection of the sibling tokens before this token, in document order. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets the with the specified key converted to the specified type. - - The type to convert the token to. - The token key. - The converted token value. - - - - Get the first child token of this token. - - A containing the first child token of the . - - - - Get the last child token of this token. - - A containing the last child token of the . - - - - Returns a collection of the child tokens of this token, in document order. - - An of containing the child tokens of this , in document order. - - - - Returns a collection of the child tokens of this token, in document order, filtered by the specified type. - - The type to filter the child tokens on. - A containing the child tokens of this , in document order. - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - A containing the child values of this , in document order. - - - - Removes this token from its parent. - - - - - Replaces this token with the specified token. - - The value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Returns the indented JSON for this token. - - - The indented JSON for this token. - - - - - Returns the JSON for this token using the given formatting and converters. - - Indicates how the output should be formatted. - A collection of s which will be used when writing the token. - The JSON for this token using the given formatting and converters. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to []. - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to of . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from [] to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from of to . - - The value to create a from. - The initialized with the specified value. - - - - Creates a for this token. - - A that can be used to read this token and its descendants. - - - - Creates a from an object. - - The object that will be used to create . - A with the value of the specified object. - - - - Creates a from an object using the specified . - - The object that will be used to create . - The that will be used when reading the object. - A with the value of the specified object. - - - - Creates an instance of the specified .NET type from the . - - The object type that the token will be deserialized to. - The new object created from the JSON value. - - - - Creates an instance of the specified .NET type from the . - - The object type that the token will be deserialized to. - The new object created from the JSON value. - - - - Creates an instance of the specified .NET type from the using the specified . - - The object type that the token will be deserialized to. - The that will be used when creating the object. - The new object created from the JSON value. - - - - Creates an instance of the specified .NET type from the using the specified . - - The object type that the token will be deserialized to. - The that will be used when creating the object. - The new object created from the JSON value. - - - - Creates a from a . - - A positioned at the token to read into this . - - A that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Creates a from a . - - An positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - - A that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - Creates a from a . - - A positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - - A that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Creates a from a . - - A positioned at the token to read into this . - - A that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Selects a using a JPath expression. Selects the token that matches the object path. - - - A that contains a JPath expression. - - A , or null. - - - - Selects a using a JPath expression. Selects the token that matches the object path. - - - A that contains a JPath expression. - - A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. - A . - - - - Selects a collection of elements using a JPath expression. - - - A that contains a JPath expression. - - An of that contains the selected elements. - - - - Selects a collection of elements using a JPath expression. - - - A that contains a JPath expression. - - A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. - An of that contains the selected elements. - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Creates a new instance of the . All child tokens are recursively cloned. - - A new instance of the . - - - - Adds an object to the annotation list of this . - - The annotation to add. - - - - Get the first annotation object of the specified type from this . - - The type of the annotation to retrieve. - The first annotation object that matches the specified type, or null if no annotation is of the specified type. - - - - Gets the first annotation object of the specified type from this . - - The of the annotation to retrieve. - The first annotation object that matches the specified type, or null if no annotation is of the specified type. - - - - Gets a collection of annotations of the specified type for this . - - The type of the annotations to retrieve. - An that contains the annotations for this . - - - - Gets a collection of annotations of the specified type for this . - - The of the annotations to retrieve. - An of that contains the annotations that match the specified type for this . - - - - Removes the annotations of the specified type from this . - - The type of annotations to remove. - - - - Removes the annotations of the specified type from this . - - The of annotations to remove. - - - - Compares tokens to determine whether they are equal. - - - - - Determines whether the specified objects are equal. - - The first object of type to compare. - The second object of type to compare. - - true if the specified objects are equal; otherwise, false. - - - - - Returns a hash code for the specified object. - - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is null. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Gets the at the reader's current position. - - - - - Initializes a new instance of the class. - - The token to read from. - - - - Reads the next JSON token from the underlying . - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Gets the path of the current JSON token. - - - - - Specifies the type of token. - - - - - No token type has been set. - - - - - A JSON object. - - - - - A JSON array. - - - - - A JSON constructor. - - - - - A JSON object property. - - - - - A comment. - - - - - An integer value. - - - - - A float value. - - - - - A string value. - - - - - A boolean value. - - - - - A null value. - - - - - An undefined value. - - - - - A date value. - - - - - A raw JSON value. - - - - - A collection of bytes value. - - - - - A Guid value. - - - - - A Uri value. - - - - - A TimeSpan value. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets the at the writer's current position. - - - - - Gets the token being written. - - The token being written. - - - - Initializes a new instance of the class writing to the given . - - The container being written to. - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the underlying . - - - - - Closes this writer. - If is set to true, the JSON is auto-completed. - - - Setting to true has no additional effect, since the underlying is a type that cannot be closed. - - - - - Writes the beginning of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end. - - The token. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes a value. - An error will be raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Represents a value in JSON (string, integer, date, etc). - - - - - Writes this token to a asynchronously. - - A into which this method will write. - The token to monitor for cancellation requests. - A collection of which will be used when writing the token. - A that represents the asynchronous write operation. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Creates a comment with the given value. - - The value. - A comment with the given value. - - - - Creates a string with the given value. - - The value. - A string with the given value. - - - - Creates a null value. - - A null value. - - - - Creates a undefined value. - - A undefined value. - - - - Gets the node type for this . - - The type. - - - - Gets or sets the underlying token value. - - The underlying token value. - - - - Writes this token to a . - - A into which this method will write. - A collection of s which will be used when writing the token. - - - - Indicates whether the current object is equal to another object of the same type. - - - true if the current object is equal to the parameter; otherwise, false. - - An object to compare with this object. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format. - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format provider. - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format. - The format provider. - - A that represents this instance. - - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. - - An object to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: - Value - Meaning - Less than zero - This instance is less than . - Zero - This instance is equal to . - Greater than zero - This instance is greater than . - - - is not of the same type as this instance. - - - - - Specifies how line information is handled when loading JSON. - - - - - Ignore line information. - - - - - Load line information. - - - - - Specifies how JSON arrays are merged together. - - - - Concatenate arrays. - - - Union arrays, skipping items that already exist. - - - Replace all array items. - - - Merge array items together, matched by index. - - - - Specifies how null value properties are merged. - - - - - The content's null value properties will be ignored during merging. - - - - - The content's null value properties will be merged. - - - - - Specifies the member serialization options for the . - - - - - All public members are serialized by default. Members can be excluded using or . - This is the default member serialization mode. - - - - - Only members marked with or are serialized. - This member serialization mode can also be set by marking the class with . - - - - - All public and private fields are serialized. Members can be excluded using or . - This member serialization mode can also be set by marking the class with - and setting IgnoreSerializableAttribute on to false. - - - - - Specifies metadata property handling options for the . - - - - - Read metadata properties located at the start of a JSON object. - - - - - Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. - - - - - Do not try to read metadata properties. - - - - - Specifies missing member handling options for the . - - - - - Ignore a missing member and do not attempt to deserialize it. - - - - - Throw a when a missing member is encountered during deserialization. - - - - - Specifies null value handling options for the . - - - - - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Specifies how object creation is handled by the . - - - - - Reuse existing objects, create new objects when needed. - - - - - Only reuse existing objects. - - - - - Always create new objects. - - - - - Specifies reference handling options for the . - Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . - - - - - - - - Do not preserve references when serializing types. - - - - - Preserve references when serializing into a JSON object structure. - - - - - Preserve references when serializing into a JSON array structure. - - - - - Preserve references when serializing. - - - - - Specifies reference loop handling options for the . - - - - - Throw a when a loop is encountered. - - - - - Ignore loop references and do not serialize. - - - - - Serialize loop references. - - - - - Indicating whether a property is required. - - - - - The property is not required. The default state. - - - - - The property must be defined in JSON but can be a null value. - - - - - The property must be defined in JSON and cannot be a null value. - - - - - The property is not required but it cannot be a null value. - - - - - - Contains the JSON schema extension methods. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - - Determines whether the is valid. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - - true if the specified is valid; otherwise, false. - - - - - - Determines whether the is valid. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - When this method returns, contains any error messages generated while validating. - - true if the specified is valid; otherwise, false. - - - - - - Validates the specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - - - - - Validates the specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - The validation event handler. - - - - - An in-memory representation of a JSON Schema. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets the id. - - - - - Gets or sets the title. - - - - - Gets or sets whether the object is required. - - - - - Gets or sets whether the object is read-only. - - - - - Gets or sets whether the object is visible to users. - - - - - Gets or sets whether the object is transient. - - - - - Gets or sets the description of the object. - - - - - Gets or sets the types of values allowed by the object. - - The type. - - - - Gets or sets the pattern. - - The pattern. - - - - Gets or sets the minimum length. - - The minimum length. - - - - Gets or sets the maximum length. - - The maximum length. - - - - Gets or sets a number that the value should be divisible by. - - A number that the value should be divisible by. - - - - Gets or sets the minimum. - - The minimum. - - - - Gets or sets the maximum. - - The maximum. - - - - Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). - - A flag indicating whether the value can not equal the number defined by the minimum attribute (). - - - - Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). - - A flag indicating whether the value can not equal the number defined by the maximum attribute (). - - - - Gets or sets the minimum number of items. - - The minimum number of items. - - - - Gets or sets the maximum number of items. - - The maximum number of items. - - - - Gets or sets the of items. - - The of items. - - - - Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . - - - true if items are validated using their array position; otherwise, false. - - - - - Gets or sets the of additional items. - - The of additional items. - - - - Gets or sets a value indicating whether additional items are allowed. - - - true if additional items are allowed; otherwise, false. - - - - - Gets or sets whether the array items must be unique. - - - - - Gets or sets the of properties. - - The of properties. - - - - Gets or sets the of additional properties. - - The of additional properties. - - - - Gets or sets the pattern properties. - - The pattern properties. - - - - Gets or sets a value indicating whether additional properties are allowed. - - - true if additional properties are allowed; otherwise, false. - - - - - Gets or sets the required property if this property is present. - - The required property if this property is present. - - - - Gets or sets the a collection of valid enum values allowed. - - A collection of valid enum values allowed. - - - - Gets or sets disallowed types. - - The disallowed types. - - - - Gets or sets the default value. - - The default value. - - - - Gets or sets the collection of that this schema extends. - - The collection of that this schema extends. - - - - Gets or sets the format. - - The format. - - - - Initializes a new instance of the class. - - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The object representing the JSON Schema. - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The to use when resolving schema references. - The object representing the JSON Schema. - - - - Load a from a string that contains JSON Schema. - - A that contains JSON Schema. - A populated from the string that contains JSON Schema. - - - - Load a from a string that contains JSON Schema using the specified . - - A that contains JSON Schema. - The resolver. - A populated from the string that contains JSON Schema. - - - - Writes this schema to a . - - A into which this method will write. - - - - Writes this schema to a using the specified . - - A into which this method will write. - The resolver used. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - - Returns detailed information about the schema exception. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or null if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - - Generates a from a specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets how undefined schemas are handled by the serializer. - - - - - Gets or sets the contract resolver. - - The contract resolver. - - - - Generate a from the specified type. - - The type to generate a from. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - - Resolves from an id. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets the loaded schemas. - - The loaded schemas. - - - - Initializes a new instance of the class. - - - - - Gets a for the specified reference. - - The id. - A for the specified reference. - - - - - The value types allowed by the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - No type specified. - - - - - String type. - - - - - Float type. - - - - - Integer type. - - - - - Boolean type. - - - - - Object type. - - - - - Array type. - - - - - Null type. - - - - - Any type. - - - - - - Specifies undefined schema Id handling options for the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Do not infer a schema Id. - - - - - Use the .NET type name as the schema Id. - - - - - Use the assembly qualified .NET type name as the schema Id. - - - - - - Returns detailed information related to the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets the associated with the validation error. - - The JsonSchemaException associated with the validation error. - - - - Gets the path of the JSON location where the validation error occurred. - - The path of the JSON location where the validation error occurred. - - - - Gets the text description corresponding to the validation error. - - The text description. - - - - - Represents the callback method that will handle JSON schema validation events and the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - A camel case naming strategy. - - - - - Initializes a new instance of the class. - - - A flag indicating whether dictionary keys should be processed. - - - A flag indicating whether explicitly specified property names should be processed, - e.g. a property name customized with a . - - - - - Initializes a new instance of the class. - - - A flag indicating whether dictionary keys should be processed. - - - A flag indicating whether explicitly specified property names should be processed, - e.g. a property name customized with a . - - - A flag indicating whether extension data names should be processed. - - - - - Initializes a new instance of the class. - - - - - Resolves the specified property name. - - The property name to resolve. - The resolved property name. - - - - Resolves member mappings for a type, camel casing property names. - - - - - Initializes a new instance of the class. - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Used by to resolve a for a given . - - - - - Gets a value indicating whether members are being get and set using dynamic code generation. - This value is determined by the runtime permissions available. - - - true if using dynamic code generation; otherwise, false. - - - - - Gets or sets the default members search flags. - - The default members search flags. - - - - Gets or sets a value indicating whether compiler generated members should be serialized. - - - true if serialized compiler generated members; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. - - - true if the interface will be ignored when serializing and deserializing types; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. - - - true if the attribute will be ignored when serializing and deserializing types; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore IsSpecified members when serializing and deserializing types. - - - true if the IsSpecified members will be ignored when serializing and deserializing types; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore ShouldSerialize members when serializing and deserializing types. - - - true if the ShouldSerialize members will be ignored when serializing and deserializing types; otherwise, false. - - - - - Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. - - The naming strategy used to resolve how property names and dictionary keys are serialized. - - - - Initializes a new instance of the class. - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Gets the serializable members for the type. - - The type to get serializable members for. - The serializable members for the type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates the constructor parameters. - - The constructor to create properties for. - The type's member properties. - Properties for the given . - - - - Creates a for the given . - - The matching member property. - The constructor parameter. - A created for the given . - - - - Resolves the default for the contract. - - Type of the object. - The contract's default . - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Determines which contract type is created for the given type. - - Type of the object. - A for the given type. - - - - Creates properties for the given . - - The type to create properties for. - /// The member serialization mode for the type. - Properties for the given . - - - - Creates the used by the serializer to get and set values from a member. - - The member. - The used by the serializer to get and set values from a member. - - - - Creates a for the given . - - The member's parent . - The member to create a for. - A created for the given . - - - - Resolves the name of the property. - - Name of the property. - Resolved name of the property. - - - - Resolves the name of the extension data. By default no changes are made to extension data names. - - Name of the extension data. - Resolved name of the extension data. - - - - Resolves the key of the dictionary. By default is used to resolve dictionary keys. - - Key of the dictionary. - Resolved key of the dictionary. - - - - Gets the resolved name of the property. - - Name of the property. - Name of the property. - - - - The default naming strategy. Property names and dictionary keys are unchanged. - - - - - Resolves the specified property name. - - The property name to resolve. - The resolved property name. - - - - The default serialization binder used when resolving and loading classes from type names. - - - - - Initializes a new instance of the class. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - The type of the object the formatter creates a new instance of. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - The type of the object the formatter creates a new instance of. - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - - - Represents a trace writer that writes to the application's instances. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of will exclude messages and include , - and messages. - - - The that will be used to filter the trace messages passed to the writer. - - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Get and set values for a using dynamic methods. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides information surrounding an error. - - - - - Gets the error. - - The error. - - - - Gets the original object that caused the error. - - The original object that caused the error. - - - - Gets the member that caused the error. - - The member that caused the error. - - - - Gets the path of the JSON location where the error occurred. - - The path of the JSON location where the error occurred. - - - - Gets or sets a value indicating whether this is handled. - - true if handled; otherwise, false. - - - - Provides data for the Error event. - - - - - Gets the current object the error event is being raised against. - - The current object the error event is being raised against. - - - - Gets the error context. - - The error context. - - - - Initializes a new instance of the class. - - The current object. - The error context. - - - - Get and set values for a using dynamic methods. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides methods to get attributes. - - - - - Returns a collection of all of the attributes, or an empty collection if there are no attributes. - - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. - - The type of the attributes. - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Used by to resolve a for a given . - - - - - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Used to resolve references when serializing and deserializing JSON by the . - - - - - Resolves a reference to its object. - - The serialization context. - The reference to resolve. - The object that was resolved from the reference. - - - - Gets the reference for the specified object. - - The serialization context. - The object to get a reference for. - The reference to the object. - - - - Determines whether the specified object is referenced. - - The serialization context. - The object to test for a reference. - - true if the specified object is referenced; otherwise, false. - - - - - Adds a reference to the specified object. - - The serialization context. - The reference. - The object to reference. - - - - Allows users to control class loading and mandate what class to load. - - - - - When implemented, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object - The type of the object the formatter creates a new instance of. - - - - When implemented, controls the binding of a serialized object to a type. - - The type of the object the formatter creates a new instance of. - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - - - Represents a trace writer. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of will exclude messages and include , - and messages. - - The that will be used to filter the trace messages passed to the writer. - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Provides methods to get and set values. - - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Contract details for a used by the . - - - - - Gets the of the collection items. - - The of the collection items. - - - - Gets a value indicating whether the collection type is a multidimensional array. - - true if the collection type is a multidimensional array; otherwise, false. - - - - Gets or sets the function used to create the object. When set this function will override . - - The function used to create the object. - - - - Gets a value indicating whether the creator has a parameter with the collection values. - - true if the creator has a parameter with the collection values; otherwise, false. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets or sets the default collection items . - - The converter. - - - - Gets or sets a value indicating whether the collection items preserve object references. - - true if collection items preserve object references; otherwise, false. - - - - Gets or sets the collection item reference loop handling. - - The reference loop handling. - - - - Gets or sets the collection item type name handling. - - The type name handling. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Handles serialization callback events. - - The object that raised the callback event. - The streaming context. - - - - Handles serialization error callback events. - - The object that raised the callback event. - The streaming context. - The error context. - - - - Sets extension data for an object during deserialization. - - The object to set extension data on. - The extension data key. - The extension data value. - - - - Gets extension data for an object during serialization. - - The object to set extension data on. - - - - Contract details for a used by the . - - - - - Gets the underlying type for the contract. - - The underlying type for the contract. - - - - Gets or sets the type created during deserialization. - - The type created during deserialization. - - - - Gets or sets whether this type contract is serialized as a reference. - - Whether this type contract is serialized as a reference. - - - - Gets or sets the default for this contract. - - The converter. - - - - Gets or sets all methods called immediately after deserialization of the object. - - The methods called immediately after deserialization of the object. - - - - Gets or sets all methods called during deserialization of the object. - - The methods called during deserialization of the object. - - - - Gets or sets all methods called after serialization of the object graph. - - The methods called after serialization of the object graph. - - - - Gets or sets all methods called before serialization of the object. - - The methods called before serialization of the object. - - - - Gets or sets all method called when an error is thrown during the serialization of the object. - - The methods called when an error is thrown during the serialization of the object. - - - - Gets or sets the default creator method used to create the object. - - The default creator method used to create the object. - - - - Gets or sets a value indicating whether the default creator is non-public. - - true if the default object creator is non-public; otherwise, false. - - - - Contract details for a used by the . - - - - - Gets or sets the dictionary key resolver. - - The dictionary key resolver. - - - - Gets the of the dictionary keys. - - The of the dictionary keys. - - - - Gets the of the dictionary values. - - The of the dictionary values. - - - - Gets or sets the function used to create the object. When set this function will override . - - The function used to create the object. - - - - Gets a value indicating whether the creator has a parameter with the dictionary values. - - true if the creator has a parameter with the dictionary values; otherwise, false. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets the object's properties. - - The object's properties. - - - - Gets or sets the property name resolver. - - The property name resolver. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets or sets the object constructor. - - The object constructor. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets or sets the object member serialization. - - The member object serialization. - - - - Gets or sets a value that indicates whether the object's properties are required. - - - A value indicating whether the object's properties are required. - - - - - Gets or sets how the object's properties with null values are handled during serialization and deserialization. - - How the object's properties with null values are handled during serialization and deserialization. - - - - Gets the object's properties. - - The object's properties. - - - - Gets a collection of instances that define the parameters used with . - - - - - Gets or sets the function used to create the object. When set this function will override . - This function is called with a collection of arguments which are defined by the collection. - - The function used to create the object. - - - - Gets or sets the extension data setter. - - - - - Gets or sets the extension data getter. - - - - - Gets or sets the extension data value type. - - - - - Gets or sets the extension data name resolver. - - The extension data name resolver. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Maps a JSON property to a .NET member or constructor parameter. - - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets the type that declared this property. - - The type that declared this property. - - - - Gets or sets the order of serialization of a member. - - The numeric order of serialization. - - - - Gets or sets the name of the underlying member or parameter. - - The name of the underlying member or parameter. - - - - Gets the that will get and set the during serialization. - - The that will get and set the during serialization. - - - - Gets or sets the for this property. - - The for this property. - - - - Gets or sets the type of the property. - - The type of the property. - - - - Gets or sets the for the property. - If set this converter takes precedence over the contract converter for the property type. - - The converter. - - - - Gets or sets the member converter. - - The member converter. - - - - Gets or sets a value indicating whether this is ignored. - - true if ignored; otherwise, false. - - - - Gets or sets a value indicating whether this is readable. - - true if readable; otherwise, false. - - - - Gets or sets a value indicating whether this is writable. - - true if writable; otherwise, false. - - - - Gets or sets a value indicating whether this has a member attribute. - - true if has a member attribute; otherwise, false. - - - - Gets the default value. - - The default value. - - - - Gets or sets a value indicating whether this is required. - - A value indicating whether this is required. - - - - Gets or sets a value indicating whether this property preserves object references. - - - true if this instance is reference; otherwise, false. - - - - - Gets or sets the property null value handling. - - The null value handling. - - - - Gets or sets the property default value handling. - - The default value handling. - - - - Gets or sets the property reference loop handling. - - The reference loop handling. - - - - Gets or sets the property object creation handling. - - The object creation handling. - - - - Gets or sets or sets the type name handling. - - The type name handling. - - - - Gets or sets a predicate used to determine whether the property should be serialized. - - A predicate used to determine whether the property should be serialized. - - - - Gets or sets a predicate used to determine whether the property should be deserialized. - - A predicate used to determine whether the property should be deserialized. - - - - Gets or sets a predicate used to determine whether the property should be serialized. - - A predicate used to determine whether the property should be serialized. - - - - Gets or sets an action used to set whether the property has been deserialized. - - An action used to set whether the property has been deserialized. - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Gets or sets the converter used when serializing the property's collection items. - - The collection's items converter. - - - - Gets or sets whether this property's collection items are serialized as a reference. - - Whether this property's collection items are serialized as a reference. - - - - Gets or sets the type name handling used when serializing the property's collection items. - - The collection's items type name handling. - - - - Gets or sets the reference loop handling used when serializing the property's collection items. - - The collection's items reference loop handling. - - - - A collection of objects. - - - - - Initializes a new instance of the class. - - The type. - - - - When implemented in a derived class, extracts the key from the specified element. - - The element from which to extract the key. - The key for the specified element. - - - - Adds a object. - - The property to add to the collection. - - - - Gets the closest matching object. - First attempts to get an exact case match of and then - a case insensitive match. - - Name of the property. - A matching property if found. - - - - Gets a property by property name. - - The name of the property to get. - Type property name string comparison. - A matching property if found. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Lookup and create an instance of the type described by the argument. - - The type to create. - Optional arguments to pass to an initializing constructor of the JsonConverter. - If null, the default constructor is used. - - - - Represents a trace writer that writes to memory. When the trace message limit is - reached then old trace messages will be removed as new messages are added. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of will exclude messages and include , - and messages. - - - The that will be used to filter the trace messages passed to the writer. - - - - - Initializes a new instance of the class. - - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Returns an enumeration of the most recent trace messages. - - An enumeration of the most recent trace messages. - - - - Returns a of the most recent trace messages. - - - A of the most recent trace messages. - - - - - A base class for resolving how property names and dictionary keys are serialized. - - - - - A flag indicating whether dictionary keys should be processed. - Defaults to false. - - - - - A flag indicating whether extension data names should be processed. - Defaults to false. - - - - - A flag indicating whether explicitly specified property names, - e.g. a property name customized with a , should be processed. - Defaults to false. - - - - - Gets the serialized name for a given property name. - - The initial property name. - A flag indicating whether the property has had a name explicitly specified. - The serialized property name. - - - - Gets the serialized name for a given extension data name. - - The initial extension data name. - The serialized extension data name. - - - - Gets the serialized key for a given dictionary key. - - The initial dictionary key. - The serialized dictionary key. - - - - Resolves the specified property name. - - The property name to resolve. - The resolved property name. - - - - Represents a method that constructs an object. - - The object type to create. - - - - When applied to a method, specifies that the method is called when an error occurs serializing an object. - - - - - Provides methods to get attributes from a , , or . - - - - - Initializes a new instance of the class. - - The instance to get attributes for. This parameter should be a , , or . - - - - Returns a collection of all of the attributes, or an empty collection if there are no attributes. - - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. - - The type of the attributes. - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Get and set values for a using reflection. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - A snake case naming strategy. - - - - - Initializes a new instance of the class. - - - A flag indicating whether dictionary keys should be processed. - - - A flag indicating whether explicitly specified property names should be processed, - e.g. a property name customized with a . - - - - - Initializes a new instance of the class. - - - A flag indicating whether dictionary keys should be processed. - - - A flag indicating whether explicitly specified property names should be processed, - e.g. a property name customized with a . - - - A flag indicating whether extension data names should be processed. - - - - - Initializes a new instance of the class. - - - - - Resolves the specified property name. - - The property name to resolve. - The resolved property name. - - - - Specifies how strings are escaped when writing JSON text. - - - - - Only control characters (e.g. newline) are escaped. - - - - - All non-ASCII and control characters (e.g. newline) are escaped. - - - - - HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. - - - - - Indicates the method that will be used during deserialization for locating and loading assemblies. - - - - - In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. - - - - - In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. - - - - - Specifies type name handling options for the . - - - should be used with caution when your application deserializes JSON from an external source. - Incoming types should be validated with a custom - when deserializing with a value other than . - - - - - Do not include the .NET type name when serializing types. - - - - - Include the .NET type name when serializing into a JSON object structure. - - - - - Include the .NET type name when serializing into a JSON array structure. - - - - - Always include the .NET type name when serializing. - - - - - Include the .NET type name when the type of the object being serialized is not the same as its declared type. - Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON - you must specify a root type object with - or . - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Adds the elements of the specified collection to the specified generic . - - The list to add to. - The collection of elements to add. - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert or cast the value to. - - The converted type. If conversion was unsuccessful, the initial value - is returned if assignable to the target type. - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic that returns a result - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic, but uses one of the arguments for - the result. - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic, but uses one of the arguments for - the result. - - - - - Returns a Restrictions object which includes our current restrictions merged - with a restriction limiting our type - - - - - Helper class for serializing immutable collections. - Note that this is used by all builds, even those that don't support immutable collections, in case the DLL is GACed - https://github.com/JamesNK/Newtonsoft.Json/issues/652 - - - - - Gets the type of the typed collection's items. - - The type. - The type of the typed collection's items. - - - - Gets the member's underlying type. - - The member. - The underlying type of the member. - - - - Determines whether the member is an indexed property. - - The member. - - true if the member is an indexed property; otherwise, false. - - - - - Determines whether the property is an indexed property. - - The property. - - true if the property is an indexed property; otherwise, false. - - - - - Gets the member's value on the object. - - The member. - The target object. - The member's value on the object. - - - - Sets the member's value on the target object. - - The member. - The target. - The value. - - - - Determines whether the specified MemberInfo can be read. - - The MemberInfo to determine whether can be read. - /// if set to true then allow the member to be gotten non-publicly. - - true if the specified MemberInfo can be read; otherwise, false. - - - - - Determines whether the specified MemberInfo can be set. - - The MemberInfo to determine whether can be set. - if set to true then allow the member to be set non-publicly. - if set to true then allow the member to be set if read-only. - - true if the specified MemberInfo can be set; otherwise, false. - - - - - Builds a string. Unlike this class lets you reuse its internal buffer. - - - - - Determines whether the string is all white space. Empty string will return false. - - The string to test whether it is all white space. - - true if the string is all white space; otherwise, false. - - - - - Specifies the state of the . - - - - - An exception has been thrown, which has left the in an invalid state. - You may call the method to put the in the Closed state. - Any other method calls result in an being thrown. - - - - - The method has been called. - - - - - An object is being written. - - - - - An array is being written. - - - - - A constructor is being written. - - - - - A property is being written. - - - - - A write method has not been called. - - - - diff --git a/site/trunk/Bin/PayPal.dll b/site/trunk/Bin/PayPal.dll deleted file mode 100644 index fea1069..0000000 Binary files a/site/trunk/Bin/PayPal.dll and /dev/null differ diff --git a/site/trunk/Bin/QRCoder.dll b/site/trunk/Bin/QRCoder.dll deleted file mode 100644 index b45ffba..0000000 Binary files a/site/trunk/Bin/QRCoder.dll and /dev/null differ diff --git a/site/trunk/Bin/Robo.XML b/site/trunk/Bin/Robo.XML deleted file mode 100644 index e7e855d..0000000 --- a/site/trunk/Bin/Robo.XML +++ /dev/null @@ -1,2191 +0,0 @@ - - - - Robo - - - - - Inherits from to easily create an Insert/Save button - - - - - to display "Insert" or to display "Save" - - - - - Overrides - - Event arguments - - - - Control to create an automatically resized version of the given image - - - This control will cause a constant page reload if is not specified. To prevent this behavior, always specify a URL to an image. - - - - - Gets or sets the TemplateImageUrl - - - - - Gets or sets the LoadedImageUrl - - - - - Overrides - - Event arguments to be passed - - - - Control which inherits from that makes confirmation messages easy - - - - - Gets or sets the value used to generate the client-side function - - - - - Gets or sets the text used in the confirmation message - - - - - Gets or sets the value used to generate the client-side function - - - - - Gets or sets the text used in the confirmation message - - - - - Overrides - - Event arguments - - - - Static class for getting a list of Canada Provinces - - - - - Static method to return a Province name based on the two-letter abbreviation - - The abbreviation that represents the Province - Name of the Province - - - - Static method to return a two-character abbreviation based on the name - - Name of the Province to get the code - Two-letter abbreviation as a string - - - - Static member containing list of Canada Provinces - - - - - Class representing a drop down pre-populated with Canada Provinces - - - - - Return the selected province abbreviation - - - - - Override method - - Event Arguments - - - - List of Countries - - - - - List of countries, retrievable by the two letter abbreviation - - - - - Converts the two letter abbreviation to the country name - - Appreviation to check for - Country name - - - - Converts the country name to the two letter abbreviation - - Country name to check for - Country abbreviation - - - - Control which inherits from to create a list of countries - - - - - Gets or sets the value of the drop down list - - - - - Compares the values of two System.Collections.Generic.KeyValuePair<string, string> objects. Used for sorting the country list by name. - - The first object to compare - The second object to compare - Returns 0 when equal, negative numbers when a < b, positive numbers when a > b - - - - Overrides System.Web.UI.WebControls.DropDownList.OnInit(EventArgs) - - Event arguments - - - - A standard push button. - - - - - Initializes a new instance of the class. - - - - - Fires when the button is clicked. - - - - - Fires when the button is clicked and an associated command is defined. - - - - - Called when button is clicked. - - The instance containing the event data. - - - - Called when button is clicked and an associated command is defined.. - - The instance containing the event data. - - - - Whether the button causes validation to fire - - - - - The command argument associated with the button - - - - - The command associated with the button - - - - - The client-side script that is executed on client-side OnClick - - - - - The URL to post when the button is clicked - - - - - The text of the button control. - - - - - Indicates whether the button render as a submit button - - - - - The group that should be validated when the control causes a postback - - - - - Gets or sets a value indicating whether the button automatically posts back to the server when clicked. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Class for working with DataTable objects - - - - - Creates a copy of a DataTable object filtered by column and value - - The source DataTable to filter - Column name to filter by - Column value to filter by - Filtered copy of source DataTable - - - - Creates a copy of a DataTable object filtered by column and value - - The source DataTable to filter - Column name to filter by - Column value to filter by - Column name to filter by - Column value to filter by - Filtered copy of source DataTable - - - - Creates a copy of a DataTable object filtered by column and value and returns the matched row. - Special note: This method will return the first matched row only. To return multiple rows, use the CloneAndFilter method - - The source DataTable to filter - Column name to filter by - Column value to filter by - First matched DataRow - - - - Creates a combination of controls to specify a date - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifies whether an optional, value is allowed - - - - - Client ID of the Day drop down (useful for custom client-side JavaScript) - - - - - Client ID of the Month drop down (useful for custom client-side JavaScript) - - - - - Specifies the validation group used for the internal validators - - - - - Gets or sets the value - - - - - Gets or sets the optional value - - - - - Client ID of the Year text box (useful for custom client-side JavaScript) - - - - - - - - - - - - - - - - - Control to display drop down lists for month and day - - - - - - - - - - - - - - - Specifies whether empty values are allowed. - - - - - Gets or sets the day value - - - - - Gets the client ID for the day drop down list - - - - - Gets or sets the optional day value - - - - - Gets or sets the month value - - - - - Gets the client ID of the month drop down list - - - - - Gets or sets the optional month value - - - - - - - - - - Sets the day and month from an optional object - - An optional value. Use to specify there is no value. - - - - Control for easily displaying a DateTime object in a control - - - - - Format to use when displaying the date object - - - - - Format to use when displaying the date object - - - - - Whether to show the time. Overrides if set - - - - - The value to display - - - - - Can be assigned an object to convert to a object such as a value - - - - - Control to handle selecting a month and year - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifies whether empty values are allowed - - - - - Gets the client ID of the month drop down list - - - - - Sets the validation group for the internal validators - - - - - Gets or sets the value of the selected month and year - - - - - Gets or sets the optional value of the selected month and year - - - - - Gets the client ID of the year text box - - - - - - - - - - Static class with basic conversions - - - - - Returns Nullable<DateTime> conversion of object - - Object to convert - - - - - Returns Nullable<decimal> conversion of object - - Object to convert - - - - - Parse a decimal value to a currency string or empty string if null - - Object to parse - Currency formatted string or empty if null - - - - Parse a decimal value to a string or empty string if null - - Object to parse - string or empty if null - - - - Parse object to Enum value - - Enum Type to parse to - Object to parse - Enum object of type T with the parsed value - - - - Parse object to Enum value, using default value if it fails - - Enum Type to parse to - Object to parse - T value to use if parse fails - Enum object of type T with the parsed value - - - - Returns Nullable<int> conversion of object - - Object to convert - - - - - Parse an Int32 to string - - Object to parse - Int32 as string or empty if object is null - - - - Returns string or null - - Object to parse - String value or null - - - - Returns string value of an object - - Object to parse - String value of object or an empty string - - - - Control to handle validation of decimal input values - - - - - Determines if an empty value is allowed in the field. If true, disables the Required Fielf Validator. - - - - - Gets or sets the text displayed in the Regular Expression Validator control when validation fails. - - - - - Gets or sets the text for the error message in a when validation fails. - - - - - Gets or sets the text displayed in the Required Field Validator control when validation fails. - - - - - Gets or sets the text for the error message in a when validation fails. - - - - - Attributes for the TextBox - - - - - Gets the client ID of the TextBox - - - - - Sets the validation group for the validators - - - - - Gets or sets the decimal value - - - - - Gets or sets the Nullable decimal value. - - - - - Sets the Value from an DB object such as a value. - - - - - Sets the width of the TextBox - - - - - - - - - - Creates a dropdown list containing the values of a class inherited from - - - - ]]> - - - public enum YesNo - { - Yes = 0, - No = 1, - Maybe = 2 - } - - EnumValues.EnumValue = typeof(YesNo); - - - - - - - ]]> - - - The option values are used in the same order as they are defined in the object definition. If is set to then the example option would look like <option value="Yes">Yes</option>, instead using the name. This would also be the case if the options did not have values assigned to them. - - - - - - When , uses specified values instead of names as the value. When (default), uses the names as the values. - - - - - When , adds empty that allows required validation. When (default), no additional item is added. - - - - - Whether to reverse the order of the dropdown - - - - - The Enum object to parse through - - - - - Static Class for handling Enumerations - - - - - Method for getting the values of an enumeration - - The enumeration type to get values from - - - public enum Suit - { - Spade, - Heart, - Diamond, - Club - } - var eValues = EnumUtil.GetValues<Suit>(); - foreach (Suit s in eValues) - { - Console.WriteLine(s.ToString()); - } - - - object of items - - - - Class to parse out and retrieve full details of a given object - - - - - Retrieve the full details of the - - The to iterate through - String value as a message - - - - Checks to seeif the provided is related to database connection - - The Exception to check - or - - - - Checks to see if the provided is infrastructure related - - The exception to check - or - - - - This class is used to store class extensions. By specifying 'this' before the first parameter it marks it as an extension of that parameter type - - - - - This method takes a string array of characters to replace in a specified string with a specified value. - This method will replace all instances of all values in the array with replacementValue. - - - - string val = "abcdefghiabc"; - string[] sArr = { "a", "b", "c" }; - string newVal = "x"; - Console.Write(val.Replace(sArr, newVal); - - // Returns: xxxdefghixxx - - - string to process - Array of strings to find - Replacement value for all found strings - String with values replaced - - - - This method takes a string array of characters to replace in a specified string with a specified value - This method replaces symbols[i] with replacementValue[i] - - - - string val = "abcdefghiabc"; - string[] sArr = { "a", "b", "c" }; - string[] newVal = { "x", "y", "z" }; - Console.Write(val.Replace(sArr, newVal); - - // Replaces "a" with "x", "b" with "y", and "c" with "z" - // Returns: xyzdefghixyz - - - string to process - Array of strings to find - Array of strings to be replaced - String with values replaced - - - - Removes punctuation from a given string - - String value to process - String with punctuation removed - - - - Changes to the HTML <br /> line break - - The string to process - String with line endings converted to HTML <br /> tags - - - - Get the previous control of the given type (, for example). Skips - - - - - ]]> - - - Label ctl = txtName.PreviousControl(typeof(Label)) as Label; - if (ctl != null) - { - // Further processing on the sibling control - } - - - Control to reference - The type of control to get - base type to be cast - - - - Get the next control of the given type (, for example). Skips - - - - -
- ]]> -
- - Label ctl = txtName.NextControl(typeof(Label)) as Label; - if (ctl != null) - { - // Further processing on the sibling control - } - -
- Control to reference - The type of control to get - base type to be cast -
- - - Toggles visibility of the . - - The to toggle. - - - - Copy a to a delimited string - - The DataTable from which the delimited string will be created - The delimiter used to separate columns in the output string (comma (,) or tab (\t) are most often used) - String of delimiter delimited text representing the given - - - - Create a object from a - - String from which to create the Stream - which represents the given - - - - Creates delimited string from . Must be a primitive type. - - Primitive Type (int, string) - Primitive Type (int, string) - The object to create a string from - The delimiter to use in the string - The key name in the first column of the delimited string - The value name in the second column of the delimited string - String of delimiter delimited text representing a with keyName and valueName as columns - - - - Copies to DataTable. Must be a primitive data type such as int or string. - - Primitive Type (int, decimal) or string - to copy - with a single column consisting of the values - - - - Copies a to a . Must be a primitive data type such as int or string. - - Primitive Type (int, string) - Primitive Type (int, string) - The object to copy - Name of the column which will contain the TKey value - Name of the column which will contain the TValue value - containing two columns representing the object - - - - Class containing utility methods specific for working with a object - - - - - Return a by the cell name - - The to retrieve the cell from - The cell name - or if not found - - - - Retrieve the zero-based index of the column based on the header text - - The object to search - The header text to use to find the column - Column index or -1 if not found - - - - Retrieve the zero-based index of the column based on the name of a control - - The object to search - The of the value - Column index or -1 if not found - - - - Control inheriting from which handles some common functions such as paging and sorting - - - - - Allows a datasource to be loaded - - - - - - - - - - - - - - - - - - - - - - - Control inheriting from which allows for grouping objects - - - Items are grouped by using the Attributes collection to set an OptionGroup - - - ListItem li1 = new ListItem("1", "1"); - ListItem li2 = new ListItem("2", "2"); - ListItem li3 = new ListItem("3", "3"); - ListItem li4 = new ListItem("4", "4"); - - li1.Attributes.Add("OptionGroup", "Group 1"); // To modify use li1.Attributes["OptionGroup"] = "Group 1"; - li2.Attributes.Add("OptionGroup", "Group 1"); - li3.Attributes.Add("OptionGroup", "Group 2"); - li4.Attributes.Add("OptionGroup", "Group 2"); - - - - - - - - - - - - - Control for displaying a string value with HTML tags converted - - - - - Specifies whether new lines should be converted to the HTML line break (<br />) - - - - - - - - - - - Static class for retrieving values from the Request - - - - - Return a collection of URL parameters - - - - - Return a collection of URL parameters converted to - - - - - Returns a collection of optional URL parameters returning 0 if empty - - - - - Returns a collection of optional URL parameters - - - - - Return the value of the specified from the request - - The request to search for the cookie - The name of the cookie - Value of the specified cookie or an empty string if the cookie is not found - - - - Clean up HTML from an input string. Converts & to &amp;, < to &lt;, etc. - - The string to clean - The string value with special characters converted to HTML entities - - - - Redirect a page using a POST method to retain values - - URL to POST data to - The list of fields and values to POST to the specified URL - The page object to write to - - - - Converts a relative URL to an absolute URL using the current request host value. - - The relative URL to convert - The converted relavtive URL prepended with the current hostname - - - - Provides methods changing the culture of a given HTTP Request and HTTP Response. - - - - - - - - - - - - - - - - - - - - - - - - - - Return a collection of URL parameters - - - - - - - - - - Return value of the given URL parameter - - The key associated to the value - URL parameter value as a - - If the URL parameter is not given but is not an optional parameter - - - - - Exception raised from an invalid access of a URL parameter - - - - - Initializes a new instance of the HttpPrmExc class with a specified error message. - - The message that describes the error. - - - - Initializes a new instance of the HttpPrmExc class with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference if no inner exception is specified. - - - - Return a collection of URL parameters converted to - - - - - Return value of the given URL parameter - - The key associated to the value - URL parameter value as a - - If the URL parameter is not given or cannot be parsed as a valid value but is not an optional parameter - - - - - Control to simplify the creation of a button which redirects the user. - - - - - - - - - - Raises the Button.Click event of teh Button control. - - - - - - - - - - - - Class for various image processing methods - - - - - Return a System.Drawing.Image object from a byte array. - - The byte array to create the Image from - Image representing the byte array - - - - Returns based on the MIME Type string - - String of the MIME Type - - - - - Resizes an image to the given size. - - Image object to resize - Width in pixels - Heigh in pixels - Whether to crop or to use the full original - The background color of the image canvas when the resized image is a different aspect ration than the original image - Resized image - - - - Resizes an image to the given size - - Image object to resize - Width in pixels - Heigh in pixels - Whether to crop or to use the full original - The background color of the image canvas when the resized image is a different aspect ration than the original image - False to leave in the center, True to align it in the top left corner - Resized image - - - - Resizes an image to the given size, keeping the original aspect ratio. - - Image object to resize - Width in pixels - Height in pixels - Whether to use the smallest dimension or the biggest dimension - Resized image - - - - Returns a byte array of a JPEG image based on an Image object - - Image to convert - Quality percentage - byte array based on JPEG image - - - - Returns a byte array of PNG image based on an Image object - - Image to convert - byte array based on PNG image - - - - DropDownList to show int values - - - - ]]> - - - Robo.IntDropDownList ddl = new Robo.IntDropDownList(); - ddl.MaxValue = 10; - ddl.MinValue = 1; - ddl.AllowEmpty = true; - Nullable<int> value = ddl.SelectedInt; - - - - - - The minimum value to display (inclusive, does not include the empty value). If not specified, the default value of 1 will be used. - - - - - The maximum value to display (inclusive). If not specified, the default value of 10 will be used. - - - - - If , an empty list item will be added and will be allowed - - - - - Gets or sets the selected value based on the integer value - - is and value is - value is less than or greater than - - - - Overrides the base OnInit event to populate values - - Event Arguments - - - - Creates a text box which validates input as an integer. - - - - - Specifies whether the value should be optional and allow a - - - - - Specifies the validation group for the internal validators - - - - - Specifies the CSS class for the - - - - - Specifies the of the - - - - - Specifies the CSS class for the - - - - - Specifies the of the - - - - - Specify the text color of the validator messages - - - - - Gets or sets the value of the text box - - - - - Gets or sets the optional value of the text box - - - - - Sets the value based on an object (such as from a ) - - - - - Specifies the width of the text box - - - - - Applies the style properties defined in the page style sheet to the control. - - The containing the control. - - - - - - - - - Static class for handling some methods of working with ListControl controls. - - - - - Attempt to select an item based on a value. - - The ListControl whose item will be selected - The value of the ListItem to find. - True if the item was found and could be selected. False otherwise. - - - - This class provide static methods for validation checking of Luhn formula numbers. - - - - - The greek social id, uses the Luhn formula.
- The last digit is the validation digit using the Luhn check digit algorithm.
  • - 1 - Counting from the check digit, which is the rightmost, and moving left, double the value of every second digit.
  • - 2 - Sum the digits of the products (e.g., 10: 1 + 0 = 1, 14: 1 + 4 = 5) together with the undoubled digits from the original number.
  • - 3 - If the total modulo 10 is equal to 0 (if the total ends in zero) then the number is valid according to the Luhn formula; else it is not valid.
-
- The id number in string - True if pass the Luhn validation, else false -
- - - Class for determining a MIME type for a file - - - - - Determine the MIME type from provided data - - Pointer to IBindCtx interface. Can be set to null. - Pointer to a string value that contains the URL of the data. Can be null if byte[] data is being passed in - Buffer data to be checked - Size of the buffer - Proposed MIME type. If type cannot be found, this value is used. - See http://msdn.microsoft.com/en-us/library/ms775107(v=vs.85).aspx - The MIME type detected - Reserved, must be set to 0 - S_OK, E_FAIL, E_INVALIDARG, or E_OUTOFMEMORY - - - - Get MIME type from a file - - The file path to read - Type as a string value - - - - Get MIME type from file data - - Byte array representing the file to check - Type as a string value - - - - Label for showing currency values - - - - - Nullable decimal value - - - - - Object to set - - - - - Wrapper class for the class for interacting with OLE Databases (such as Microsoft Access databases) - - - - - Stores the internal object - - - - - Public accessor for the private property - - - - - Public accessor of the class - - - - - Creates a new object - - The command text to be executed - Set to for a stored procedure, for inline SQL - - - - Creates a new object - - The connection string to use when connecting to the database - The command text to be executed - Set to for a stored procedure, for inline SQL - - - - Add input parameter of type varbinary - - The parameter name - The parameter value - - - - Add input parameter of type varbinary - - The parameter name - Length of the parameter (this will truncate data that is longer). Use -1 for varbinary(max) fields. - The parameter value - - - - Static class for serialization methods - - - - - Class to generate custom XML - - - - - Create an object of type T from an XML string - - Type to convert to - Serialized XML string - T - System.InvalidOperationException - System.Xml.XmlException - - - - Serialize object to XML string - - Object to serialize - XML string - - - - Serialize an object to a JSON string - - Object to serialize - Serialized JSON string - - - - Create an object of type T from a JSON string - - Type to create - JSON string to deserialize - T - - - - Wrapper class for for interacting with a database - - - Additionally, if the App.config or web.config file includes an <appSettings> key of Robo.SqlCmd.LogFileName then the time taken for each query will be recorded. - If Robo.SqlCmd.MinMilisecondsToLog is specified with a number, only queries that take longer than that are recorded. - - <appSettings> - <add key="Robo.SqlCmd.LogFileName" value="~/App_Data/Log/SqlCmdLog_dd-mm-yyyy.log"/> - <add key="Robo.SqlCmd.MinMilisecondsToLog" value="500"/> - </appSettings> - - Note that in the log file name "dd" will be automatically replaced with the current day, "mm" with the current month, and "yyyy" with the current year. - - ... - 114 2014-12-30T13:31:44 SnippetImage_List - 115 2014-12-30T13:31:44 SnippetImage_List - 116 2014-12-30T13:31:45 ConfigSettings_List - 116 2014-12-30T13:31:48 Splash_GetSplashSettings - 122 2014-12-30T13:31:49 SELECT * FROM SnippetContent WHERE ContentId = @Id - 116 2014-12-30T13:31:49 SELECT * FROM SnippetContent WHERE ContentId = @Id - ... - - - - - using (SqlCmd cmd = SqlCmd.Procedure("sp_name")) - { - cmd.AddIInt("@Var1", 1); - cmd.Execute(); - } - - // Standard .NET method: - using (SqlConnection conn = new SqlConnection("FULL CONNECTION STRING")) - { - using (SqlCommand cmd = new SqlCommand("sp_name", conn)) - { - cmd.CommandType = CommandType.Procedure; - SqlParameter sp = new SqlParameter("@Var1", SqlDbType.Int); - sp.Direction = ParameterDirection.Input; - sp.Value = 1; - cmd.Parameters.Add(sp); - cmd.ExecuteNonQuery(); - } - } - - - - - - Stores the internal object - - - - - Stores the connection string being used to connect to the database - - - - - Determines if the ConnectionStringLocal is used - - - - - Public read-only accessor of the internal underlying object - - - This property is useful when it is necessary to do more complex operations (such as passing a table value into a stored procedure). - - DataTable dt = GetData(); - using (SqlCmd cmd = SqlCmd.Procedure("sp_name")) - { - cmd.AddIInt("@Id", 1); - cmd.Command.Parameters.Add("@TableValue", SqlDbType.Structured); - cmd.Command.Parameters.["@TableValue"].Value = dt; - cmd.Execute(); - } - - - - - - Contains the connection string used to connect to the database engine - - - - - Private method to set whether the local connection string is used - - - - - Creates a new SqlCmd object. Uses default connection string named "ConnectionString" - - Command Text to execute - Set to true if text is a stored procedure - - - - Creates a new SqlCmd object using a custom connection string, defined by name - - Name of the custom connection string as defined in the web.config - The text of the command to execute - Set to true if the command is stored procedure - - - - Add a binary parameter - - Parameter name - Parameter value - - - - Add a binary parameter - - Parameter name - Parameter length - Parameter value - - - - Add a boolean (bit) parameter - - Parameter name - Parameter Value - - - - Add a byte parameter - - Parameter name - Parameter value - - - - Add a parameter - - - - - - - Add a parameter - - - - - - - Add a decimal parameter - - Parameter name - Size (max number of digits) - Scale (max number of decimal places) - Nullable<decimal> value - - - - Add a decimal parameter - - Parameter name - Size (max number of digits) - Scale (max number of decimal places) - decimal value - - - - Add a float parameter - - Parameter name - Parameter value (accepts null) - - - - Add a float parameter - - Parameter name - Parameter value (does not accept null) - - - - Add a Guid parameter - - Parameter name - Parameter value (accepts null value) - - - - Add a Transact-SQL Image type parameter - - Parameter name - Parameter value (byte array from image, accepts null value) - - - - Add an Int parameter - - Parameter name - Parameter Value - - - - Add a nullable Int parameter - - Parameter name - Parameter Value - - - - Add a SmallInt parameter - - Parameter name - Parameter Value - - - - Add a BigInt parameter - - Parameter name - Parameter Value - - - - Add a nullable Money parameter - - Parameter name - Parameter Value - - - - Add a Money parameter - - Parameter name - Parameter Value - - - - Add a string parameter - - Parameter name - Parameter datatype length (-1 for length of max) - Parameter value - - - - Add a text parameter - - - - - - - Add a binary parameter using varbinary - - Parameter name - Parameter datatype length (-1 for length of max) - Parameter value - - - - Add output binary parameter - - Parameter name - Parameter datatype length (-1 for length of max) - - - - Add output boolean parameter - - Parameter name - - - - Add output tinyint parameter (byte, 8-bit integer) - - Parameter name - - - - Add output DateTime parameter - - Parameter name - - - - Add output decimal parameter - - Parameter name - Size: Total number of digits to be stored - Scale: Number of decimal digits to the right of the decimal point - - - - Add output float parameter - - Parameter name - - - - Add output uniqueidentifier parameter - - Parameter name - - - - Add output int parameter (32-bit integer) - - - - - - Add output smallint parameter (short, 16-bit integer) - - Parameter name - - - - Add output money parameter - - - - - - Add output string parameter - - Parameter name - Parameter datatype length (-1 for length of max) - - - - Garbage collection, closes connections - - - - - Executes the command without returning any data - - - - - Executes the command and returns a single DataRow object - - System.Data.DataRow object - - - - Executes the command and returns a since DataRow object. If the result set is empty returns null - - System.Data.DataRow object or null if no result - - - - Executes the command and returns a DataTable from the result set - - System.Data.DataTable object representing the result set - - - - Returns the required binary value of specified parameter - - Parameter name - array containing the binary data - - - - Returns the optional binary value of specified parameter - - Parameter name - array containing the binary data or null - - - - Returns the required bool value of specified parameter - - Parameter name - representing the bit value - - - - Returns the required value of specified parameter - - Parameter name - - - - - Returns the required value of specified parameter - - Parameter name - - - - - Returns the optional value of specified parameter - - Parameter name - or null - - - - Returns the required decimal value of specified parameter - - Parameter name - - - - - Returns the optional decimal value of specified parameter - - Parameter name - or null - - - - Returns the required float value of specified parameter - - Parameter name - - - - - Returns the optional float value of specified parameter - - Parameter name - or null - - - - Returns the required uniqueidentifier value of specified parameter - - Parameter name - - - - - Returns the required int value of specified parameter - - Parameter name - - - - - Returns the required smallint value of specified parameter - - Parameter name - - - - - Returns the required bigint value of specified parameter - - Parameter name - - - - - Return a from the specified output parameter - - Parameter name for which to retrieve the value - Optional value - - - - Return a string from the specified output parameter - - Name of the output parameter - System.String - - - - Return a string or null from the specified output parameter - - Parameter name - or - - - - Determine if an output parameter is null - - Name of output parameter - if parameter is , otherwise - - - - Log the time taken by an executed command - - The time taken as a - - - - Creates a new object configured to execute a stored procedure using default connection string - - Name of the stored procedure to execute - Instance of - - - - Static class for getting a list of US States - - - - - Static method to return a State name based on the two-letter abbreviation - - The abbreviation that represents the State - Name of the State - - - - Static method to return a two-character abbreviation based on the name - - Name of the State to get the code - Two-letter abbreviation as a string - - - - Static member containing list of US States - - - - - Create a DropDownList pre-populated with US State names - - - - - Gets or sets the SelectedValue property of the DropDownList - - - - - Whether or not to include US territories - - - - - Whether or not to include US territories - - - - - Whether or not to include APO States - - - - - Whether or not to include APO States - - - - - Event handler for control initialization - - Event Arguments - - - - Class for adding watermarks to images. - - - This example uses an image that has already been loaded into memory. - - byte[] watermarkedImg = null; - byte[] imgByte = Image.FromFile(); - using (Watermark wm = new Watermark(imgByte, "c:\\path\\to\\watermark.png")) - { - wm.SaveAsFile = false; - wm.AddWatermark(); // if SaveAsFile is set to true, this will attempt to save it - watermarkedImg = wm.WatermarkImage; - } - - This example passes in the location of an image to apply a watermark to. - - using (Watermark wm = new Watermark("C:\\path\\to\\working\\directory", "file.jpg", "C:\\path\\to\\watermark.png")) - { - wm.SaveAsFile = true; - wm.AddWatermark(); - // If further processing is required - imgByte = wm.WatermarkImage; - } - - - - - - Whether to save as a file - - - - - Byte array representing the final watermarked image - - - - - Create new instance of the Watermark class in preparation of adding a watermark to an image - - Location of the source file, also where the new file will be saved - The file that the watermark is being added to - Path to watermark image - - - - Create new instance of the Watermark class in preparation of adding a watermark to an image - - byte array of the file being processed - Path to watermark image - - - - Apply the watermark to the image - - - - - Garbage Cleanup, releasing resources - - -
-
diff --git a/site/trunk/Bin/Robo.dll b/site/trunk/Bin/Robo.dll deleted file mode 100644 index 6750c20..0000000 Binary files a/site/trunk/Bin/Robo.dll and /dev/null differ diff --git a/site/trunk/Bin/Robo.pdb b/site/trunk/Bin/Robo.pdb deleted file mode 100644 index b60ae2f..0000000 Binary files a/site/trunk/Bin/Robo.pdb and /dev/null differ diff --git a/site/trunk/Bin/SecurePasswordGenerator.XML b/site/trunk/Bin/SecurePasswordGenerator.XML deleted file mode 100644 index b02548a..0000000 --- a/site/trunk/Bin/SecurePasswordGenerator.XML +++ /dev/null @@ -1,43 +0,0 @@ - - - - SecurePasswordGenerator - - - - - Class for generating secure random passwords - - - - - Generate password with default options - - Password in a string format - - - - Generate password with default options, specifying a password length - - System.Int32 value indicating how long the generated password should be - Password in a string format - - - - Generate password specifying the minimum and maximum length - - Integer value for the minimum length to generate - Integer value for the maximum length to generate - Password in a string format - - - - Generate password specifying all options - - Integer value for the minimum length to generate - Integer value for the maximum length to generate - Whether or not to include special characters (symbols) - Password in a string format - - - diff --git a/site/trunk/Bin/SecurePasswordGenerator.dll b/site/trunk/Bin/SecurePasswordGenerator.dll deleted file mode 100644 index cf0fe2c..0000000 Binary files a/site/trunk/Bin/SecurePasswordGenerator.dll and /dev/null differ diff --git a/site/trunk/Bin/System.Drawing.Common.dll b/site/trunk/Bin/System.Drawing.Common.dll deleted file mode 100644 index 099be79..0000000 Binary files a/site/trunk/Bin/System.Drawing.Common.dll and /dev/null differ diff --git a/site/trunk/Bin/System.IO.dll b/site/trunk/Bin/System.IO.dll deleted file mode 100644 index c33120c..0000000 Binary files a/site/trunk/Bin/System.IO.dll and /dev/null differ diff --git a/site/trunk/Bin/System.Net.Http.dll b/site/trunk/Bin/System.Net.Http.dll deleted file mode 100644 index 56fcdc1..0000000 Binary files a/site/trunk/Bin/System.Net.Http.dll and /dev/null differ diff --git a/site/trunk/Bin/System.Runtime.dll b/site/trunk/Bin/System.Runtime.dll deleted file mode 100644 index 3f12010..0000000 Binary files a/site/trunk/Bin/System.Runtime.dll and /dev/null differ diff --git a/site/trunk/Bin/System.Security.Cryptography.Algorithms.dll b/site/trunk/Bin/System.Security.Cryptography.Algorithms.dll deleted file mode 100644 index b94c8de..0000000 Binary files a/site/trunk/Bin/System.Security.Cryptography.Algorithms.dll and /dev/null differ diff --git a/site/trunk/Bin/System.Security.Cryptography.Encoding.dll b/site/trunk/Bin/System.Security.Cryptography.Encoding.dll deleted file mode 100644 index de1ec5e..0000000 Binary files a/site/trunk/Bin/System.Security.Cryptography.Encoding.dll and /dev/null differ diff --git a/site/trunk/Bin/System.Security.Cryptography.Primitives.dll b/site/trunk/Bin/System.Security.Cryptography.Primitives.dll deleted file mode 100644 index 16b2446..0000000 Binary files a/site/trunk/Bin/System.Security.Cryptography.Primitives.dll and /dev/null differ diff --git a/site/trunk/Bin/System.Security.Cryptography.X509Certificates.dll b/site/trunk/Bin/System.Security.Cryptography.X509Certificates.dll deleted file mode 100644 index 2c51024..0000000 Binary files a/site/trunk/Bin/System.Security.Cryptography.X509Certificates.dll and /dev/null differ diff --git a/site/trunk/Bin/System.Web.Optimization.dll b/site/trunk/Bin/System.Web.Optimization.dll deleted file mode 100644 index 393d416..0000000 Binary files a/site/trunk/Bin/System.Web.Optimization.dll and /dev/null differ diff --git a/site/trunk/Bin/System.Web.Optimization.dll.refresh b/site/trunk/Bin/System.Web.Optimization.dll.refresh deleted file mode 100644 index 30d2cdc..0000000 Binary files a/site/trunk/Bin/System.Web.Optimization.dll.refresh and /dev/null differ diff --git a/site/trunk/Bin/System.Web.Optimization.xml b/site/trunk/Bin/System.Web.Optimization.xml deleted file mode 100644 index 11a9f0c..0000000 --- a/site/trunk/Bin/System.Web.Optimization.xml +++ /dev/null @@ -1,666 +0,0 @@ - - - - System.Web.Optimization - - - - Represents a list of file references to be bundled together as a single resource. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class. - The virtual path used to reference the from within a view or Web page. - - - Initializes a new instance of the class. - The virtual path used to reference the from within a view or Web page. - An alternate url for the bundle when it is stored in a content delivery network. - - - Initializes a new instance of the class. - The virtual path used to reference the from within a view or Web page. - An alternate url for the bundle when it is stored in a content delivery network. - A list of objects which process the contents of the bundle in the order which they are added. - - - Initializes a new instance of the class. - The virtual path used to reference the from within a view or Web page. - A list of objects which process the contents of the bundle in the order which they are added. - - - - Builds the bundle content from the individual files included in the object. - The object used to build the bundle content. - - - Overrides this to implement own caching logic. - A bundle response. - The bundle context. - - - Script expression rendered by the helper class to reference the local bundle file if the CDN is unavailable. - The script expression rendered by the helper class to reference the local bundle file if the CDN is unavailable. - - - Gets or sets an alternate url for the bundle when it is stored in a content delivery network. - An alternate url for the bundle when it is stored in a content delivery network. - - - The token inserted between bundled files to ensure that the final bundle content is valid. - By default, if is not specified, the Web optimization framework inserts a new line. - - - Specifies whether to use the . - true if the is used; otherwise, false. - - - Generates an enumeration of objects that represent the contents of the bundle. - An enumeration of objects that represent the contents of the bundle. - The object that contains state for both the framework configuration and the HTTP request. - - - Processes the bundle request to generate the response. - A object containing the processed bundle contents. - The object that contains state for both the framework configuration and the HTTP request. - - - - - Specifies a set of files to be included in the . - The object itself for use in subsequent method chaining. - The virtual path of the file or file pattern to be included in the bundle. - - - Includes all files in a directory that match a search pattern. - The object itself for use in subsequent method chaining. - The virtual path to the directory from which to search for files. - The search pattern to use in selecting files to add to the bundle. - - - Includes all files in a directory that match a search pattern. - The object itself for use in subsequent method chaining. - The virtual path to the directory from which to search for files. - The search pattern to use in selecting files to add to the bundle. - Specifies whether to recursively search subdirectories of . - - - Determines the order of files in a bundle. - The order of files in a bundle. - - - Virtual path used to reference the from within a view or Web page. - The virtual path. - - - Transforms the contents of a bundle. - The list of transforms for the bundle. - - - - Contains and manages the set of registered objects in an ASP.NET application. - - - Initializes a new instance of the class. - - - Adds a bundle to the collection. - The bundle to add. - - - Adds the default file extension replacements for common conventions. - The list to populate with default values. - - - Adds default file order specifications to use with bundles in the collection. - The list to populate with default values. - - - Adds the default file ignore patterns. - The ignore list to populate with default values. - - - Removes all bundles from the collection. - - - Gets the count of registered bundles in the collection. - The number of bundles. - - - Gets a list of file patterns which are ignored when including files using wildcards or substitution tokens. - A list of file patterns. - - - Gets the file extension replacement list. - The file extension replacement list. - - - Gets a list that specifies default file orderings to use for files in the registered bundles. - The list of file orderings. - - - Returns a bundle in the collection using the specified virtual path. - The bundle for the virtual path or null if no bundle exists at the path. - The virtual path of the bundle to return. - - - Returns the bundle enumerator. - The bundle enumerator. - - - Returns the collection of all registered bundles. - The collection of registered bundles. - - - Gets the list of files to ignore. - The list of files to ignore. - - - Removes a bundle from the collection. - true if the bundle was removed; otherwise, false. - The bundle to remove. - - - Clears the bundles and resets all the defaults. - - - Returns the bundle URL for the specified virtual path. - The bundle URL or null if the bundle cannot be found. - The bundle virtual path. - - - Returns the bundle URL for the specified virtual path, including a content hash if requested. - The bundle URL or null if the bundle cannot be found. - The virtual path of the bundle. - true to include a hash code for the content; otherwise, false. The default is true. - - - Returns an enumerator that can be used to iterate through the collection. - An that can be used to iterate through the collection. - - - Returns an enumerator that can be used to iterate through the collection. - An that can be used to iterate through the collection. - - - Gets or sets whether the collection will try to use if specified. - true if the collection will try to use Bundle.CdnPath if specified; Otherwise, false. - - - Encapsulates the info needed to process a bundle request - - - Initializes a new instance of the class. - The context. - The collection of bundles. - The virtual path of the bundles. - - - Gets or sets the collection of bundles. - The collection of bundles. - - - Gets or sets the virtual path for the bundle request - The virtual path for the bundle request. - - - Gets or sets whether the instrumentation output is requested. - true if instrumentation output is requested; otherwise, false. - - - Gets or sets whether optimizations are enabled via . - true if optimizations are enabled via ; otherwise, false. - - - Gets or sets the HTTP context associated with the bundle context. - The HTTP context associated with the bundle context. - - - Gets or sets whether the bindle context will store the bundle response in the HttpContext.Cache. - true if the bindle context will store the bundle response in the cache; Otherwise, false. - - - Represents a bundle definition as specified by the bundle manifest. - - - Initializes a new instance of the class. - - - Gets or sets the CDN fallback expression for the bundle. - The CDN fallback expression for the bundle. - - - Gets or sets the CDN path for the bundle. - The CDN path for the bundle. - - - Gets the files included in the bundle. - The files included in the bundle. - - - Gets or sets the virtual path for the bundle. - The virtual path for the bundle. - - - - - - - - - - Encapsulates a named set of files with relative orderings, for example jquery or modernizer. - - - Initializes a new instance of the class. - The name used to help identify the file ordering. - - - Gets or sets the ordered list of file name patterns (allows one prefix/suffix wildcard '*') that determines the relative ordering of these files in the bundle. For example, ["z.js", "b*", "*a", "a.js"]. - The ordered list of file name patterns that determines the relative ordering of these files in the bundle. - - - Gets or sets the name used to help identify the file ordering, for example, jquery. - The name used to help identify the file ordering. - - - Represents the XML configuration to configure the bundle collection. - - - Gets or sets the path to the bundle manifest file that sets up the . - The path to the bundle manifest file that sets up the . - - - Reads the bundle manifest using the default bundle configuration. - The bundle manifest. - - - Reads the bundle manifest from a given stream. - The bundle manifest. - The bundle stream to read from. - - - Gets the objects specified by the manifest file. - The objects specified by the manifest file. - - - Gets or sets the registered style bundles. - The registered style bundles. - - - Represents a module that enables bundling to intercept requests to bundle URLs. - - - Initializes a new instance of the class. - - - Disposes any resources used by the class. - - - Hooks the OnApplicationPostResolveRequestCache event to remap to the bundle handler. - The application that will receive the registration of the event. - - - Calls the Dispose() method. - - - Calls the Init method. - The application that will receive the registration of the event. - - - Represents a class that determine if a script reference is a bundle, and what it contains to prevent duplicate script references. - - - Initializes a new instance of the class. - - - Initializes a new instance of the class with the specified bundle. - The bundles of objects. - - - Initializes a new instance of the class with the specified bundle and context. - The bundles of object. - The HttpContextBase. - - - Gets or sets the ScriptManager that reflects against . - The ScriptManager that reflects against . - - - Returns an enumeration of actual file paths to the contents of the bundle. - The actual file paths to the contents of the bundle. - The virtual file path. - - - Gets the versioned url for the bundle or returns the virtualPath unchanged if it does not point to a bundle. - The versioned url for the bundle. - The virtual file path. - - - Determines if the virtualPath is to a bundle. - The virtualPath. - The virtual file path. - - - Encapsulates the response data that will be sent for a bundle request. - - - Initializes a new instance of the class. - - - - Gets or sets a value that is used to set the Cache-Control HTTP header. - A value that is used to set the Cache-Control HTTP header. - - - Gets or sets the content of the bundle which is sent as the response body. - The content of the bundle. - - - Gets or sets the media type that is sent in the HTTP content/type header. - The media type that is sent in the HTTP content/type header. - - - Gets or sets the list of files in the bundle. - The list of files in the bundle. - - - Static holder class for the default bundle collection. - - - Gets the default bundle collection. - The default bundle collection. - - - Gets or sets whether bundling and minification of bundle references is enabled. - true if bundling and minification of bundle references is enabled; otherwise, false. - - - Gets or sets the provider to be used in resolving bundle files. - The provider to be used in resolving bundle files. - - - Represents a that does CSS minification. - - - Initializes a new instance of the class. - - - Transforms the bundle contents by applying CSS minification. - The bundle context. - The bundle response object - - - - - - Represents the default logic which combines files in the bundle. - - - Initializes a new instance of the class. - - - - Default which orders files in a bundled using . - - - Initializes a new instance of the class. - - - - Represents a object that ASP.NET creates from a folder that contains files of the same type. - - - Initializes a new instance of the class. - The path suffix. - The search pattern. - - - Initializes a new instance of the class. - The path suffix. - The search pattern. - The search subdirectories. - - - Initializes a new instance of the class. - The path suffix. - The search pattern. - The search subdirectories. - The transform parameter. - - - Initializes a new instance of the class. - The path suffix. - The search pattern. - The transform parameter. - - - Gets or set the path of a Content Delivery Network (CDN) that contains the folder bundle. - The path of a Content Delivery Network (CDN) - - - Returns all the base methods files and any dynamic files found in the requested directory. - All the base methods files and any dynamic files found in the requested directory. - The bundle context. - - - Gets or sets the search pattern for the folder bundle. - The search pattern for the folder bundle. - - - Gets or sets whether the search pattern is applied to subdirectories. - true if the search pattern is applied to subdirectories; otherwise, false. - - - A set of file extensions that will be used to select different files based on the . - - - Initializes a new instance of the class. - - - Adds a file extension which will be applied regardless of . - File extension string. - - - Add a file extension for a specified . - File extension string. - - in which to apply the file extension replacement. - - - Clears file extension replacements. - - - - Specifies the building of the bundle from the individual file contents. - - - - Defines methods for ordering files within a . - - - - Represents an interface used to query the BundleCollection for metadata. - - - Returns a list of all the virtualPaths of the contents of the bundle. - The list of virtual path. - The virtual path for the bundle. - - - Returns the versioned URL of the bundle. - The versioned URL of the bundle. - The virtual path. - - - Specifies whether the virtual path is to a bundle. - true if the virtual path is to a bundle; Otherwise, false. - The virtual path. - - - Defines a method that transforms the files in a object. - - - Transforms the content in the object. - The bundle context. - The bundle response. - - - A list of filename patterns to be ignored and thereby excluded from bundles. - - - Initializes a new instance of the class. - - - Clears entire ignore list. - - - - Ignores the specified pattern regardless of the value set in . - The ignore pattern. - - - Ignores the specified pattern when in the appropriate . - The ignore pattern. - The in which to apply the ignore pattern. - - - Determines whether a file should be ignored based on the ignore list. - true if the filename matches a pattern in the ; otherwise, false. - The object that contains state for both the framework configuration and the HTTP request. - The name of the file to compare with the ignore list. - - - - - Represents a BundleTransform that does CSS Minification. - - - Initializes a new instance of the class. - - - Transforms the bundle contents by applying javascript minification. - The context associated with the bundle. - The . - - - OptimizationMode used by IgnoreList and FileExtensionReplacement. - - - Always: Always ignore - - - WhenDisabled: Only when BundleTable.EnableOptimization = false - - - WhenEnabled: Only when BundleTable.EnableOptimization = true - - - Configuration settings used by the class to generate bundle responses outside of ASP.NET applications. - - - Initializes a new instance of the class. - - - The physical file path to resolve the ‘~’ token in virtual paths. - The physical file path. - - - The path to the bundle manifest file that sets up the . - The path to the bundle manifest file that sets up the . - - - Gets or sets a callback function which is invoked after the bundle manifest is loaded to allow further customization of the bundle collection. - A callback function which is invoked after the bundle manifest is loaded to allow further customization of the bundle collection. - - - - Represents a standalone class for generating bundle responses outside of ASP.NET - - - - Builds a object from the declarations found in a bundle manifest file. - The bundle response for specified . - The path to the bundle being requested. - An object containing configuration settings for optimization. - - - Hooks up the BundleModule - - - Hooks up the BundleModule - - - Represents a bundle that does Js Minification. - - - Initializes a new instance of the class that takes a virtual path for the bundle. - The virtual path for the bundle. - - - Initializes a new instance of the class that takes virtual path and cdnPath for the bundle. - The virtual path for the bundle. - The path of a Content Delivery Network (CDN). - - - Represents a type that allows queuing and rendering script elements. - - - Gets or sets the default format string for defining how script tags are rendered. - The default format string for defining how script tags are rendered. - - - Renders script tags for the following paths. - The HTML string containing the script tag or tags for the bundle. - Set of virtual paths for which to generate script tags. - - - Renders script tags for a set of paths based on a format string. - The HTML string containing the script tag or tags for the bundle. - The format string for defining the rendered script tags. - Set of virtual paths for which to generate script tags. - - - Returns a fingerprinted URL if the is to a bundle, otherwise returns the resolve URL. - A that represents the URL. - The virtual path. - - - Represents a bundle that does CSS minification. - - - Initializes a new instance of the class with a virtual path for the bundle. - A virtual path for the bundle. - - - Initializes a new instance of the class with virtual path and CDN path for the bundle. - A virtual path for the bundle. - A CDN path for the bundle. - - - Represents a helper class for rendering link elements. - - - Gets or sets the default format string for defining how link tags are rendered. - The default format string for defining how link tags are rendered. - - - Renders link tags for a set of paths. - A HTML string containing the link tag or tags for the bundle. - Set of virtual paths for which to generate link tags. - - - Renders link tags for a set of paths based on a format string. - A HTML string containing the link tag or tags for the bundle. - Format string for defining the rendered link tags. - Set of virtual paths for which to generate link tags. - - - Generates a version-stamped URL for a bundle. - A fingerprinted URL. - The virtual file path. - - - \ No newline at end of file diff --git a/site/trunk/Bin/UnityEngine.dll b/site/trunk/Bin/UnityEngine.dll deleted file mode 100644 index 262ce0c..0000000 Binary files a/site/trunk/Bin/UnityEngine.dll and /dev/null differ diff --git a/site/trunk/Bin/WebGrease.dll b/site/trunk/Bin/WebGrease.dll deleted file mode 100644 index 1d308f8..0000000 Binary files a/site/trunk/Bin/WebGrease.dll and /dev/null differ diff --git a/site/trunk/Bin/WebGrease.dll.refresh b/site/trunk/Bin/WebGrease.dll.refresh deleted file mode 100644 index 997ffb0..0000000 Binary files a/site/trunk/Bin/WebGrease.dll.refresh and /dev/null differ diff --git a/site/trunk/Bin/Zxcvbn.XML b/site/trunk/Bin/Zxcvbn.XML deleted file mode 100644 index 8a469a4..0000000 --- a/site/trunk/Bin/Zxcvbn.XML +++ /dev/null @@ -1,853 +0,0 @@ - - - - Zxcvbn - - - - - This matcher factory will use all of the default password matchers. - - Default dictionary matchers use the built-in word lists: passwords, english, male_names, female_names, surnames - Also matching against: user data, all dictionaries with l33t substitutions - Other default matchers: repeats, sequences, digits, years, dates, spatial - - See and the classes that implement it for more information on each kind of pattern matcher. - - - - - Create a matcher factory that uses the default list of pattern matchers - - - - - Get instances of pattern matchers, adding in per-password matchers on userInputs (and userInputs with l33t substitutions) - - Enumerable of user information - Enumerable of matchers to use - - - - Interface that matcher factories must implement. Matcher factories return a list of the matchers - that will be used to evaluate the password - - - - - Create the matchers to be used by an instance of Zxcvbn. - - This function will be called once per each password being evaluated, to give the opportunity to provide - different user inputs for each password. Matchers that are not dependent on user inputs should ideally be created - once and cached so that processing (e.g. dictionary loading) will only have to be performed once, these cached - matchers plus any user input matches would then be returned when CreateMatchers is called. - - List of per-password user information for this invocation - An enumerable of objects that will be used to pattern match this password - - - - Useful shared Linq extensions - - - - - Used to group elements by a key function, but only where elements are adjacent - - Function used to choose the key for grouping - THe enumerable being grouped - An enumerable of - Type of key value used for grouping - Type of elements that are grouped - - - - A single grouping from the GroupAdjacent function, includes start and end indexes for the grouping in addition to standard IGrouping bits - - Type of grouped elements - Type of key used for grouping - - - - The key value for this grouping - - - - - The start index in the source enumerable for this group (i.e. index of first element) - - - - - The end index in the enumerable for this group (i.e. the index of the last element) - - - - - This matcher attempts to guess dates, with and without date separators. e.g. 1197 (could be 1/1/97) through to 18/12/2015. - - The format for matching dates is quite particular, and only detected years in the range 00-99 and 1900-2019 are considered by - this matcher. - - - - - Find date matches in - - The passsord to check - An enumerable of date matches - - - - - Determine whether a string resembles a date (year first or year last) - - - - - Determines whether a substring of a date string resembles a day and month (day-month or month-day) - - - - - A match found by the date matcher - - - - - The detected year - - - - - The detected month - - - - - The detected day - - - - - Where a date with separators is matched, this will contain the separator that was used (e.g. '/', '-') - - - - - This matcher reads in a list of words (in frequency order) and matches substrings of the password against that dictionary. - - The dictionary to be used can be specified directly by passing an enumerable of strings through the constructor (e.g. for - matching agains user inputs). Most dictionaries will be in word list files. - - Using external files is a departure from the JS version of Zxcvbn which bakes in the word lists, so the default dictionaries - have been included in the Zxcvbn assembly as embedded resources (to remove the external dependency). Thus when a word list is specified - by name, it is first checked to see if it matches and embedded resource and if not is assumed to be an external file. - - Thus custom dictionaries can be included by providing the name of an external text file, but the built-in dictionaries (english.lst, - female_names.lst, male_names.lst, passwords.lst, surnames.lst) can be used without concern about locating a dictionary file in an accessible - place. - - Dictionary word lists must be in decreasing frequency order and contain one word per line with no additional information. - - - - - Creates a new dictionary matcher. must be the path (relative or absolute) to a file containing one word per line, - entirely in lowercase, ordered by frequency (decreasing); or must be the name of a built-in dictionary. - - The name provided to the dictionary used - The filename of the dictionary (full or relative path) or name of built-in dictionary - - - - Creates a new dictionary matcher from the passed in word list. If there is any frequency order then they should be in - decreasing frequency order. - - - - - Match substrings of password agains the loaded dictionary - - The password to match - An enumerable of dictionary matches - - - - - Matches found by the dictionary matcher contain some additional information about the matched word. - - - - - The dictionary word matched - - - - - The rank of the matched word in the dictionary (i.e. 1 is most frequent, and larger numbers are less common words) - - - - - The name of the dictionary the matched word was found in - - - - - The base entropy of the match, calculated from frequency rank - - - - - Additional entropy for this match from the use of mixed case - - - - - All pattern matchers must implement the IMatcher interface. - - - - - This function is called once for each matcher for each password being evaluated. It should perform the matching process and return - an enumerable of Match objects for each match found. - - - - - - - This matcher applies some known l33t character substitutions and then attempts to match against passed in dictionary matchers. - This detects passwords like 4pple which has a '4' substituted for an 'a' - - - - - Create a l33t matcher that applies substitutions and then matches agains the passed in list of dictionary matchers. - - The list of dictionary matchers to check transformed passwords against - - - - Create a l33t matcher that applies substitutions and then matches agains a single dictionary matcher. - - The dictionary matcher to check transformed passwords against - - - - Apply applicable l33t transformations and check against the dictionaries. - - The password to check - A list of match objects where l33t substitutions match dictionary words - - - - - L33tMatcher results are like dictionary match results with some extra information that pertains to the extra entropy that - is garnered by using substitutions. - - - - - The extra entropy from using l33t substitutions - - - - - The character mappings that are in use for this match - - - - - Create a new l33t match from a dictionary match - - The dictionary match to initialise the l33t match from - - - - Create an empty l33t match - - - - - Use a regular expression to match agains the password. (e.g. 'year' and 'digits' pattern matchers are implemented with this matcher. - A note about cardinality: the cardinality parameter is used to calculate the entropy of matches found with the regex matcher. Since - this cannot be calculated automatically from the regex pattern it must be provided. It can be provided per-character or per-match. Per-match will - result in every match having the same entropy (lg cardinality) whereas per-character will depend on the match length (lg cardinality ^ length) - - - - - Create a new regex pattern matcher - - The regex pattern to match - The cardinality of this match. Since this cannot be calculated from a pattern it must be provided. Can - be give per-matched-character or per-match - True if cardinality is given as per-matched-character - The name to give this matcher ('pattern' in resulting matches) - - - - Create a new regex pattern matcher - - The regex object used to perform matching - The cardinality of this match. Since this cannot be calculated from a pattern it must be provided. Can - be give per-matched-character or per-match - True if cardinality is given as per-matched-character - The name to give this matcher ('pattern' in resulting matches) - - - - Find all matches of the regex in - - The password to check - An enumerable of matches for each regex match in - - - - Match repeated characters in the password (repeats must be more than two characters long to count) - - - - - Find repeat matches in - - The password to check - List of repeat matches - - - - - A match found with the RepeatMatcher - - - - - The character that was repeated - - - - - This matcher detects lexicographical sequences (and in reverse) e.g. abcd, 4567, PONML etc. - - - - - Find matching sequences in - - The password to check - Enumerable of sqeunec matches - - - - - A match made using the containing some additional sequence information. - - - - - The name of the sequence that the match was found in (e.g. 'lower', 'upper', 'digits') - - - - - The size of the sequence the match was found in (e.g. 26 for lowercase letters) - - - - - Whether the match was found in ascending order (cdefg) or not (zyxw) - - - - - A matcher that checks for keyboard layout patterns (e.g. 78523 on a keypad, or plkmn on a QWERTY keyboard). - Has patterns for QWERTY, DVORAK, numeric keybad and mac numeric keypad - The matcher accounts for shifted characters (e.g. qwErt or po9*7y) when detecting patterns as well as multiple changes in direction. - - - - - Match the password against the known keyboard layouts - - Password to match - List of matching patterns - - - - - Match the password against a single pattern - - Adjacency graph for this key layout - Password to match - List of matching patterns - - - - Returns true when testAdjacent is in c's adjacency list - - - - - Returns the 'direction' of the adjacent character (i.e. index in the adjacency list). - If the character is not adjacent, -1 is returned - - Uses the 'shifted' out parameter to let the caller know if the matched character is shifted - - - - - Calculate entropy for a math that was found on this adjacency graph - - - - - A match made with the . Contains additional information specific to spatial matches. - - - - - The name of the keyboard layout used to make the spatial match - - - - - The number of turns made (i.e. when diretion of adjacent keys changes) - - - - - The number of shifted characters matched in the pattern (adds to entropy) - - - - - Some useful shared functions used for evaluating passwords - - - - - Calculate the cardinality of the minimal character sets necessary to brute force the password (roughly) - (e.g. lowercase = 26, numbers = 10, lowercase + numbers = 36) - - THe password to evaluate - An estimation of the cardinality of charactes for this password - - - - Calculate a rough estimate of crack time for entropy, see zxcbn scoring.coffee for more information on the model used - - Entropy of password - An estimation of seconts taken to crack password - - - - Return a score for password strength from the crack time. Scores are 0..4, 0 being minimum and 4 maximum strength. - - Number of seconds estimated for password cracking - Password strength. 0 to 4, 0 is minimum - - - - Caclulate binomial coefficient (i.e. nCk) - Uses same algorithm as zxcvbn (cf. scoring.coffee), from http://blog.plover.com/math/choose.html - - k - n - Binomial coefficient; nCk - - - - Estimate the extra entropy in a token that comes from mixing upper and lowercase letters. - This has been moved to a static function so that it can be used in multiple entropy calculations. - - The word to calculate uppercase entropy for - An estimation of the entropy gained from casing in - - - - SWarning associated with the password analysis - - - - - Empty string - - - - - Straight rows of keys are easy to guess - - - - - Short keyboard patterns are easy to guess - - - - - Repeats like "aaa" are easy to guess - - - - - Repeats like "abcabcabc" are only slightly harder to guess than "abc" - - - - - Sequences like abc or 6543 are easy to guess - - - - - Recent years are easy to guess - - - - - Dates are often easy to guess - - - - - This is a top-10 common password - - - - - This is a top-100 common password - - - - - This is a very common password - - - - - This is similar to a commonly used password - - - - - A word by itself is easy to guess - - - - - Names and surnames by themselves are easy to guess - - - - - Common names and surnames are easy to guess - - - - - Empty String - - - - - Suggestion on how to improve the password base on zxcvbn's password analysis - - - - - Use a few words, avoid common phrases - No need for symbols, digits, or uppercase letters - - - - - Add another word or two. Uncommon words are better. - - - - - Use a longer keyboard pattern with more turns - - - - - Avoid repeated words and characters - - - - - Avoid sequences - - - - - Avoid recent years - Avoid years that are associated with you - - - - - Avoid dates and years that are associated with you - - - - - Capitalization doesn't help very much - - - - - All-uppercase is almost as easy to guess as all-lowercase - - - - - Reversed words aren't much harder to guess - - - - - Predictable substitutions like '@' instead of 'a' don't help very much - - - - - Empty String - - - - - The results of zxcvbn's password analysis - - - - - Result constructor initialize Suggestion list. - - - - - A calculated estimate of how many bits of entropy the password covers, rounded to three decimal places. - - - - - The number of milliseconds that zxcvbn took to calculate results for this password - - - - - An estimation of the crack time for this password in seconds - - - - - A friendly string for the crack time (like "centuries", "instant", "7 minutes", "14 hours" etc.) - - - - - A score from 0 to 4 (inclusive), with 0 being least secure and 4 being most secure calculated from crack time: - [0,1,2,3,4] if crack time is less than [10**2, 10**4, 10**6, 10**8, Infinity] seconds. - Useful for implementing a strength meter - - - - - The sequence of matches that were used to create the entropy calculation - - - - - The password that was used to generate these results - - - - - Warning on this password - - - - - Suggestion on how to improve the password - - - - - A single match that one of the pattern matchers has made against the password being tested. - - Some pattern matchers implement subclasses of match that can provide more information on their specific results. - - Matches must all have the , , , and - fields (i.e. all but the field, which is optional) set before being returned from the matcher - in which they are created. - - - - - The name of the pattern matcher used to generate this match - - - - - The portion of the password that was matched - - - - - The entropy that this portion of the password covers using the current pattern matching technique - - - - - Some pattern matchers can associate the cardinality of the set of possible matches that the - entropy calculation is derived from. Not all matchers provide a value for cardinality. - - - - - The start index in the password string of the matched token. - - - - - The end index in the password string of the matched token. - - - - - The supported languages. - - - - - A few useful extension methods used through the Zxcvbn project - - - - - Convert a number of seconds into a human readable form. Rounds up. - To be consistent with zxcvbn, it returns the unit + 1 (i.e. 60 * 10 seconds = 10 minutes would come out as "11 minutes" - this is probably to avoid ever needing to deal with plurals - - The time in seconds - The language in which the string is returned - A human-friendly time string - - - - Shortcut for string.Format - - Format args - Format string - Formatted string - - - - Reverse a string in one call - - String to reverse - String in reverse - - - - A convenience for parsing a substring as an int and returning the results. Uses TryParse, and so returns zero where there is no valid int - - Substring parsed as int or zero - Length of substring to parse - Start index of substring to parse - String to get substring of - True if the parse succeeds - - - - Quickly convert a string to an integer, uses TryParse so any non-integers will return zero - - String to parse into an int - Parsed int or zero - - - - Returns a list of the lines of text from an embedded resource in the assembly. - - The name of the resource to get the contents of - An enumerable of lines of text in the resource or null if the resource does not exist - - - - Get a translated string of the Warning - - Warning enum to get the string from - Language in which to return the string to. Default is English. - Warning string in the right language - - - - Get a translated string of the Warning - - Suggestion enum to get the string from - Language in which to return the string to. Default is English. - Suggestion string in the right language - - - - Zxcvbn is used to estimate the strength of passwords. - - This implementation is a port of the Zxcvbn JavaScript library by Dan Wheeler: - https://github.com/lowe/zxcvbn - - To quickly evaluate a password, use the static function. - - To evaluate a number of passwords, create an instance of this object and repeatedly call the function. - Reusing the the Zxcvbn instance will ensure that pattern matchers will only be created once rather than being recreated for each password - e=being evaluated. - - - - - Create a new instance of Zxcvbn that uses the default matchers. - - - - - Create an instance of Zxcvbn that will use the given matcher factory to create matchers to use - to find password weakness. - - The factory used to create the pattern matchers used - The language in which the strings are returned - - - - Perform the password matching on the given password and user inputs, returing the result structure with information - on the lowest entropy match found. - - User data will be treated as another kind of dictionary matching, but can be different for each password being evaluated.para> - - Password - Optionally, an enumarable of user data - Result for lowest entropy match - - - - Returns a new result structure initialised with data for the lowest entropy result of all of the matches passed in, adding brute-force - matches where there are no lesser entropy found pattern matches. - - Password being evaluated - List of matches found against the password - A result object for the lowest entropy match sequence - - - - A static function to match a password against the default matchers without having to create - an instance of Zxcvbn yourself, with supplied user data. - - Supplied user data will be treated as another kind of dictionary matching. - - the password to test - optionally, the user inputs list - The results of the password evaluation - - - diff --git a/site/trunk/Bin/Zxcvbn.dll b/site/trunk/Bin/Zxcvbn.dll deleted file mode 100644 index da0867a..0000000 Binary files a/site/trunk/Bin/Zxcvbn.dll and /dev/null differ diff --git a/site/trunk/Bin/itextsharp.dll b/site/trunk/Bin/itextsharp.dll deleted file mode 100644 index 8098b6a..0000000 Binary files a/site/trunk/Bin/itextsharp.dll and /dev/null differ diff --git a/site/trunk/Bin/itextsharp.xmlworker.dll b/site/trunk/Bin/itextsharp.xmlworker.dll deleted file mode 100644 index 5a55214..0000000 Binary files a/site/trunk/Bin/itextsharp.xmlworker.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/Microsoft.Build.Tasks.CodeAnalysis.dll b/site/trunk/Bin/roslyn/Microsoft.Build.Tasks.CodeAnalysis.dll deleted file mode 100644 index 3bf3618..0000000 Binary files a/site/trunk/Bin/roslyn/Microsoft.Build.Tasks.CodeAnalysis.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/Microsoft.CSharp.Core.targets b/site/trunk/Bin/roslyn/Microsoft.CSharp.Core.targets deleted file mode 100644 index d11c095..0000000 --- a/site/trunk/Bin/roslyn/Microsoft.CSharp.Core.targets +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - $(NoWarn);1701;1702 - - - - - $(NoWarn);2008 - - - - - $(AppConfig) - - - $(IntermediateOutputPath)$(TargetName).compile.pdb - - - - - - - - - <_CoreCompileResourceInputs Remove="@(_CoreCompileResourceInputs)" /> - - - - - \ No newline at end of file diff --git a/site/trunk/Bin/roslyn/Microsoft.CodeAnalysis.CSharp.Scripting.dll b/site/trunk/Bin/roslyn/Microsoft.CodeAnalysis.CSharp.Scripting.dll deleted file mode 100644 index 64dccd9..0000000 Binary files a/site/trunk/Bin/roslyn/Microsoft.CodeAnalysis.CSharp.Scripting.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/Microsoft.CodeAnalysis.CSharp.dll b/site/trunk/Bin/roslyn/Microsoft.CodeAnalysis.CSharp.dll deleted file mode 100644 index 5bc2c36..0000000 Binary files a/site/trunk/Bin/roslyn/Microsoft.CodeAnalysis.CSharp.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/Microsoft.CodeAnalysis.Scripting.dll b/site/trunk/Bin/roslyn/Microsoft.CodeAnalysis.Scripting.dll deleted file mode 100644 index 9532a7f..0000000 Binary files a/site/trunk/Bin/roslyn/Microsoft.CodeAnalysis.Scripting.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/Microsoft.CodeAnalysis.VisualBasic.dll b/site/trunk/Bin/roslyn/Microsoft.CodeAnalysis.VisualBasic.dll deleted file mode 100644 index 95276b8..0000000 Binary files a/site/trunk/Bin/roslyn/Microsoft.CodeAnalysis.VisualBasic.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/Microsoft.CodeAnalysis.dll b/site/trunk/Bin/roslyn/Microsoft.CodeAnalysis.dll deleted file mode 100644 index 24009d3..0000000 Binary files a/site/trunk/Bin/roslyn/Microsoft.CodeAnalysis.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/Microsoft.DiaSymReader.Native.amd64.dll b/site/trunk/Bin/roslyn/Microsoft.DiaSymReader.Native.amd64.dll deleted file mode 100644 index e376a20..0000000 Binary files a/site/trunk/Bin/roslyn/Microsoft.DiaSymReader.Native.amd64.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/Microsoft.DiaSymReader.Native.x86.dll b/site/trunk/Bin/roslyn/Microsoft.DiaSymReader.Native.x86.dll deleted file mode 100644 index 5ebef7f..0000000 Binary files a/site/trunk/Bin/roslyn/Microsoft.DiaSymReader.Native.x86.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/Microsoft.VisualBasic.Core.targets b/site/trunk/Bin/roslyn/Microsoft.VisualBasic.Core.targets deleted file mode 100644 index 66be663..0000000 --- a/site/trunk/Bin/roslyn/Microsoft.VisualBasic.Core.targets +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - <_NoWarnings Condition="'$(WarningLevel)' == '0'">true - <_NoWarnings Condition="'$(WarningLevel)' == '1'">false - - - - - $(IntermediateOutputPath)$(TargetName).compile.pdb - - - - - - - - <_CoreCompileResourceInputs Remove="@(_CoreCompileResourceInputs)" /> - - - - - \ No newline at end of file diff --git a/site/trunk/Bin/roslyn/System.AppContext.dll b/site/trunk/Bin/roslyn/System.AppContext.dll deleted file mode 100644 index 5cb9dfb..0000000 Binary files a/site/trunk/Bin/roslyn/System.AppContext.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.Collections.Immutable.dll b/site/trunk/Bin/roslyn/System.Collections.Immutable.dll deleted file mode 100644 index ce6fc0e..0000000 Binary files a/site/trunk/Bin/roslyn/System.Collections.Immutable.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.Console.dll b/site/trunk/Bin/roslyn/System.Console.dll deleted file mode 100644 index f47e609..0000000 Binary files a/site/trunk/Bin/roslyn/System.Console.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.Diagnostics.FileVersionInfo.dll b/site/trunk/Bin/roslyn/System.Diagnostics.FileVersionInfo.dll deleted file mode 100644 index 77248bf..0000000 Binary files a/site/trunk/Bin/roslyn/System.Diagnostics.FileVersionInfo.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.Diagnostics.StackTrace.dll b/site/trunk/Bin/roslyn/System.Diagnostics.StackTrace.dll deleted file mode 100644 index 5ec85f3..0000000 Binary files a/site/trunk/Bin/roslyn/System.Diagnostics.StackTrace.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.IO.Compression.dll b/site/trunk/Bin/roslyn/System.IO.Compression.dll deleted file mode 100644 index f8468a6..0000000 Binary files a/site/trunk/Bin/roslyn/System.IO.Compression.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.IO.FileSystem.Primitives.dll b/site/trunk/Bin/roslyn/System.IO.FileSystem.Primitives.dll deleted file mode 100644 index ad9c238..0000000 Binary files a/site/trunk/Bin/roslyn/System.IO.FileSystem.Primitives.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.IO.FileSystem.dll b/site/trunk/Bin/roslyn/System.IO.FileSystem.dll deleted file mode 100644 index 7c43977..0000000 Binary files a/site/trunk/Bin/roslyn/System.IO.FileSystem.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.IO.Pipes.AccessControl.dll b/site/trunk/Bin/roslyn/System.IO.Pipes.AccessControl.dll deleted file mode 100644 index 59cff80..0000000 Binary files a/site/trunk/Bin/roslyn/System.IO.Pipes.AccessControl.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.IO.Pipes.dll b/site/trunk/Bin/roslyn/System.IO.Pipes.dll deleted file mode 100644 index f0b233a..0000000 Binary files a/site/trunk/Bin/roslyn/System.IO.Pipes.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.Reflection.Metadata.dll b/site/trunk/Bin/roslyn/System.Reflection.Metadata.dll deleted file mode 100644 index ee68731..0000000 Binary files a/site/trunk/Bin/roslyn/System.Reflection.Metadata.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.Security.AccessControl.dll b/site/trunk/Bin/roslyn/System.Security.AccessControl.dll deleted file mode 100644 index ea65f02..0000000 Binary files a/site/trunk/Bin/roslyn/System.Security.AccessControl.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.Security.Claims.dll b/site/trunk/Bin/roslyn/System.Security.Claims.dll deleted file mode 100644 index 4e28e4c..0000000 Binary files a/site/trunk/Bin/roslyn/System.Security.Claims.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.Security.Cryptography.Algorithms.dll b/site/trunk/Bin/roslyn/System.Security.Cryptography.Algorithms.dll deleted file mode 100644 index fa8ad65..0000000 Binary files a/site/trunk/Bin/roslyn/System.Security.Cryptography.Algorithms.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.Security.Cryptography.Encoding.dll b/site/trunk/Bin/roslyn/System.Security.Cryptography.Encoding.dll deleted file mode 100644 index de1ec5e..0000000 Binary files a/site/trunk/Bin/roslyn/System.Security.Cryptography.Encoding.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.Security.Cryptography.Primitives.dll b/site/trunk/Bin/roslyn/System.Security.Cryptography.Primitives.dll deleted file mode 100644 index 16b2446..0000000 Binary files a/site/trunk/Bin/roslyn/System.Security.Cryptography.Primitives.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.Security.Cryptography.X509Certificates.dll b/site/trunk/Bin/roslyn/System.Security.Cryptography.X509Certificates.dll deleted file mode 100644 index e6af960..0000000 Binary files a/site/trunk/Bin/roslyn/System.Security.Cryptography.X509Certificates.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.Security.Principal.Windows.dll b/site/trunk/Bin/roslyn/System.Security.Principal.Windows.dll deleted file mode 100644 index 06601a1..0000000 Binary files a/site/trunk/Bin/roslyn/System.Security.Principal.Windows.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.Text.Encoding.CodePages.dll b/site/trunk/Bin/roslyn/System.Text.Encoding.CodePages.dll deleted file mode 100644 index 0f2f447..0000000 Binary files a/site/trunk/Bin/roslyn/System.Text.Encoding.CodePages.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.ValueTuple.dll b/site/trunk/Bin/roslyn/System.ValueTuple.dll deleted file mode 100644 index 78a1851..0000000 Binary files a/site/trunk/Bin/roslyn/System.ValueTuple.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.Xml.ReaderWriter.dll b/site/trunk/Bin/roslyn/System.Xml.ReaderWriter.dll deleted file mode 100644 index 3d5103b..0000000 Binary files a/site/trunk/Bin/roslyn/System.Xml.ReaderWriter.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.Xml.XPath.XDocument.dll b/site/trunk/Bin/roslyn/System.Xml.XPath.XDocument.dll deleted file mode 100644 index ada40e0..0000000 Binary files a/site/trunk/Bin/roslyn/System.Xml.XPath.XDocument.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.Xml.XPath.dll b/site/trunk/Bin/roslyn/System.Xml.XPath.dll deleted file mode 100644 index 86a25a3..0000000 Binary files a/site/trunk/Bin/roslyn/System.Xml.XPath.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/System.Xml.XmlDocument.dll b/site/trunk/Bin/roslyn/System.Xml.XmlDocument.dll deleted file mode 100644 index cf138d3..0000000 Binary files a/site/trunk/Bin/roslyn/System.Xml.XmlDocument.dll and /dev/null differ diff --git a/site/trunk/Bin/roslyn/VBCSCompiler.exe b/site/trunk/Bin/roslyn/VBCSCompiler.exe deleted file mode 100644 index 65c3f58..0000000 Binary files a/site/trunk/Bin/roslyn/VBCSCompiler.exe and /dev/null differ diff --git a/site/trunk/Bin/roslyn/VBCSCompiler.exe.config b/site/trunk/Bin/roslyn/VBCSCompiler.exe.config deleted file mode 100644 index 7a1d4f9..0000000 --- a/site/trunk/Bin/roslyn/VBCSCompiler.exe.config +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/trunk/Bin/roslyn/csc.exe b/site/trunk/Bin/roslyn/csc.exe deleted file mode 100644 index f5b0be9..0000000 Binary files a/site/trunk/Bin/roslyn/csc.exe and /dev/null differ diff --git a/site/trunk/Bin/roslyn/csc.exe.config b/site/trunk/Bin/roslyn/csc.exe.config deleted file mode 100644 index d37e826..0000000 --- a/site/trunk/Bin/roslyn/csc.exe.config +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/trunk/Bin/roslyn/csc.rsp b/site/trunk/Bin/roslyn/csc.rsp deleted file mode 100644 index be7661d..0000000 --- a/site/trunk/Bin/roslyn/csc.rsp +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -# This file contains command-line options that the C# -# command line compiler (CSC) will process as part -# of every compilation, unless the "/noconfig" option -# is specified. - -# Reference the common Framework libraries -/r:Accessibility.dll -/r:Microsoft.CSharp.dll -/r:System.Configuration.dll -/r:System.Configuration.Install.dll -/r:System.Core.dll -/r:System.Data.dll -/r:System.Data.DataSetExtensions.dll -/r:System.Data.Linq.dll -/r:System.Data.OracleClient.dll -/r:System.Deployment.dll -/r:System.Design.dll -/r:System.DirectoryServices.dll -/r:System.dll -/r:System.Drawing.Design.dll -/r:System.Drawing.dll -/r:System.EnterpriseServices.dll -/r:System.Management.dll -/r:System.Messaging.dll -/r:System.Runtime.Remoting.dll -/r:System.Runtime.Serialization.dll -/r:System.Runtime.Serialization.Formatters.Soap.dll -/r:System.Security.dll -/r:System.ServiceModel.dll -/r:System.ServiceModel.Web.dll -/r:System.ServiceProcess.dll -/r:System.Transactions.dll -/r:System.Web.dll -/r:System.Web.Extensions.Design.dll -/r:System.Web.Extensions.dll -/r:System.Web.Mobile.dll -/r:System.Web.RegularExpressions.dll -/r:System.Web.Services.dll -/r:System.Windows.Forms.dll -/r:System.Workflow.Activities.dll -/r:System.Workflow.ComponentModel.dll -/r:System.Workflow.Runtime.dll -/r:System.Xml.dll -/r:System.Xml.Linq.dll diff --git a/site/trunk/Bin/roslyn/csi.exe b/site/trunk/Bin/roslyn/csi.exe deleted file mode 100644 index 76d5a82..0000000 Binary files a/site/trunk/Bin/roslyn/csi.exe and /dev/null differ diff --git a/site/trunk/Bin/roslyn/csi.exe.config b/site/trunk/Bin/roslyn/csi.exe.config deleted file mode 100644 index 124eff3..0000000 --- a/site/trunk/Bin/roslyn/csi.exe.config +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/trunk/Bin/roslyn/csi.rsp b/site/trunk/Bin/roslyn/csi.rsp deleted file mode 100644 index 6089f39..0000000 --- a/site/trunk/Bin/roslyn/csi.rsp +++ /dev/null @@ -1,14 +0,0 @@ -/r:System -/r:System.Core -/r:Microsoft.CSharp -/r:System.ValueTuple.dll -/u:System -/u:System.IO -/u:System.Collections.Generic -/u:System.Console -/u:System.Diagnostics -/u:System.Dynamic -/u:System.Linq -/u:System.Linq.Expressions -/u:System.Text -/u:System.Threading.Tasks \ No newline at end of file diff --git a/site/trunk/Bin/roslyn/vbc.exe b/site/trunk/Bin/roslyn/vbc.exe deleted file mode 100644 index a14b038..0000000 Binary files a/site/trunk/Bin/roslyn/vbc.exe and /dev/null differ diff --git a/site/trunk/Bin/roslyn/vbc.exe.config b/site/trunk/Bin/roslyn/vbc.exe.config deleted file mode 100644 index d37e826..0000000 --- a/site/trunk/Bin/roslyn/vbc.exe.config +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/trunk/Bin/roslyn/vbc.rsp b/site/trunk/Bin/roslyn/vbc.rsp deleted file mode 100644 index 52b4cac..0000000 --- a/site/trunk/Bin/roslyn/vbc.rsp +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -# This file contains command-line options that the VB -# command line compiler (VBC) will process as part -# of every compilation, unless the "/noconfig" option -# is specified. - -# Reference the common Framework libraries -/r:Accessibility.dll -/r:System.Configuration.dll -/r:System.Configuration.Install.dll -/r:System.Data.dll -/r:System.Data.OracleClient.dll -/r:System.Deployment.dll -/r:System.Design.dll -/r:System.DirectoryServices.dll -/r:System.dll -/r:System.Drawing.Design.dll -/r:System.Drawing.dll -/r:System.EnterpriseServices.dll -/r:System.Management.dll -/r:System.Messaging.dll -/r:System.Runtime.Remoting.dll -/r:System.Runtime.Serialization.Formatters.Soap.dll -/r:System.Security.dll -/r:System.ServiceProcess.dll -/r:System.Transactions.dll -/r:System.Web.dll -/r:System.Web.Mobile.dll -/r:System.Web.RegularExpressions.dll -/r:System.Web.Services.dll -/r:System.Windows.Forms.dll -/r:System.XML.dll - -/r:System.Workflow.Activities.dll -/r:System.Workflow.ComponentModel.dll -/r:System.Workflow.Runtime.dll -/r:System.Runtime.Serialization.dll -/r:System.ServiceModel.dll - -/r:System.Core.dll -/r:System.Xml.Linq.dll -/r:System.Data.Linq.dll -/r:System.Data.DataSetExtensions.dll -/r:System.Web.Extensions.dll -/r:System.Web.Extensions.Design.dll -/r:System.ServiceModel.Web.dll - -# Import System and Microsoft.VisualBasic -/imports:System -/imports:Microsoft.VisualBasic -/imports:System.Linq -/imports:System.Xml.Linq - -/optioninfer+ diff --git a/site/trunk/Caps.aspx b/site/trunk/Caps.aspx deleted file mode 100644 index 6579749..0000000 --- a/site/trunk/Caps.aspx +++ /dev/null @@ -1,189 +0,0 @@ -<%@ Page Title="Kim Possible Fan World .:::. Kim Possible Screencaps" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Caps.aspx.cs" Inherits="kpfw.Caps" %> - - - - -
-
-

Kim Possible Screen Caps

- -

Keep checking back as we continue to add more episodes! We currently have screen captures of Kim Possible, Ron Stoppable, Rufus, Dr. Drakken, Shego, and the rest of the gang!

-

Don't see your favorite cap? The system we use takes a screenshot once every second, so we know it misses some great shots now and then. Request those here and watch for them!

-
- - -

Season 1

-
-
    - - -
  1. - -
  2. -
    - -
-
- -
- - - -

Season 2

-
-
    - - -
  1. - -
  2. -
    - -
-
- -
- - - -

Season 3

-
-
    - - -
  1. - -
  2. -
    - -
-
- -
- - - -

Season 4

-
-
    - - -
  1. - -
  2. -
    - -
-
- -
- - - -

Movies

-
-
    - - -
  1. - -
  2. -
    - -
-
- -
- - - -

Miscellaneous

-
-
    - - -
  1. - -
  2. -
    - -
-
- -
-
- -

-

- - - - - - - - - - - -
-
-
-
- - - - - \ No newline at end of file diff --git a/site/trunk/Caps.aspx.cs b/site/trunk/Caps.aspx.cs deleted file mode 100644 index b88c53e..0000000 --- a/site/trunk/Caps.aspx.cs +++ /dev/null @@ -1,321 +0,0 @@ -using Amazon.Runtime; -using Amazon.S3; -using Amazon.S3.Model; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Web; -using System.Web.UI; -using System.Web.UI.HtmlControls; -using System.Web.UI.WebControls; - -namespace kpfw -{ - public partial class Caps : System.Web.UI.Page - { - private static string[] d3 = { "the-secret-files-wacko-bad-guys", "could-it-be", "get-your-shine-on", "its-just-you", "say-the-word", "the-naked-mole-rap", - "so-the-drama-deleted-scenes", "kim-possible-tv-ad", "the-villain-files-opening", "the-villain-files-villain-party", "rufus-vs-commodore-puddles", "day-of-the-snowmen" }; - protected string EpTitle { get { return ViewState["EpTitle"] as string ?? ""; } set { ViewState["EpTitle"] = value; } } - protected void Page_Load(object sender, EventArgs e) - { - if (Request.RawUrl.EndsWith("/")) - { - Response.RedirectPermanent("/" + Request.RawUrl.Trim('/')); - return; - } - if (!IsPostBack) - { - if (Page.RouteData.Values["Episode"] == null) - { - pnlEpList.Visible = true; - pnlThumbs.Visible = false; - rptSeason1.DataSource = EpCapsList.S1List; - rptSeason1.DataBind(); - rptSeason2.DataSource = EpCapsList.S2List; - rptSeason2.DataBind(); - rptSeason3.DataSource = EpCapsList.S3List; - rptSeason3.DataBind(); - rptSeason4.DataSource = EpCapsList.S4List; - rptSeason4.DataBind(); - rptMovies.DataSource = EpCapsList.MovieList; - rptMovies.DataBind(); - rptMisc.DataSource = EpCapsList.MiscList; - rptMisc.DataBind(); - - int capCount = 0; - foreach (var l in EpCapsList.S1List) - capCount += l.Count; - foreach (var l in EpCapsList.S2List) - capCount += l.Count; - foreach (var l in EpCapsList.S3List) - capCount += l.Count; - foreach (var l in EpCapsList.S4List) - capCount += l.Count; - foreach (var l in EpCapsList.MovieList) - capCount += l.Count; - foreach (var l in EpCapsList.MiscList) - capCount += l.Count; - - ltlCapCount.Text = capCount.ToString("N0"); - MetaDescription = $"We have {capCount:N0} Kim Possible screen shots, caps, memes, etc"; - } - else - { - pnlEpList.Visible = false; - pnlThumbs.Visible = true; - plhCapsScript.Visible = true; - bool isValid = false; - string episodeUrl = Page.RouteData.Values["Episode"].ToString(); - string epUrl = episodeUrl; - if (episodeUrl.ToLower().Contains("_") && !episodeUrl.ToLower().Contains("veiwpic")) - { - episodeUrl = episodeUrl.ToLower().Replace(".php", "").Replace("_", "-"); - } - EpisodeTitle ep = EpCapsList.S1List.Where(p => p.UrlLabel == episodeUrl).SingleOrDefault(); - if (ep != null && !String.IsNullOrWhiteSpace(ep.Title)) - isValid = true; - if (ep == null) - { - ep = EpCapsList.S2List.Where(p => p.UrlLabel == episodeUrl).SingleOrDefault(); - if (!String.IsNullOrWhiteSpace(ep?.Title)) - isValid = true; - } - if (ep == null) - { - ep = EpCapsList.S3List.Where(p => p.UrlLabel == episodeUrl).SingleOrDefault(); - if (!String.IsNullOrWhiteSpace(ep?.Title)) - isValid = true; - } - if (ep == null) - { - ep = EpCapsList.S4List.Where(p => p.UrlLabel == episodeUrl).SingleOrDefault(); - if (!String.IsNullOrWhiteSpace(ep?.Title)) - isValid = true; - } - if (ep == null) - { - ep = EpCapsList.MovieList.Where(p => p.UrlLabel == episodeUrl).SingleOrDefault(); - if (!String.IsNullOrWhiteSpace(ep?.Title)) - isValid = true; - } - if (ep == null) - { - ep = EpCapsList.MiscList.Where(p => p.UrlLabel == episodeUrl).SingleOrDefault(); - if (!String.IsNullOrWhiteSpace(ep?.Title)) - isValid = true; - } - if (RedirectTable.CapsList.ContainsKey(epUrl)) - { - if (RedirectTable.CapsList[epUrl].StartsWith("/")) - Response.RedirectPermanent(RedirectTable.CapsList[epUrl]); - else - Response.RedirectPermanent($"/Caps/{RedirectTable.CapsList[epUrl]}"); - return; - } - if (!isValid) - { - using (FileStream fs = new FileStream(Server.MapPath("~/App_Data/Urls.txt"), FileMode.Append)) - { - byte[] url = System.Text.Encoding.UTF8.GetBytes(Request.RawUrl + "\r\n"); - fs.Write(url, 0, url.Length); - } - Response.Redirect("/Caps"); - return; - } - if (isValid && epUrl.ToLower().Contains("_")) - { - Response.RedirectPermanent("/Caps/" + episodeUrl); - return; - } - ltlEpTitle.Text = ep.Title; - EpTitle = ep.Title; - Title = $"{ep.Title} Screen Captures | Kim Possible Fan World"; - Episode epDetails = Episode.GetByUrl(ep.UrlLabel); - MetaDescription = epDetails?.Description; - pDescription.InnerText = epDetails?.Description; - if (epDetails != null) - { - pDescription.InnerHtml += " Contact Us to suggest edits and corrections!"; - } - List MenuItems = new List(); - IEnumerable caps = new List(); - if (ep.Count == -1) - { - BasicAWSCredentials cred = new BasicAWSCredentials("", ""); - AmazonS3Client c = new AmazonS3Client(cred, Amazon.RegionEndpoint.USWest2); - List objs = new List(); - var items = c.ListObjectsV2(new ListObjectsV2Request() { BucketName = "kpfw", Prefix = $"caps/{ep.CDNPath}/thumbs/" }); - //var items = c.ListObjectsV2(new ListObjectsV2Request() { BucketName = "kpfw", Prefix = "caps/", Delimiter = "/" }); - //List folders = items.CommonPrefixes; - //bltItems.DataSource = folders; - //bltItems.DataBind(); - string contToken = items.NextContinuationToken; - foreach (var s3 in items.S3Objects) - { - if (s3.Key == items.Prefix) - continue; - objs.Add(s3); - } - - while (items.S3Objects.Count > 0 && contToken != null) - { - items = c.ListObjectsV2(new ListObjectsV2Request() { BucketName = "kpfw", Prefix = $"caps/{ep.CDNPath}/thumbs/", ContinuationToken = contToken }); - contToken = items.NextContinuationToken; - if (items.S3Objects.Count == 0) - break; - - foreach (var s3 in items.S3Objects) - { - objs.Add(s3); - } - } - caps = objs.OrderBy(s => s.Key); - try - { - caps = objs.OrderBy(s => Convert.ToInt32(s.Key.Replace($"caps/{ep.CDNPath}/thumbs/Image", "").Replace("_thumb.jpg", ""))).ToList(); - } - catch { } - MenuItems.Add($"/Caps/{ep.UrlLabel}"); - int item = 100; - ViewState["maxNum"] = caps.Count(); - while (item < caps.Count()) - { - MenuItems.Add($"/Caps/{ep.UrlLabel}/{item}"); - item += 100; - } - } - else - { - int ic = 0; - string fmt = "D4"; - if (d3.Contains(ep.UrlLabel)) - fmt = "D3"; - if (ep.UrlLabel == "so-the-drama") - fmt = "D"; - while (ic < ep.Count) - { - ((List)caps).Add(new S3Object { BucketName = "kpfw", Key = $"caps/{ep.CDNPath}/thumbs/Image" + String.Format("{0:" + fmt + "}", ic + 1) + "_thumb.jpg" }); - ic++; - } - MenuItems.Add($"/Caps/{ep.UrlLabel}"); - int item = 100; - ViewState["maxNum"] = ep.Count; - while (item < ep.Count) - { - MenuItems.Add($"/Caps/{ep.UrlLabel}/{item}"); - item += 100; - } - } - rptMenu.DataSource = MenuItems; - rptMenu.DataBind(); - int startNum = 0; - if (Page.RouteData.Values["StartNum"] != null) - { - try - { - startNum = Convert.ToInt32(Page.RouteData.Values["StartNum"]); - int diff = startNum % 100; - if (diff != 0) - { - startNum -= diff; - Response.Redirect($"/Caps/{ep.UrlLabel}/{startNum}"); - return; - } - } - catch (FormatException) - { - Response.RedirectPermanent($"/Caps/{ep.UrlLabel}"); - return; - } - } - caps = caps.Skip(startNum); - if (caps.Count() > 100) - caps = caps.Take(100); - - rptThumbnails.DataSource = caps; - rptThumbnails.DataBind(); - //bltItems.DataSource = caps; - //bltItems.DataTextField = "key"; - //bltItems.DataBind(); - } - } - } - - protected void rptSeason_ItemDataBound(object sender, RepeaterItemEventArgs e) - { - if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) - { - EpisodeTitle i = (EpisodeTitle)e.Item.DataItem; - HyperLink hlk = e.Item.FindControl("hlk") as HyperLink; - - hlk.Text = i.Title; - hlk.NavigateUrl = "/Caps/" + i.UrlLabel; - hlk.Enabled = i.CDNPath != ""; - } - } - - protected void rptThumbnails_ItemDataBound(object sender, RepeaterItemEventArgs e) - { - if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) - { - S3Object i = (S3Object)e.Item.DataItem; - HyperLink img = e.Item.FindControl("imgThumbnail") as HyperLink; - - img.ImageUrl = "https:" + "//cdn.kpfanworld.com/" + i.Key; - img.NavigateUrl = "https:" + "//cdn.kpfanworld.com/" + i.Key.Replace("/thumbs", "").Replace("_thumb", ""); - } - } - - protected void rptMenu_ItemDataBound(object sender, RepeaterItemEventArgs e) - { - if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) - { - string item = (string)e.Item.DataItem; - HtmlAnchor anc = e.Item.FindControl("ancMenuItem") as HtmlAnchor; - Literal ltl = e.Item.FindControl("ltlMenuItem") as Literal; - - int curr = 1; - if (Page.RouteData.Values["StartNum"] != null) - { - try - { - curr = Convert.ToInt32(Page.RouteData.Values["StartNum"]); - } - catch (FormatException) - { - Response.RedirectPermanent($"/Caps/{Page.RouteData.Values["Episode"]}"); - return; - } - } - anc.HRef = item; - string[] items = item.Trim('/').Split('/'); - if (items.Length == 2 || items[2] == "") - { - anc.Visible = curr > 1; - ltl.Visible = curr == 1; - anc.InnerText = ltl.Text = "1-100"; - } - else - { - try - { - int start = Int32.Parse(items[2]); - int max = (int)ViewState["maxNum"]; - int end = start + 100; - if (end > max) - end = max; - anc.InnerText = ltl.Text = start + "-" + end; - anc.Visible = curr != start; - ltl.Visible = curr == start; - } - catch (FormatException) - { - Response.RedirectPermanent($"/Caps/{items[1]}"); - return; - } - } - } - } - } -} \ No newline at end of file diff --git a/site/trunk/Chat.aspx b/site/trunk/Chat.aspx deleted file mode 100644 index a74a526..0000000 --- a/site/trunk/Chat.aspx +++ /dev/null @@ -1,33 +0,0 @@ -<%@ Page Title="Chat" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Chat.aspx.cs" Inherits="Chat" %> - - - - -
-
-

Chat

-

Discord

-

Join our Discord server and join in the discussion about Kim Possible and anything else! It's family friendly so anyone can join.

-

Discord is a new and upcoming chat server platform that operates similar to Skype, TeamSpeak, etc. It's easy to use and has a web interface as well.

-

Discord Server: http://discord.gg/EcNzjcG

- - - - -

IRC

- -

Launch web client: http://cgiirc.blitzed.org/?adv=1&chan=%23kpfw

-

Registration is not required and there is no password required to gain access to the chat area. If you're new to IRC, you may refer to this if you wish. You may use any of the following 3rd party clients to access the chat area:

-
    -
  • mIRC - {Free for 30 days $20 after that} Windows
  • -
  • Trillian - {Trillian Basic is free w/ IRC support} Windows (recommended)
  • -
  • Mutter - {Free} iOS (recommended)
  • -
  • AndroIRC - {Free /w ads or $2.90} Android
  • -
-
-
-
-
diff --git a/site/trunk/Chat.aspx.cs b/site/trunk/Chat.aspx.cs deleted file mode 100644 index 0e0b76e..0000000 --- a/site/trunk/Chat.aspx.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; - -public partial class Chat : System.Web.UI.Page -{ - protected void Page_Load(object sender, EventArgs e) - { - MetaDescription = "Join our Discord server and join in the discussion about Kim Possible and anything else! It's family friendly so anyone can join."; - } -} \ No newline at end of file diff --git a/site/trunk/Confirm.aspx b/site/trunk/Confirm.aspx deleted file mode 100644 index b9946c0..0000000 --- a/site/trunk/Confirm.aspx +++ /dev/null @@ -1,20 +0,0 @@ -<%@ Page Title="Kim Possible Fan World .:::. Confirm Account" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Confirm.aspx.cs" Inherits="kpfw.ConfirmPage" %> - - - - -
-
-

Confirm Account

- -

Congratulations! You have confirmed you're human and your account is now active.

-
- -

Darn! Sorry, there was a problem activating your account. Please make sure you copy the URL in your email exactly and don't include extra spaces or leave off characters on the end.

-

If there's a problem with the website, we are probably aware of it and will work to fix it. Please try again later. If you continue to have problems please contact us immediately.

-
-
-
-
- - \ No newline at end of file diff --git a/site/trunk/Confirm.aspx.cs b/site/trunk/Confirm.aspx.cs deleted file mode 100644 index 679d3c7..0000000 --- a/site/trunk/Confirm.aspx.cs +++ /dev/null @@ -1,55 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.Security; -using System.Web.UI; -using System.Web.UI.WebControls; - -namespace kpfw -{ - public partial class ConfirmPage : System.Web.UI.Page - { - protected void Page_Load(object sender, EventArgs e) - { - if (!IsPostBack) - { - if (Page.RouteData.Values["EmailConfirmation"] != null) - { - if (!Guid.TryParse(Page.RouteData.Values["EmailConfirmation"].ToString(), out Guid confirmation)) - { - plhError.Visible = true; - plhSuccess.Visible = false; - } - else - { - if (!kpfw.User.ConfirmationExists(confirmation)) - { - plhError.Visible = true; - plhSuccess.Visible = false; - } - else - { - string userName = kpfw.User.GetUser(confirmation); - kpfw.User.Activate(confirmation); - - FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(userName, false, 30); - string encryptedTicket = FormsAuthentication.Encrypt(authTicket); - HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket); - cookie.Expires = authTicket.Expiration; - HttpContext.Current.Response.Cookies.Set(cookie); - - plhError.Visible = false; - plhSuccess.Visible = true; - } - } - } - else - { - plhError.Visible = true; - plhSuccess.Visible = false; - } - } - } - } -} \ No newline at end of file diff --git a/site/trunk/Contact.aspx b/site/trunk/Contact.aspx deleted file mode 100644 index b9b78b8..0000000 --- a/site/trunk/Contact.aspx +++ /dev/null @@ -1,61 +0,0 @@ -<%@ Page Title="Kim Possible Fan World .:::. Contact Us" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Contact.aspx.cs" Inherits="kpfw.Contact" %> - - - - -
- - -
-
-

Contact Us

-

Yo! Question? Comment? Something we can do better? Drop us a line and let us know!

-

Just as a friendly reminder, we do not represent The Walt Disney Company and we have no influence there. We can't help you with getting Kim Possible in your country, for example. If you want to get a hold of Disney, we recommend you check out Save Disney Shows. They have all the information you need!

-
-
- -
- - -
-
- - -
-
- - -
-
- - -
-
-
-
-
- -

- -

-
-
-
-
- -
-

Thank you for contacting us! We will try to get back to you as soon as possible!

-
-
-
-
- - \ No newline at end of file diff --git a/site/trunk/Contact.aspx.cs b/site/trunk/Contact.aspx.cs deleted file mode 100644 index 3d8dddf..0000000 --- a/site/trunk/Contact.aspx.cs +++ /dev/null @@ -1,91 +0,0 @@ -using Robo; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Net; -using System.Net.Mail; -using System.Web; -using System.Web.Script.Serialization; -using System.Web.UI; -using System.Web.UI.WebControls; - -namespace kpfw -{ - public partial class Contact : System.Web.UI.Page - { - protected void Page_Load(object sender, EventArgs e) - { - - } - - protected void btnSubmit_Click(object sender, EventArgs e) - { - if (!IsValid) - return; - if (!VerifyReCaptcha()) - return; - if (ContactReason.Text != "") - return; - - MailMessage m = new MailMessage("contact@kpfanworld.com", "contact@kpfanworld.com"); - m.ReplyToList.Add(new MailAddress(txtEmail.Text)); - m.Subject = "[KPFanWorld] " + txtSubject.Text; - m.Body = GetBody(); - m.IsBodyHtml = true; - - SmtpClient c = new SmtpClient() - { - Credentials = new NetworkCredential(SiteConfiguration.SESAccessKey, SiteConfiguration.SmtpPassword) - }; - try - { - c.Send(m); - } - catch { } - - plhContact.Visible = false; - plhSuccess.Visible = true; - - //ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "formSubmitted", "dataLayer.push({'event': 'formSubmitted', 'category': 'forms', 'action': 'Submission', 'label': 'Contact Form'});", true); - } - - private string GetBody() - { - string val = $"

Name: {txtName.Text}
"; - val += $"Email: {txtEmail.Text}
"; - val += $"Message:
{txtMessage.Text.Nl2Br()}



"; - - val += "--
KPFW Staff
contact@kpfanworld.com"; - - return val; - } - - private bool VerifyReCaptcha() - { - if (Request["g-recaptcha-response"] == null) - return false; - - HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://www.google.com/recaptcha/api/siteverify"); - req.Method = "POST"; - req.ContentType = "application/x-www-form-urlencoded"; - - string postData = $"secret={SiteConfiguration.ReCaptchaSecretKey}&response={Request["g-recaptcha-response"].Trim(',')}&remoteip={Request.UserHostAddress}"; - byte[] send = System.Text.Encoding.Default.GetBytes(postData); - req.ContentLength = send.Length; - - Stream stream = req.GetRequestStream(); - stream.Write(send, 0, send.Length); - stream.Flush(); - stream.Close(); - - HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); - StreamReader sr = new StreamReader(resp.GetResponseStream()); - string returnValue = sr.ReadToEnd(); - - Dictionary val = new JavaScriptSerializer().Deserialize>(returnValue); - - return (bool)val["success"]; - } - } -} \ No newline at end of file diff --git a/site/trunk/Controls/ListPager.ascx b/site/trunk/Controls/ListPager.ascx deleted file mode 100644 index 13c0827..0000000 --- a/site/trunk/Controls/ListPager.ascx +++ /dev/null @@ -1,13 +0,0 @@ -<%@ Control Language="c#" AutoEventWireup="True" CodeFile="ListPager.ascx.cs" Inherits="kpfw.ListPager" %> - -
-
Page:
-
- - - - - - -
-
diff --git a/site/trunk/Controls/ListPager.ascx.cs b/site/trunk/Controls/ListPager.ascx.cs deleted file mode 100644 index adf31d2..0000000 --- a/site/trunk/Controls/ListPager.ascx.cs +++ /dev/null @@ -1,151 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Data; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; - -namespace kpfw -{ - public partial class ListPager : System.Web.UI.UserControl - { - public event EventHandler PageNumberChange; - public int PageSize - { - get - { - if (ViewState["PageSize"] == null) - return 10; - else return (int)ViewState["PageSize"]; - } - set - { - ViewState["PageSize"] = value; - } - } - public int MaxPages - { - get - { - if (ViewState["MaxPages"] == null) - return 30; - else return (int)ViewState["MaxPages"]; - } - set - { - ViewState["MaxPages"] = value; - } - } - - private int TotalPages - { - get - { - if (ViewState["TotalPages"] is int) - return (int)ViewState["TotalPages"]; - - return 1; - } - set - { - ViewState["TotalPages"] = value; - } - } - - private int PageNumber - { - get - { - if (ViewState["PageNumber"] is int) - return (int)ViewState["PageNumber"]; - - return 1; - } - set - { - ViewState["PageNumber"] = value; - } - } - - public List ProcessList(List t) - { - if (t == null) - return t; - - TotalPages = (t.Count + PageSize - 1) / PageSize; - if (TotalPages <= 1) - return t; - - List tOut = new List(); - - if (PageNumber > TotalPages) - { - PageNumber = 1; - } - - for (int n = (PageNumber - 1) * PageSize; n < Math.Min(PageNumber * PageSize, t.Count); n++) - tOut.Add(t[n]); - - return tOut; - } - - protected void Page_PreRender(object sender, EventArgs e) - { - Content.Visible = (TotalPages > 1); - - if (Content.Visible) - { - DataTable t = new DataTable(); - t.Columns.Add("Number"); - t.Columns.Add("Text"); - t.Columns.Add("Active", typeof(bool)); - t.Columns.Add("NotActive", typeof(bool)); - - int startPage = 1; - int endPage = TotalPages; - - if (TotalPages > MaxPages) - { - startPage = PageNumber - (MaxPages / 2); - if (startPage < 1) - startPage = 1; - endPage = startPage + MaxPages - 1; - if (endPage > TotalPages) - { - endPage = TotalPages; - startPage = endPage - MaxPages + 1; - if (startPage < 1) - startPage = 1; - } - } - - for (int n = startPage; n <= endPage; n++) - { - DataRow r = t.NewRow(); - r["Number"] = n.ToString(); - - r["Text"] = n.ToString(); - if (n == startPage && startPage > 1) - r["Text"] = "<<"; - if (n == endPage && endPage < TotalPages) - r["Text"] = ">>"; - - r["Active"] = (n == PageNumber); - r["NotActive"] = (n != PageNumber); - t.Rows.Add(r); - } - - Pages.DataSource = t; - Pages.DataBind(); - } - } - - protected void Pages_ItemCommand(object sender, RepeaterCommandEventArgs e) - { - int n = int.Parse((string)e.CommandArgument); - PageNumber = n; - - PageNumberChange.Invoke(sender, e); - } - } -} \ No newline at end of file diff --git a/site/trunk/Default.aspx b/site/trunk/Default.aspx deleted file mode 100644 index d93a2c9..0000000 --- a/site/trunk/Default.aspx +++ /dev/null @@ -1,131 +0,0 @@ -<%@ Page Title="Kim Possible Fan World .:::. Home" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="kpfw._Default" %> - - - - - - - - -
-
-
- -
-
-

Welcome to Kim Possible Fan World!

-

Kim Possible Fan World is the biggest site for information on the show. We have the biggest collection of resources available.

-

Follow us on Facebook for updates as we work on making it great again!

- -
-
-
- - -
-
-

We Need Your Help

-

Donating will guarantee that we can keep the site online for years to come. We don't ask for much but every little bit helps.

-
- DONATE -
-
-
- - -
-
-
-
-
-

This Day in KP History

-

<%= String.Format("{0:MMM dd}", DateTime.UtcNow) %>

-
- - -
    - - -
  • - <%# String.Format("{0: yyyy}", Eval("Date")) %> -- <%# Eval("Message") %> -
  • -
    - -
- -
-
-

There are no KP events today.

-
-
-
-

News & Media

-
    -
  • -
    -
    2/7/2018
    -
    -

    Disney announced a live-action Kim Possible movie on social media outlets Facebook and Twitter

    -
  • -
  • -
    -
    10/5/2017
    -
    -

    The second half of season 4 is now online! That completes our general library. Contact us to request a screen cap we may have missed! We'll be adding a few of our own.

    -
  • -
  • -
    -
    9/10/2017
    -
    -

    The first half of season 4 is now online, bringing our total screencap count to over 100,000! Check it all out here.

    -
  • -
  • -
    -
    9/4/2017
    -
    -

    Season 4 opening titles are now online! Check them here.

    -
  • -
  • -
    -
    9/2/2017
    -
    -

    Season 3 has been completed! Check out our library of over 89,000 screencaps here.

    -
  • -
-
-
-
-

Oh Yeaaahh Yeah

-

- I'm your basic average girl and I'm here to save the world
- You can't stop me 'cause I'm Kim Poss-i-ble -

-

- There is nothin' I can't do
- When danger comes just know that I am on my way -

-

- Doesn't matter where or when there's trouble,
- if you just call my name "Kim Possible" -

-

- Call me, beep me if you wanna reach me
- When you wanna page me, it's okay
- Whenever you need me baby,
- Call me, beep me if you wanna reach me -

-

"Call me, beep me if you wanna reach me"

-

- Doesn’t matter where, doesn’t matter when
- I will be there for you 'till the very end
- Danger or trouble, I’m there on the double
- You know that you always can call Kim Possible -

-

**So what’s the sitch?**

-

Call me, beep me if you wanna reach me

-
-
-
-
diff --git a/site/trunk/Default.aspx.cs b/site/trunk/Default.aspx.cs deleted file mode 100644 index d57e5ae..0000000 --- a/site/trunk/Default.aspx.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; - -namespace kpfw -{ - public partial class _Default : System.Web.UI.Page - { - protected void Page_Load(object sender, EventArgs e) - { - List timeline = Timeline.ListToday(); - rptToday.Visible = timeline.Count > 0; - pNoEvents.Visible = timeline.Count == 0; - - rptToday.DataSource = timeline; - rptToday.DataBind(); - } - } -} \ No newline at end of file diff --git a/site/trunk/Donate.aspx b/site/trunk/Donate.aspx deleted file mode 100644 index 62a7d09..0000000 --- a/site/trunk/Donate.aspx +++ /dev/null @@ -1,23 +0,0 @@ -<%@ Page Title="Donate" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Donate.aspx.cs" Inherits="Donate" %> - - - - -
-
-

Donate

-

We need your help. We're fans, too. But we can't keep this running alone. We have to pay for the hosting. We have to pay for the CDN for the screencaps. We had to buy the episodes in order to make screen caps.

-

Our costs are low right now. Website and database hosting is being donated for the time being. But we gotta pay the CDN costs and those are going up as we add more content. We love to do that. But we need you to help us.

-

Our goal for 2018 is $100. This will go toward CDN costs and help support ongoing development.

-

Progress

-

Goal: $100

-

Earned: $10

-

Remaining: $90

-
- DONATE -
-

By donating, you'll get a big "Thank You" from us and your name on the About page. As we get farther along we'll add other perks, as well.

-

Anything we get over our goal will go toward doing fun things like giveaways, special events, and other fun things that cost money.

-
-
-
\ No newline at end of file diff --git a/site/trunk/Donate.aspx.cs b/site/trunk/Donate.aspx.cs deleted file mode 100644 index d77231e..0000000 --- a/site/trunk/Donate.aspx.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; - -public partial class Donate : System.Web.UI.Page -{ - protected void Page_Load(object sender, EventArgs e) - { - - } -} \ No newline at end of file diff --git a/site/trunk/Global.asax b/site/trunk/Global.asax deleted file mode 100644 index 3de7c5d..0000000 --- a/site/trunk/Global.asax +++ /dev/null @@ -1,217 +0,0 @@ -<%@ Application Language="C#" %> -<%@ Import Namespace="kpfw" %> -<%@ Import Namespace="System.Web" %> -<%@ Import Namespace="System.Web.Optimization" %> -<%@ Import Namespace="System.Web.Routing" %> - - diff --git a/site/trunk/Guide.aspx b/site/trunk/Guide.aspx deleted file mode 100644 index cafda66..0000000 --- a/site/trunk/Guide.aspx +++ /dev/null @@ -1,193 +0,0 @@ -<%@ Page Title="Kim Possible Fan World .:::. Guides" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Guide.aspx.cs" Inherits="kpfw.Guide" %> - - - - -
-
- -

Guides

- - - - -

Season <%# ((RepeaterItem)Container.Parent.Parent).DataItem.ToString() %>

-

- Swipe/scroll to view table. -

-
-
- - - - - - - - - - - - - - - - - -
Ep.Ep. TitleAir DateProd. #
<%# Eval("Number") %>"><%# Eval("Title") %><%# String.Format("{0:MMMM dd, yyyy}", Eval("AirDate")) %><%# Eval("ProductionNumber") %>
-
-
- -
-
-
- - - -

Movies/DVDs

-

- Swipe/scroll to view table. -

-
-
- - - - - - - - - - - - - - - - - -
Ep.Ep. TitleAir DateProd. #
<%# Eval("Number") %>"><%# Eval("Title") %><%# String.Format("{0:MMMM dd, yyyy}", Eval("AirDate")) %><%# Eval("ProductionNumber") %>
-
-
- -
-
- -

-

Basic Information

-

- Description: - -

-

- Director: - -

-

- Writer: - -

-

- Producer: - -

-

- Studio: - -

-

- Executive Producer: - -

-

- Air Date: - -

-

- Season: Season - -

-

- Production Number: - -

-

- -  |  - -

- -

- -

-
-

Cast

-

- Regular Cast: - -

-

- Guest Stars: - -

- -

- -

-
-

Notes

-

Sorry, nothing has been provided for this episode yet. Contact us for suggestions!

- - -

- <%# Markdig.Markdown.ToHtml(Robo.Extensions.Nl2Br((string)Eval("Note")), pipeline) %> -

- -

- -

-
-
-
-

Quotes

-

Sorry, nothing has been provided for this episode yet. Contact us for suggestions!

- - -

- <%# Markdig.Markdown.ToHtml(Robo.Extensions.Nl2Br((string)Eval("QuoteText")), pipeline) %> -

- -

- -

-
-
-
-

Goofs

-

Sorry, nothing has been provided for this episode yet. Contact us for suggestions!

- - -

- <%# Markdig.Markdown.ToHtml(Robo.Extensions.Nl2Br((string)Eval("GoofText")), pipeline) %> -

-
-
-

Cultural References

-

Sorry, nothing has been provided for this episode yet. Contact us for suggestions!

- - -

- <%# Markdig.Markdown.ToHtml(Robo.Extensions.Nl2Br((string)Eval("CulturalText")), pipeline) %> -

-
-
-
- -

-  |  - -
-
-
-
diff --git a/site/trunk/Guide.aspx.cs b/site/trunk/Guide.aspx.cs deleted file mode 100644 index b5aed2c..0000000 --- a/site/trunk/Guide.aspx.cs +++ /dev/null @@ -1,234 +0,0 @@ -using Markdig; -using Robo; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text.RegularExpressions; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; - -namespace kpfw -{ - public partial class Guide : System.Web.UI.Page - { - protected MarkdownPipeline pipeline = new MarkdownPipelineBuilder().UseAdvancedExtensions().UseCaps().Build(); - private bool IsLoggedIn { get { return Page.User.Identity.IsAuthenticated; } } - protected void Page_Load(object sender, EventArgs e) - { - string epUrl = Page.RouteData.Values["Episode"]?.ToString(); - string epTitle = Page.RouteData.Values["EpisodeTranscript"]?.ToString(); - if (epUrl != null) - { - if (new Regex("^[0-9]+$").IsMatch(epUrl)) - { - epUrl = Episode.GetUrl(Convert.ToInt32(epUrl)); - if (epUrl == "") - { - Response.Redirect("~/Guides"); - return; - } - Response.RedirectPermanent($"~/Guides/{epUrl}"); - return; - } - - Episode ep = Episode.GetByUrl(epUrl); - if (ep == null) - { - Response.Redirect("~/Guides"); - return; - } - LoadEpisode(ep); - } - else if (epTitle != null) - { - if (new Regex("^[0-9]+$").IsMatch(epTitle.Trim())) - { - epTitle = Episode.GetUrl(Convert.ToInt32(epTitle)); - if (epTitle == "") - { - Response.Redirect("~/Guides"); - return; - } - Response.RedirectPermanent($"~/Guides/{epTitle}/Transcript"); - return; - } - - Episode ep = Episode.GetByUrl(epTitle); - if (ep == null) - { - Response.Redirect("~/Guides"); - return; - } - - LoadTranscript(ep); - } - else - { - List l = Episode.List(); - var s = l.Where(ep => ep.Season == 1).ToList(); - rptSeries.DataSource = l.Select(i => i.Season).Distinct(); - rptSeries.DataBind(); - //rptS1.DataSource = s; - //rptS1.DataBind(); - - //s = l.Where(ep => ep.Season == 2).ToList(); - //rptS2.DataSource = s; - //rptS2.DataBind(); - - //s = l.Where(ep => ep.Season == 3).ToList(); - //rptS3.DataSource = s; - //rptS3.DataBind(); - - //s = l.Where(ep => ep.Season == 4).ToList(); - //rptS4.DataSource = s; - //rptS4.DataBind(); - } - - pnlList.Visible = epUrl == null && epTitle == null; - pnlEpisode.Visible = epUrl != null; - pnlTranscript.Visible = epTitle != null; - } - - protected void LoadEpisode(Episode ep) - { - LoadCapsLink(ep, hlkCapsLink, plhCapsLink); - - hlkTranscriptLink.Visible = !String.IsNullOrWhiteSpace(ep.Transcript); - hlkTranscriptLink.NavigateUrl = $"/Guides/{ep.UrlLabel}/Transcript"; - hlkTranscriptLink.Text = $"{ep.Title} Transcript"; - Title = $"Kim Possible Fan World .:::. {ep.Title} Episode Guide"; - MetaDescription = ep.Description; - hEpisodeTitle.InnerText = ep.Title; - ltlDescription.Text = ep.Description; - - ltlDirector.Text = ep.Director.RenderImdbLinks(); - ltlWriter.Text = ep.Writer.RenderImdbLinks(); - ltlProducer.Text = ep.Producer.RenderImdbLinks(); - ltlProdNumber.Text = ep.ProductionNumber; - ltlAirDate.Text = String.Format("{0:MMMM d, yyyy}", ep.AirDate); - ltlExecProducer.Text = ep.ExecutiveProducer.RenderImdbLinks(); - ltlSeason.Text = ep.Season.ToString(); - ltlStudio.Text = Markdown.ToHtml(ep.Studio, pipeline).Nl2Br(); - - plhEditBasic.Visible = IsLoggedIn; - - ltlStars.Text = ep.Stars.RenderImdbLinks(); - ltlGuestStars.Text = ep.GuestStars.RenderImdbLinks(); - - plhEditCast.Visible = IsLoggedIn; - - var notes = Episode.ListNotes(ep.Id); - pNoNotes.Visible = notes.Rows.Count == 0; - rptNotes.DataSource = notes; - rptNotes.DataBind(); - - var quotes = Episode.ListQuotes(ep.Id); - pNoQuotes.Visible = quotes.Rows.Count == 0; - rptQuotes.DataSource = quotes; - rptQuotes.DataBind(); - - var goofs = Episode.ListGoofs(ep.Id); - pNoGoofs.Visible = goofs.Rows.Count == 0; - rptGoofs.DataSource = goofs; - rptGoofs.DataBind(); - - var cultural = Episode.ListCultural(ep.Id); - pNoCultural.Visible = cultural.Rows.Count == 0; - rptCultural.DataSource = cultural; - rptCultural.DataBind(); - } - - protected void LoadTranscript(Episode ep) - { - hlkBack.NavigateUrl = $"/Guides/{ep.UrlLabel}"; - hlkBack.Text = $"« Back to {ep.Title} Episode Guide"; - - LoadCapsLink(ep, hlkTransciptCapsLink, null); - - Title = $"Kim Possible Fan World .:::. {ep.Title} Episode Transcript"; - hTranscriptTitle.InnerText = ep.Title + " Transcript"; - ltlTranscript.Text = Markdown.ToHtml(ep.Transcript.Nl2Br(), pipeline); - } - - private void LoadCapsLink(Episode ep, HyperLink hlk, PlaceHolder plh) - { - if (ep.Season == 1) - { - var caps = EpCapsList.S1List.Where(e => e.UrlLabel == ep.UrlLabel); - if (caps.Count() > 0) - { - EpisodeTitle cap = caps.Single(); - if (!String.IsNullOrWhiteSpace(cap.CDNPath)) - { - if (plh != null) - plh.Visible = true; - hlk.NavigateUrl = $"/Caps/{ep.UrlLabel}"; - hlk.Text = $"{ep.Title} Screencaps"; - } - } - } - if (ep.Season == 2) - { - var caps = EpCapsList.S2List.Where(e => e.UrlLabel == ep.UrlLabel); - if (caps.Count() > 0) - { - EpisodeTitle cap = caps.Single(); - if (!String.IsNullOrWhiteSpace(cap.CDNPath)) - { - if (plh != null) - plh.Visible = true; - hlk.NavigateUrl = $"/Caps/{ep.UrlLabel}"; - hlk.Text = $"{ep.Title} Screencaps"; - } - } - } - if (ep.Season == 3) - { - var caps = EpCapsList.S3List.Where(e => e.UrlLabel == ep.UrlLabel); - if (caps.Count() > 0) - { - EpisodeTitle cap = caps.Single(); - if (!String.IsNullOrWhiteSpace(cap.CDNPath)) - { - if (plh != null) - plh.Visible = true; - hlk.NavigateUrl = $"/Caps/{ep.UrlLabel}"; - hlk.Text = $"{ep.Title} Screencaps"; - } - } - } - if (ep.Season == 4) - { - var caps = EpCapsList.S4List.Where(e => e.UrlLabel == ep.UrlLabel); - if (caps.Count() > 0) - { - EpisodeTitle cap = caps.Single(); - if (!String.IsNullOrWhiteSpace(cap.CDNPath)) - { - if (plh != null) - plh.Visible = true; - hlk.NavigateUrl = $"/Caps/{ep.UrlLabel}"; - hlk.Text = $"{ep.Title} Screencaps"; - } - } - } - } - - protected void rptSeries_ItemDataBound(object sender, RepeaterItemEventArgs e) - { - if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) - { - Repeater r = e.Item.FindControl("rptSeason") as Repeater; - - r.DataSource = Episode.List((int)e.Item.DataItem); - r.DataBind(); - } - } - - protected void btnEdit_Click(object sender, EventArgs e) - { - - } - } -} \ No newline at end of file diff --git a/site/trunk/Page.aspx b/site/trunk/Page.aspx deleted file mode 100644 index 7923f8a..0000000 --- a/site/trunk/Page.aspx +++ /dev/null @@ -1,14 +0,0 @@ -<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Page.aspx.cs" Inherits="kpfw.PageHandler" %> - - - - -
-
-

- -
-
-
- - \ No newline at end of file diff --git a/site/trunk/Page.aspx.cs b/site/trunk/Page.aspx.cs deleted file mode 100644 index b4d7844..0000000 --- a/site/trunk/Page.aspx.cs +++ /dev/null @@ -1,32 +0,0 @@ -using Markdig; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; - -namespace kpfw -{ - public partial class PageHandler : System.Web.UI.Page - { - protected void Page_Load(object sender, EventArgs e) - { - ContentPage cp = ContentPage.GetByUrl(Page.RouteData.Values["PageUrl"]?.ToString()); - if (cp == null) - { - Response.StatusCode = 404; - return; - } - hTitle.InnerText = cp.Name; - Title = "Kim Possible Fan World .:::. " + cp.Name; - - string html; - MarkdownPipeline pipline; - pipline = new MarkdownPipelineBuilder().UseAdvancedExtensions().Build(); - html = Markdown.ToHtml(cp.Content, pipline); - - ltlContent.Text = html; - } - } -} \ No newline at end of file diff --git a/site/trunk/Reset.aspx b/site/trunk/Reset.aspx deleted file mode 100644 index bda4fb3..0000000 --- a/site/trunk/Reset.aspx +++ /dev/null @@ -1,43 +0,0 @@ -<%@ Page Title="Kim Possible Fan World .:::. Reset Password" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Reset.aspx.cs" Inherits="kpfw.ResetPage" %> - - - - -
-
-

Reset Password

- -

Enter your new password below to change it. This will take effect immediately and you will be able to log in.

- -
-
-
- - -
-
- - -
-
-
-
-
-
- -
-
- -

Congratulations! Your password has been changed. You will now be able to .

-
- -

Darn! Sorry, there was a problem resetting your password. Please make sure you copy the URL in your email exactly and don't include extra spaces or leave off characters on the end. It's also possible the link has expired or has been used previously. If you are sure everything's correct and you continue to have problems please contact us immediately.

-
-
-
-
- - \ No newline at end of file diff --git a/site/trunk/Reset.aspx.cs b/site/trunk/Reset.aspx.cs deleted file mode 100644 index 8ecef32..0000000 --- a/site/trunk/Reset.aspx.cs +++ /dev/null @@ -1,80 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.Security; -using System.Web.UI; -using System.Web.UI.WebControls; - -namespace kpfw -{ - public partial class ResetPage : System.Web.UI.Page - { - protected void Page_Load(object sender, EventArgs e) - { - if (!IsPostBack) - { - if (Page.RouteData.Values["EmailConfirmation"] != null) - { - if (!Guid.TryParse(Page.RouteData.Values["EmailConfirmation"].ToString(), out Guid confirmation)) - { - plhError.Visible = true; - plhResetPassword.Visible = false; - } - else - { - var req = kpfw.User.GetResetRequest(confirmation); - if (req == null || req.Value.reset || req.Value.requestDate < DateTime.UtcNow.AddHours(-48)) - { - plhError.Visible = true; - plhResetPassword.Visible = false; - } - } - } - else - { - plhError.Visible = true; - plhSuccess.Visible = false; - } - } - } - - protected void btnResetPassword_Click(object sender, EventArgs e) - { - if (!IsValid) - return; - - if (Page.RouteData.Values["EmailConfirmation"] != null) - { - if (!Guid.TryParse(Page.RouteData.Values["EmailConfirmation"].ToString(), out Guid confirmation)) - { - plhError.Visible = true; - plhResetPassword.Visible = false; - } - else - { - var req = kpfw.User.GetResetRequest(confirmation); - if (req == null || req.Value.reset || req.Value.requestDate < DateTime.UtcNow.AddHours(-48)) - { - plhError.Visible = true; - plhResetPassword.Visible = false; - } - else - { - Auth auth = new Auth(txtPassword.Text); - kpfw.User.UpdatePassword(req.Value.userId, auth.GetNewHash()); - kpfw.User.Activate(req.Value.userId); - - plhResetPassword.Visible = false; - plhSuccess.Visible = true; - } - } - } - else - { - plhError.Visible = true; - plhSuccess.Visible = false; - } - } - } -} \ No newline at end of file diff --git a/site/trunk/Site.master b/site/trunk/Site.master deleted file mode 100644 index 1e7fb67..0000000 --- a/site/trunk/Site.master +++ /dev/null @@ -1,359 +0,0 @@ -<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Site.master.cs" Inherits="kpfw.Site" %> - - - - - - - - - - - - Kim Possible Fan World - - - - - - - <%-- - --%> - - - - - -
- -
- -
- - - <%----%> - -
-
-
-
- - - - - - - -
- -
- - - - -
- -
-
-

© 2006-<%= DateTime.Today.Year %> Kim Possible Fan World.

-

"Kim Possible" © Disney.

-

KP Fan World is in no way affiliated with the Disney Company.

-

Characters and content presumed to be used and provided under "fair use."

-

Hosted by Manwaring Web.

-
-
- - - - - - - - - - - - -

LOGIN

-

- -
- - -
-
- - -
- -
-
-
-
-
-
Don't have an account?
-
Forgot your login info? Reset Password
-
- - -

VERIFY IDENTITY

-

-

Your account has two-factor authentication enabled and you must enter the code on your device in the box below to confirm your identity.

-
- - -
-
- -
-
- - -

RESET PASSWORD

-

-

- - -
- - -
-
-
-
-
-
-
Know your login info?
-
Don't have an account?
-
- - -

CHANGE PASSWORD

- - -
- - -
-
- - -
-
-
- -

Your password has been updated! Make sure you use your new password the next time you log in.

- -
-
- - -

SIGN UP

- -

- -
- - -
-
- - -
-
- - -
-
- - -
-
- -
-
-
-
-
-

-
Already have an account?
-
Forgot your login info? Reset Password
-
- -

-
-
- - - - -
-

Hooray!

-

So The Drama DVD Cover Art

-

We are giving away 2 copies of So The Drama on DVD. The giveaway runs through April 10th. Due to Amazon’s rules, it is unfortunately only open to residents of the US and Washington DC ages 18 and over. Feel free to share this link around and let people know that Kim Possible Fan World is alive and kicking.

- - -
- - -
- - - - diff --git a/site/trunk/Site.master.cs b/site/trunk/Site.master.cs deleted file mode 100644 index 04d0b10..0000000 --- a/site/trunk/Site.master.cs +++ /dev/null @@ -1,393 +0,0 @@ -using Google.Authenticator; -using System; -using System.Collections.Generic; -using System.Configuration; -using System.IO; -using System.Linq; -using System.Net; -using System.Net.Mail; -using System.Text.RegularExpressions; -using System.Web; -using System.Web.Optimization; -using System.Web.Script.Serialization; -using System.Web.Security; -using System.Web.UI; -using System.Web.UI.WebControls; - -namespace kpfw -{ - public partial class Site : System.Web.UI.MasterPage - { - private int NumTries - { - get - { - HttpCookie c = Request.Cookies.Get("InvalidTries"); - if (c == null) - return 0; - else return Convert.ToInt32(c.Value); - } - set - { - HttpCookie c = Request.Cookies.Get("InvalidTries"); - if (c == null) - { - c = new HttpCookie("InvalidTries"); - c.Value = value.ToString(); - c.Expires = DateTime.UtcNow.AddHours(1); - Response.Cookies.Add(c); - } - else - { - c.Value = value.ToString(); - c.Expires = DateTime.UtcNow.AddHours(1); - Response.Cookies.Add(c); - } - } - } - protected void Page_Load(object sender, EventArgs e) - { - plhBundles.Controls.Add(new LiteralControl(Scripts.Render("~/bundle/js").ToHtmlString())); - plhBundles.Controls.Add(new LiteralControl(Styles.Render("~/bundle/css").ToHtmlString())); - - plhLogin.Visible = !Page.User.Identity.IsAuthenticated; - plhAccount.Visible = Page.User.Identity.IsAuthenticated; - - if (!IsPostBack) - { - if (Page.User.Identity.IsAuthenticated) - { - if (User.NeedsPasswordChanged(Page.User.Identity.Name)) - ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "changePassword", "$.magnificPopup.open({ items: { src: '#changePasswordModal' }, prependTo:'form#aspnetForm', closeOnBgClick: false });", true); - } - plhLoginCaptcha.Visible = NumTries >= 3; - } - } - - protected void btnLogin_Click(object sender, EventArgs e) - { - if (NumTries > 4) - return; - // need to start displaying a CAPTCHA (ReCAPTCHA?) if number of attempts reaches a certain threshold - FailureText.Visible = false; - if (!Page.IsValid) - { - ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "LoginError", "$.magnificPopup.open({ items: { src: '#loginModalPopup' }, prependTo:'form#aspnetForm', closeOnBgClick: false });", true); - return; - } - if (NumTries > 2) - { - if (!VerifyReCaptcha()) - { - ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "LoginError", "$.magnificPopup.open({ items: { src: '#loginModalPopup' }, prependTo:'form#aspnetForm', closeOnBgClick: false });", true); - FailureText.Visible = false; - return; - } - } - plhLoginCaptcha.Visible = NumTries >= 2; - if (!new Regex(@"^[a-zA-Z0-9_]+$").IsMatch(txtUserName.Text) && !new Regex(@"^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$").IsMatch(txtUserName.Text)) - { - ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "LoginError", "$.magnificPopup.open({ items: { src: '#loginModalPopup' }, prependTo:'form#aspnetForm', closeOnBgClick: false });", true); - FailureText.InnerText = "Invalid username. Your username must contain only letters, numbers, and the underscore character or must be an email address."; - FailureText.Visible = true; - NumTries = NumTries + 1; - return; - } - - var u = User.GetPassword(txtUserName.Text); - if (u == null) - { - ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "LoginError", "$.magnificPopup.open({ items: { src: '#loginModalPopup' }, prependTo:'form#aspnetForm', closeOnBgClick: false });", true); - FailureText.InnerHtml = "Sorry, Wade couldn't find anyone on file with those credentials. Contact us if you feel this is in error."; - FailureText.Visible = true; - NumTries = NumTries + 1; - return; - } - - Auth auth = new Auth(txtPassword.Text, u.Value.password); - if (!auth.Compare(out bool md5)) - { - ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "LoginError", "$.magnificPopup.open({ items: { src: '#loginModalPopup' }, prependTo:'form#aspnetForm', closeOnBgClick: false });", true); - FailureText.InnerHtml = "Sorry, Wade couldn't find anyone on file with those credentials. Contact us if you feel this is in error."; - FailureText.Visible = true; - NumTries = NumTries + 1; - return; - } - if (!String.IsNullOrWhiteSpace(u.Value.TwoFactorAuth)) - { - // user has 2FA enabled so show that before logging them in. - ViewState["2FAUser"] = u.Value.userId + "|" + u.Value.userName + "|" + u.Value.displayName + "|" + u.Value.TwoFactorAuth + "|" + md5 + "|" + u.Value.isActive + "|" + auth.GetNewHash(); - ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "changePassword", "$.magnificPopup.open({ items: { src: '#twoFAModal' }, prependTo:'form#aspnetForm', closeOnBgClick: false });", true); - return; - } - - if ((md5 && !u.Value.isActive) || u.Value.isActive) - { - FormsAuthentication.RedirectFromLoginPage(u.Value.userName, false); - if (NumTries > 0) - { - HttpCookie c = Request.Cookies.Get("InvalidTries"); - c.Expires = DateTime.UtcNow.AddDays(-1); - Response.Cookies.Add(c); - } - - if (md5) - { - User.UpdatePassword(u.Value.userId, auth.GetNewHash()); - User.AssignEmailConfirmation(u.Value.userId, Guid.NewGuid(), true); - } - else - Response.Redirect(Request.RawUrl, true); - } - else - { - ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "LoginError", "$.magnificPopup.open({ items: { src: '#loginModalPopup' }, prependTo:'form#aspnetForm', closeOnBgClick: false });", true); - FailureText.InnerHtml = "Sorry, Wade couldn't find anyone on file with those credentials. Contact us if you feel this is in error."; - FailureText.Visible = true; - NumTries = NumTries + 1; - return; - } - } - - protected void btnSignUp_Click(object sender, EventArgs e) - { - SignupFailureText.Visible = false; - if (!VerifyReCaptcha()) - { - ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "SignUpError", "$.magnificPopup.open({ items: { src: '#signupModalPopup' }, prependTo:'form#aspnetForm', closeOnBgClick: false });", true); - SignupFailureText.InnerText = "Invalid CAPTCHA."; - SignupFailureText.Visible = true; - return; - } - if (FavoriteColor.Text != "") - return; - if (!Page.IsValid) - { - ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "SignUpError", "$.magnificPopup.open({ items: { src: '#signupModalPopup' }, prependTo:'form#aspnetForm', closeOnBgClick: false });", true); - return; - } - if (!new Regex(@"^[a-zA-Z0-9_]+$").IsMatch(txtSignUpUser.Text) && !new Regex(@"^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$").IsMatch(txtSignUpUser.Text)) - { - ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "SignUpError", "$.magnificPopup.open({ items: { src: '#signupModalPopup' }, prependTo:'form#aspnetForm', closeOnBgClick: false });", true); - SignupFailureText.InnerText = "Invalid username. Your username must contain only letters, numbers, and the underscore character or must be an email address."; - SignupFailureText.Visible = true; - return; - } - - if (User.EmailExists(txtSignUpEmail.Text.Trim())) - { - ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "SignUpError", "$.magnificPopup.open({ items: { src: '#signupModalPopup' }, prependTo:'form#aspnetForm', closeOnBgClick: false });", true); - SignupFailureText.InnerHtml = "Wade tells us that email address already exists in our database. Please log in or reset your password to continue using that account."; - SignupFailureText.Visible = true; - return; - } - if (User.LoginExists(txtSignUpUser.Text.Trim())) - { - ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "SignUpError", "$.magnificPopup.open({ items: { src: '#signupModalPopup' }, prependTo:'form#aspnetForm', closeOnBgClick: false });", true); - SignupFailureText.InnerHtml = "Wade tells us that user name already exists in our database. Please log in or reset your password to continue using that account. Contact us if you don't have access to that email address."; - SignupFailureText.Visible = true; - return; - } - - Auth auth = new Auth(txtSignUpPassword.Text.Trim()); - - Guid emailConfirmation = Guid.NewGuid(); - while (User.ConfirmationExists(emailConfirmation)) - emailConfirmation = Guid.NewGuid(); - - User u = new User - { - UserName = txtSignUpUser.Text.Trim(), - Email = txtSignUpEmail.Text.Trim(), - TimeZone = TimeZoneInfo.FindSystemTimeZoneById("UTC") - }; - u.Add(auth.GetNewHash(), Request.UserHostAddress, emailConfirmation); - - string body = "

Hi! Welcome to Kim Possible Fan World!

"; - body += "

We're happy to have you, but we need to make sure you're a human and not one of Drakken's little bots trying to gain access. He loves the spotlight, after all.

"; - body += "

Just click or copy/paste the link below and you'll be ready to start editing and submitting information!

"; - body += $@"

https://dev.kpfanworld.com/confirm/{emailConfirmation.ToString()}

"; - body += "

Thanks again for joining! We hope to see you back frequently!

"; - body += "

----------
KPFW Staff
contact@kpfanworld.com

"; - - // send email for confirmation - Notification.SendEmail(u.Email, "[KPFanWorld] Sign Up Confirmation", body); - if (chkSubscribe.Checked) - MailChimpApi.Subscribe(u.Email); - - // bring up the signup screen again, but display success message telling them to check their email. - plhSignUp.Visible = false; - plhSignupSuccess.Visible = true; - signupStatus.InnerHtml = "You have successfully signed up! We just need one more thing before Wade can finalize your account. We've sent an email with a special link that will let you gain access. Once you click that link you'll be ready to roll! Contact us if you have problems or don't get the email within a few minutes."; - } - - protected void btnResetPassword_Click(object sender, EventArgs e) - { - resetStatus.Visible = false; - resetFailureText.Visible = false; - if (!VerifyReCaptcha()) - { - ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "resetError", "$.magnificPopup.open({ items: { src: '#resetPasswordModal' }, prependTo:'form#aspnetForm', closeOnBgClick: false });", true); - resetFailureText.InnerText = "Invalid CAPTCHA."; - resetFailureText.Visible = true; - return; - } - if (!Page.IsValid) - { - ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "resetError", "$.magnificPopup.open({ items: { src: '#resetPasswordModal' }, prependTo:'form#aspnetForm', closeOnBgClick: false });", true); - return; - } - if (!new Regex(@"^[a-zA-Z0-9_]+$").IsMatch(txtUserEmail.Text) && !new Regex(@"^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$").IsMatch(txtUserEmail.Text)) - { - ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "resetError", "$.magnificPopup.open({ items: { src: '#resetPasswordModal' }, prependTo:'form#aspnetForm', closeOnBgClick: false });", true); - resetFailureText.InnerText = "Invalid username. Your username must contain only letters, numbers, and the underscore character or must be an email address."; - resetFailureText.Visible = true; - return; - } - - Guid reset = Guid.NewGuid(); - while (User.GetResetRequest(reset) != null) - reset = Guid.NewGuid(); - - var u = User.GetByLogin(txtUserEmail.Text); - if (u != null) - { - string body = "

Hi!

"; - body += "

Someone (hopefully you) recently requested a password reset.

"; - body += "

We need to make sure you're a human and not one of Drakken's little bots trying to gain access.

"; - body += "

Just click or copy/paste the link below and you'll be taken to a page where you can set a new password. This link expires in 48 hours, though.

"; - body += "

If someone other than you requested it or you changed your mind just ignore this message. Your password will not be changed unless you go to the URL below within 48 hours.

"; - body += $@"

https://dev.kpfanworld.com/reset/{reset.ToString()}

"; - body += "

Contact us if you have any questions or problems.

"; - body += "

----------
KPFW Staff
contact@kpfanworld.com

"; - - User.AddResetRequest(reset, u.Id); - Notification.SendEmail(u.Email, "[KPFanWorld] Password Reset Request", body); - } - - plhResetPassword.Visible = false; - resetStatus.Visible = true; - resetStatus.InnerHtml = "If Wade finds an account he'll send a message to the email address on file with instructions to reset your password. If you continue to have issues, feel free to contact us."; - - ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "resetError", "$.magnificPopup.open({ items: { src: '#resetPasswordModal' }, prependTo:'form#aspnetForm', closeOnBgClick: false });", true); - } - - protected void lbLogout_Click(object sender, EventArgs e) - { - FormsAuthentication.SignOut(); - Response.Redirect("/", true); - } - - protected void btnChangePassword_Click(object sender, EventArgs e) - { - if (!Page.IsValid) - return; - if (!Page.User.Identity.IsAuthenticated) - return; - - var u = User.GetByLogin(Page.User.Identity.Name); - if (u == null) - return; - - Auth auth = new Auth(txtPassword.Text); - User.UpdatePassword(u.Id, auth.GetNewHash()); - User.Activate(u.Id); - - plhChangePassword.Visible = false; - plhChangePasswordSuccess.Visible = true; - - ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "changePassword", "$.magnificPopup.open({ items: { src: '#changePasswordModal' }, prependTo:'form#aspnetForm', closeOnBgClick: false });", true); - } - - private bool VerifyReCaptcha() - { - if (Request["g-recaptcha-response"] == null) - return false; - - HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://www.google.com/recaptcha/api/siteverify"); - req.Method = "POST"; - req.ContentType = "application/x-www-form-urlencoded"; - - string postData = $"secret={SiteConfiguration.ReCaptchaSecretKey}&response={Request["g-recaptcha-response"].Trim(',')}&remoteip={Request.UserHostAddress}"; - byte[] send = System.Text.Encoding.Default.GetBytes(postData); - req.ContentLength = send.Length; - - Stream stream = req.GetRequestStream(); - stream.Write(send, 0, send.Length); - stream.Flush(); - stream.Close(); - - HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); - StreamReader sr = new StreamReader(resp.GetResponseStream()); - string returnValue = sr.ReadToEnd(); - - Dictionary val = new JavaScriptSerializer().Deserialize>(returnValue); - - return (bool)val["success"]; - } - - protected void btnConfirm2FA_Click(object sender, EventArgs e) - { - // 0 - userId - // 1 - userName - // 2 - displayName - // 3 - Authy ID - // 4 - md5 - // 5 - isActive - // 6 - NewHash - string[] u = ((string)ViewState["2FAUser"]).Split('|'); - bool md5 = Convert.ToBoolean(u[4]), isActive = Convert.ToBoolean(u[5]); - //var u = User.GetPassword(txtUserName.Text); - bool tfaValid = false; - - if (!Regex.IsMatch(u[3], @"^[\d]+$")) - { - TwoFactorAuthenticator tfa = new TwoFactorAuthenticator(); - if (tfa.ValidateTwoFactorPIN(u[3], txt2FACode.Text)) - tfaValid = true; - } - else - { - var client = new AuthyClient(SiteConfiguration.AuthyApiKey); - if (client.VerifyToken(Convert.ToInt32(u[3]), Convert.ToInt32(txt2FACode.Text))) - tfaValid = true; - } - - if (tfaValid) - { - if ((md5 && !isActive) || isActive) - { - FormsAuthentication.RedirectFromLoginPage(u[1], false); - if (NumTries > 0) - { - HttpCookie c = Request.Cookies.Get("InvalidTries"); - c.Expires = DateTime.UtcNow.AddDays(-1); - Response.Cookies.Add(c); - } - - if (md5) - { - User.UpdatePassword(Convert.ToInt32(u[0]), u[6]); - User.AssignEmailConfirmation(Convert.ToInt32(u[0]), Guid.NewGuid(), true); - } - else - Response.Redirect(Request.RawUrl, true); - } - else - { - ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "LoginError", "$.magnificPopup.open({ items: { src: '#loginModalPopup' }, prependTo:'form#aspnetForm', closeOnBgClick: false });", true); - FailureText.InnerHtml = "Sorry, there's a problem with your account. Contact us to get it resolved."; - FailureText.Visible = true; - NumTries = NumTries + 1; - return; - } - } - else - { - // Display error and re-display popup - TwoFactorError.InnerText = "Invalid token. Please try again."; - ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "changePassword", "$.magnificPopup.open({ items: { src: '#twoFAModal' }, prependTo:'form#aspnetForm', closeOnBgClick: false });", true); - } - } - } -} \ No newline at end of file diff --git a/site/trunk/Web.config b/site/trunk/Web.config deleted file mode 100644 index bbb4e67..0000000 --- a/site/trunk/Web.config +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/trunk/connection.config b/site/trunk/connection.config deleted file mode 100644 index 6a2a6d1..0000000 --- a/site/trunk/connection.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/site/trunk/css/Site.css b/site/trunk/css/Site.css deleted file mode 100644 index c7a8277..0000000 --- a/site/trunk/css/Site.css +++ /dev/null @@ -1,1194 +0,0 @@ -/************************* -============================== -TABLE OF CONTENTS -============================== -01A. General -02B. General Layout -03C. Forms / Buttons -04D. Header -05E. Navigation - 05Ea. Mobile Navigation - 05Eb. Mobile Nav Panels - 05Ec. Main Nav - 05Ed. Drop Downs -06F. Content -07G. Footer -08H. Login Page -09I. Contact Page -10J. Categories / Subpages -11K. Caps Page -12L. Guides Page -*************************/ - -/*! - * Web Fonts from Fontspring.com - * - * All OpenType features and all extended glyphs have been removed. - * Fully installable fonts can be purchased at http://www.fontspring.com - * - * The fonts included in this stylesheet are subject to the End User License you purchased - * from Fontspring. The fonts are protected under domestic and international trademark and - * copyright law. You are prohibited from modifying, reverse engineering, duplicating, or - * distributing this font software. - * - * (c) 2010-2017 Fontspring - * - * The fonts included are copyrighted by the vendor listed below. - * - * Vendor: Typodermic Fonts Inc. - * License URL: https://www.fontspring.com/licenses/typodermic/webfont - * - */ -@font-face { - font-family: 'Vipnagorgialla'; - src: url('/fonts/vipnagorgialla.woff2') format('woff2'), url('/fonts/vipnagorgialla.woff') format('woff'), url('/fonts/vipnagorgialla-webfont.eot'); - font-weight: normal; - font-style: normal; -} - -/*************************01A. General *************************/ -body { - background: #202020 url(//cdn.kpfanworld.com/images/body-bg.png) repeat-y; - background-size: 100%; - background-position: top; - background-attachment: fixed; - color: #fff; - font: 16px/1.2 arial, sans-serif; -} - -::selection{ - color: #0f0; - background: #000; -} - -::-moz-selection{ - color: #0f0; - background: #000; -} - -@media only screen and (min-width: 800px) { - body { - font-size: 18px; - } -} - -p { - margin: 15px 0; -} - - p:last-of-type { - margin-bottom: 0; - } - - p:first-of-type { - margin-top: 0; - } - -.image img, .icon svg, .logo svg, .logo img { - display: block; -} - -.logo img { - max-width: 800px; - width: 100%; - margin: auto; -} - -.interior .logo img { - max-width: 400px; -} - -a { - color: #ff0; -} - - a:visited { - color: #6c6; - } - - a:hover, a:focus { - color: #0f0; - } - -h1, h2, h3, h4, h5, h6 { - margin: 15px 0; - font: normal 28px/1 "Vipnagorgialla", Arial, sans-serif; - color: #0f0; -} - - h1:first-of-type, h2:first-of-type, h3:first-of-type, h4:first-of-type, h5:first-of-type, h6:first-of-type { - margin-top: 0; - } - -h2 { - font-size: 25px; - color: #ff0; -} - -h3 { - font-size: 23px; - color: #fff; -} - -h4 { - font-size: 20px; - color: #0f0; -} - -h5 { - font-size: 18px; - color: #ff0; -} - -h6 { - font-size: 16px; - color: #fff; -} - -.section-header { - border-bottom: 1px solid #ccc; -} - -@media only screen and (min-width : 800px) { - h1 { - font-size: 36px; - } - - h2 { - font-size: 32px; - } - - h3 { - font-size: 28px; - } - - h4 { - font-size: 22px; - } - - h5 { - font-size: 20px; - } - - h6 { - font-size: 18px; - } -} - -/* Skip link for accessibility*/ -#skip a { - position: absolute; - left: -10000px; - top: auto; - width: 1px; - height: 1px; - overflow: hidden; -} - - #skip a:focus { - position: static; - width: auto; - height: auto; - } - -/************************* 02B. General Layout *************************/ -.full { - margin: 0 auto; - overflow: hidden; - max-width: 100%; - width: 100%; - z-index: 2; -} - -.inner { - margin: auto; - padding: 0 15px; - max-width: 1230px; - width: 100%; -} - -@media only screen and (min-width: 800px) { - .inner { - padding: 0 25px; - } -} - -.interior { - margin: 50px 0; -} - -/************************* 03C. Forms / Buttons *************************/ -button.btn, .btn a, a.btn, input[type="submit"], button[type="submit"] { - font: normal 18px/1 "Vipnagorgialla", Arial, sans-serif; - text-transform: uppercase; - background: transparent; - margin-top: 15px; - border: 1px solid #0f0; - color: #0f0 !important; - -webkit-transition: all 0.3s; - transition: all 0.3s; -} - - button.btn-secondary, .btn-secondary a, a.btn-secondary, input[type="submit"].btn-secondary, button[type="submit"].btn-secondary { - } - - button.btn-cancel, .btn-cancel a, a.btn-cancel, input[type="submit"].btn-cancel, button[type="submit"].btn-cancel { - } - - button.btn-small, .btn-small a, a.btn-small, input[type="submit"].btn-small, button[type="submit"].btn-small { - } - - button:hover.btn, .btn a:hover, a:hover.btn, input[type="submit"]:hover, button[type="submit"]:hover, - button:focus.btn, .btn a:focus, a:focus.btn, input[type="submit"]:focus, button[type="submit"]:focus { - background: #0f0; - color: #000 !important; - } - -input[type=submit][disabled], input[type=button][disabled], button[disabled], a[disabled], -input[type=submit][disabled]:hover, input[type=button][disabled]:hover, button[disabled]:hover, a[disabled]:hover -/* Usually the stylings are the same as the button styles from above so there is no hover styles, or you can do a separate syle for disabled buttons */ { -} - - button[disabled].btn-secondary:hover, .btn-secondary a.disabled:hover, a.btn-secondary.disabled:hover, input[type="submit"][disabled].btn-secondary:hover, input[type="button"][disabled].btn-secondary:hover, button[type="submit"][disabled].btn-secondary:hover { - } - -.req { - color: #080; - font-style: italic; -} - -input[type=text], input[type=email], input[type=password], input[type=email], textarea { - background: #000; - font-style: italic; - color: #fff; - border: 1px dashed #0f0; -} - -.error { - color: #F36523; - font-style: italic; - font-weight: bold; -} - -label { - font-family: 'Vipnagorgialla', Arial, sans-serif; -} - -input:focus, textarea:focus { - outline: none; - border: 1px dashed #ff0 !important; -} - -/************************* 04D. Header *************************/ -header.main { - padding: 40px 0 0; - text-align: center; -} - -/************************* 05E. Navigation *************************/ -.main-nav, .account-nav, -#main-nav ul p, .main-nav ul br { - display: none; -} - -/* 05Ea. Mobile Navigation */ -.toggle-menu { - background: #202020; - color: #fafafa; - font-size: 16px; - left: 0; - position: fixed; - text-decoration: none; - text-transform: uppercase; - top: 0; - width: 100%; - z-index: 10; -} - - .toggle-menu li { - width: 100%; - } - - /*.toggle-menu li:last-child { - text-align: right; - }*/ - - .toggle-menu .icon, .toggle-menu .menu-text { - display: inline-block; - vertical-align: middle; - } - - .toggle-menu p { - margin: 0; - } - - .toggle-menu a { - color: #fafafa; - display: block; - padding: 10px 15px; - text-decoration: none; - } - - /* Hamburger menu icon */ - .toggle-menu .icon, .toggle-menu .icon:after, .toggle-menu .icon:before { - background: #fafafa; - -webkit-transition: all 0s .3s; - transition: all 0s .3s; - width: 18px; - height: 2px; - } - - .toggle-menu .icon:after, .toggle-menu .icon:before { - background: #fafafa; - content: ""; - position: absolute; - left: 0; - } - - .toggle-menu .icon:before { - bottom: 5px; - -webkit-transition: bottom .3s .3s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform .3s cubic-bezier(0.23, 1, 0.32, 1); - transition: bottom .3s .3s cubic-bezier(0.23, 1, 0.32, 1), transform .3s cubic-bezier(0.23, 1, 0.32, 1); - } - - .toggle-menu .icon:after { - top: 5px; - -webkit-transition: top .3s .3s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform .3s cubic-bezier(0.23, 1, 0.32, 1); - transition: top .3s .3s cubic-bezier(0.23, 1, 0.32, 1), transform .3s cubic-bezier(0.23, 1, 0.32, 1); - } - - /* When clicked, hamburger icon animates into an X */ - .toggle-menu .is-clicked .icon { - background: rgba(255, 255, 255, 0); - } - - .toggle-menu .is-clicked .icon:after { - background: #ff0; - top: 0; - -ms-transform: rotate(45deg); - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - -webkit-transition: top .3s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform .3s .3s cubic-bezier(0.23, 1, 0.32, 1); - transition: top .3s cubic-bezier(0.23, 1, 0.32, 1), transform .3s .3s cubic-bezier(0.23, 1, 0.32, 1); - } - - .toggle-menu .is-clicked .icon:before { - background: #ff0; - bottom: 0; - -ms-transform: rotate(-45deg); - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - -webkit-transition: bottom .3s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform .3s .3s cubic-bezier(0.23, 1, 0.32, 1); - transition: bottom .3s cubic-bezier(0.23, 1, 0.32, 1), transform .3s .3s cubic-bezier(0.23, 1, 0.32, 1); - } - -/* 05Eb. Mobile Nav Panels */ -[id$="nav-copy"] { - background: #000; - box-shadow: 5px 0 5px -5px rgba(0,0,0,.5); - left: 0; - overflow-y: auto; - padding: 46px 0; - position: fixed; - top: 0; - -webkit-transform: translateX(-280px); - -ms-transform: translateX(-280px); - transform: translateX(-280px); - -webkit-backface-visibility: hidden; - -webkit-transition: -webkit-transform .4s 0s, visibility 0s .4s; - transition: transform .4s 0s, visibility 0s .4s; - width: 230px; - height: 100%; - z-index: 9; -} - - [id$="nav-copy"] ul li a { - border-bottom: 1px solid #202020; - color: #fff; - display: block; - padding: 15px; - text-decoration: none; - } - - [id$="nav-copy"] ul li a.btn { - background: #000; - border: 0; - margin-top: 0; - } - - [id$="nav-copy"] ul li a:hover { - background: #0f0; - color: #000; - } - - [id$="nav-copy"] ul li ul { - font-size: 14px; - line-height: 1.2; - } - - [id$="nav-copy"] ul li ul li a { - padding-left: 30px; - } - - [id$="nav-copy"].open-menu { - -webkit-transform: translateX(0) !important; - -ms-transform: translateX(0) !important; - transform: translateX(0) !important; - -webkit-transition: -webkit-transform .4s 0s, visibility 0s 0s; - transition: transform .4s 0s, visibility 0s 0s; - -webkit-overflow-scrolling: touch; - } - -.dd-wrap { - display: block; - width: 100%; -} - -.open-dd { - background: #202020; - cursor: pointer; - display: block; - position: absolute; - right: 0; - text-align: center; - top: 0; - width: 50px; - height: 100%; - z-index: 10; - color: #fff; -} - - /* Icon to indicate there's drop downs to open */ - .open-dd::after { - content: "\f103"; - font: normal normal normal 14px/1 FontAwesome; - font-size: inherit; - left: 0; - margin: auto; - position: absolute; - right: 0; - top: 50%; - -ms-transform: translateY(-50%); - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - } - - .open-dd:hover, .open-dd:focus { - background: #0f0; - color: #000; - } - -.has-sub ul { - display: none; -} - -.has-sub span { - display: block; -} - -.has-sub > span { - height: 100%; -} - -header.main .top .left { - display: none; -} - -/* 05Ec. Main Nav */ -.main-nav, -.account-nav { - font: normal 16px/1 "Vipnagorgialla", Arial, sans-serif; - margin: 20px auto 0; - z-index: 15; -} - - .main-nav ul li, - .account-nav ul li { - display: inline-block; - margin: 0 10px; - } - - .main-nav ul li a, - .account-nav ul li a { - display: block; - color: #fff; - text-decoration: none; - } - - .main-nav ul li a:hover, .main-nav ul li a:focus { - color: #0f0; - } - - .account-nav ul li a.btn { - margin-top: 0; - font-size: 16px; - } - /* 05Ed. Drop Downs */ - .main-nav ul > li > ul, - .account-nav ul > li > ul { - background-color: none; - display: block; - font-size: 16px; - left: 0; - line-height: 1.2; - margin: 0; - max-height: 0; - opacity: 0; - overflow: hidden; - padding: 0; - pointer-events: none; - position: absolute; - text-align: left; - top: auto; - -webkit-transition: max-height .1s ease-in-out 0s, opacity .1s ease-in-out 0s; - transition: max-height .1s ease-in-out 0s, opacity .1s ease-in-out 0s; - width: 230px; - height: auto !important; - z-index: 100; - } - - .main-nav ul > li > ul li, - .account-nav ul > li > ul li { - display: inline-block; - height: auto !important; - margin: 0; - padding: 0; - position: relative; - width: 100%; - } - - .main-nav ul > li > ul li:last-child, - .account-nav ul > li > ul li:last-child { - border-bottom: 0; - } - - .main-nav ul > li > ul li a, - .account-nav ul > li > ul li a { - background: #ff0; - border-bottom: 1px solid #000; - color: #000 !important; - display: block; - padding: 12px !important; - -webkit-transition: none; - transition: none; - } - - .main-nav ul > li > ul li:last-of-type a, - .account-nav ul > li > ul li:last-of-type a { - border-bottom: 0; - } - - .main-nav ul > li > ul li:hover a, .main-nav ul > li > ul li a:focus, - .account-nav ul > li > ul li:hover a, .account-nav ul > li > ul li a:focus { - background: #0f0; - } - - .main-nav ul > li:hover > ul, .main-nav ul > li > a:focus + ul, - .account-nav ul > li:hover > ul, .account-nav ul > li > a:focus + ul { - max-height: 700px; - opacity: 1; - pointer-events: visible; - -webkit-transition: max-height .7s ease-in-out 0s; - transition: max-height .7s ease-in-out 0s; - } - -@media only screen and (min-width : 1000px) { - .full { - padding-top: 58px; - } - - [id$="nav-copy"], .toggle-menu { - display: none; - } - - header.main .top { - padding: 10px 15px; - position: fixed; - top: 0; - width: 100%; - z-index: 9999; - } - - .main-nav { - width: calc(100% - 320px); - display: inline-block; - vertical-align: middle; - margin: 0 -5px 0 0; - text-align: left; - line-height: 1; - } - - .account-nav { - width: 320px; - text-align: right; - display: inline-block; - vertical-align: middle; - margin: 0 auto; - line-height: 1; - } - - .account-nav ul li { - margin: 0 0 0 10px; - } -} - -@media only screen and (min-width: 1500px) { - .full { - padding-top: 60px; - } - - .main-nav, - .account-nav { - font-size: 18px; - } - - .account-nav ul li a.btn { - font-size: 18px; - } - - .main-nav { - width: calc(100% - 601px); - text-align: center; - } - - .account-nav { - width: 340px; - } - - header.main .top .left { - width: 250px; - display: inline-block; - vertical-align: middle; - margin: 0 -5px 0 0; - } -} - -/************************* 06F. Content *************************/ -header.main .top { - background: #202020; -} - -header.main .logo { - background: #000; - padding: 10px; -} - -@media only screen and (min-width: 1000px) { - header.main { - padding: 0; - } -} - -.welcome { - padding-bottom: 50px; -} - -.kp { - position: absolute; - width: 100px; - left: -25px; - bottom: -50px; -} - -.intro { - padding: 15px; - width: calc(100% - 30px); - margin-top: 20px; - float: right; - background: rgba(255,255,255,0.1); -} - - .intro .btn { - text-align: right; - } - -@media only screen and (min-width: 800px) { - .intro { - padding: 50px; - width: calc(100% - 280px); - } - - .kp { - width: 280px; - left: 15px; - bottom: -65px; - } -} - -@media only screen and (min-width: 1000px) { - .intro { - margin-top: 0; - } - - .welcome { - margin-top: 50px; - } -} - -.color-cta { - background: #0084cf url(//cdn.kpfanworld.com/images/body-bg2.png) repeat-y; - background-size: 100%; - padding: 75px 0; - overflow: hidden; - background-attachment: fixed; - background-position: top; - z-index: 0; - position: relative; - text-align: center; -} - - .color-cta .inner { - max-width: 600px; - } - -@media only screen and (min-width: 800px) { - .color-cta { - padding: 150px 0; - } -} - -.today { - border: 1px dashed #0f0; - margin: 20px 0; - padding: 15px; -} - - .today li { - padding-left: 20px; - margin-bottom: 10px; - } - - .today li:last-child { - margin-bottom: 0; - } - - .today li:before { - content: ''; - position: absolute; - left: 0; - top: 3px; - width: 11px; - height: 12px; - border: 1px solid #ff0; - } - - .today li:after { - content: ''; - position: absolute; - left: 4px; - top: 7px; - width: 4px; - height: 4px; - background: #ff0; - } - -.news li { - margin-bottom: 25px; -} - -.news hgroup { - border-bottom: 1px solid #0f0; - margin-bottom: 10px; -} - -.news h6 { - border-top: 1px solid #0f0; - border-right: 1px solid #0f0; - display: inline-block; - padding: 8px 10px 5px; - margin-bottom: -1px; - border-bottom: 1px solid #202020; -} - -.half.song { - background: rgba(255,255,255,0.1); - padding: 15px; - font-size: 9px; - text-align: center; - font-style: italic; - max-width: 575px; - margin: 20px auto 50px; -} - -@media only screen and (min-width: 450px) { - .half.song { - font-size: 14px; - } -} - -@media only screen and (min-width: 600px) { - .half.song { - font-size: 16px; - } -} - -@media only screen and (min-width: 800px) { - .half.song { - font-size: 18px; - } -} - -@media only screen and (min-width: 1000px) { - .bottom { - margin: 25px auto 75px; - } - - .bottom .half { - width: 50%; - float: left; - } - - .bottom .half:first-of-type { - padding-right: 25px; - } - - .half.song { - font-size: 16px; - } -} - -@media only screen and (min-width: 1300px) { - .bottom .half:first-of-type { - width: calc(100% - 625px); - padding-right: 0; - } - - .bottom .half.song { - float: right; - padding: 50px; - font-size: 18px; - } -} - -@media only screen and (min-width: 1500px) { - .today { - padding: 50px; - } -} - -/************************* 07G. Footer *************************/ -footer.main { - padding: 20px 0; - text-align: center; - width: 100%; - background: #000; - font-size: 14px; -} - - footer.main p { - margin: 0 0 10px; - } - -/************************* 08H. Login Page *************************/ -.login-wrapper { - max-width: 350px; -} - -.login-form { - margin-bottom: 30px; -} - -.login-create-link a { - text-decoration: none; -} - -@media only screen and (min-width : 800px) { - .login-wrapper { - max-width: none; - } - - .login-form, .login-create-link { - float: left; - margin-bottom: 0; - max-width: 350px; - width: 50%; - } - - .login-create-link { - padding-left: 50px; - } -} - -/*********************** 09I. Contact Page ***********************/ -.contact-content { - margin-bottom: 40px; -} - -@media only screen and (min-width: 850px) { - .contact-form, .contact-content { - float: left; - width: 45%; - } - - .contact-form { - padding-left: 30px; - width: 55%; - } -} - -@media only screen and (min-width : 900px) { - .contact-form, .contact-content { - float: left; - width: 45%; - } - - .contact-form { - padding-left: 30px; - width: 55%; - } -} - -/*********************** 10J. Categories / Subpages ***********************/ -.categories { - margin-top: 30px; - text-align: center; -} - - .categories a { - text-decoration: none; - } - - .categories li { - margin: 0 auto 30px; - max-width: 350px; - width: 100%; - } - - .categories .title a { - background: rgba(0,0,0,.5); - color: #eaeaea; - display: block; - font: 18px/1.2 arial, sans-serif; - margin: auto; - padding: 15px 20px; - } - - .categories .title a:hover, .categories .title a:focus { - background: #286986; - } - -@media only screen and (min-width : 550px) { - .categories li { - float: left; - margin-left: 15px; - margin-right: 15px; - max-width: none; - } -} - -@media only screen and (min-width : 550px) and (max-width : 850px) { - .categories li { - width: calc(100% / 2 - 16px); - } - - .categories li:nth-of-type(2n+1) { - clear: both; - margin-left: 0; - } - - .categories li:nth-of-type(2n+2) { - margin-right: 0; - } -} - -@media only screen and (min-width : 851px) and (max-width : 1050px) { - .categories li { - width: calc(100% / 3 - 21px); - } - - .categories li:nth-of-type(3n+1) { - clear: both; - margin-left: 0; - } - - .categories li:nth-of-type(3n+3) { - margin-right: 0; - } -} - -@media only screen and (min-width : 1051px) { - .categories li { - width: calc(100% / 4 - 24px); - } - - .categories li:nth-of-type(4n+1) { - clear: both; - margin-left: 0; - } - - .categories li:nth-of-type(4n+4) { - margin-right: 0; - } -} - -/*11K. Caps Page */ - -.epsList { - margin-bottom: 25px; - padding-bottom: 25px; - border-bottom: 1px dashed #fff; -} - - .epsList li { - margin-bottom: 10px; - } - -#thumbList ul { - list-style: none; -} - -#thumbList li { - display: inline-block; - padding: 5px; -} - -.menu { - margin: 15px 0; -} - -.menu ul { - list-style: none; -} - -.menu li { - display: inline-block; - padding: 5px; -} - -.epsList ol { - padding-left: 30px; - -moz-column-gap: 0; - -moz-columns: 280px 1; - -webkit-column-gap: 0; - -webkit-columns: 280px 1; - column-gap: 0; - columns: 280px 1; - margin-bottom: 0; -} - -@media only screen and (min-width: 650px) { - .epsList ol { - -moz-column-gap: 60px; - -moz-columns: 280px 2; - -webkit-column-gap: 60px; - -webkit-columns: 280px 2; - column-gap: 60px; - columns: 280px 2; - } -} - -@media only screen and (min-width: 950px) { - .epsList ol { - -moz-column-gap: 60px; - -moz-columns: 280px 3; - -webkit-column-gap: 60px; - -webkit-columns: 280px 3; - column-gap: 60px; - columns: 280px 3; - } -} - -/* 12L. Guides Page */ -.hint img, .hint span { - display: inline-block; - vertical-align: middle; -} - -.hint img { - margin-right: 10px; - margin-left: 10px; -} - -tr.head th { - text-align: left; -} - -.chart { - font-size: 14px; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - position: relative; - max-width: 600px; - margin-bottom: 40px; - width: 100%; -} - -.chart-wrap { - width: 600px; -} - -.chart .head { - background: #fff !important; - border-bottom: 3px solid #333; - color: #000; -} - - .chart .head th { - border: 1px solid #000; - padding: 10px; - } - -.chart tr:nth-child(even) { - background: #000; -} - -.chart tr:nth-child(odd) { - background: #202020; -} - -.chart tr:hover { - background: #0f0; - color: #000; -} - - .chart tr:hover a { - color: #000; - } - - .chart tr a:hover { - color: #999; - } - -.chart td { - border: 1px solid #000; - padding: 5px 10px; -} - -@media only screen and (min-width : 740px) { - .hint { - display: none; - } - - .chart { - font-size: 16px; - max-width: 700px; - } - - .chart-wrap { - width: 700px; - } - - .chart td { - padding: 10px 20px; - } -} - -/*13M. About Page */ -.staff h4 { - margin-bottom: 10px; - line-height: 1; -} - - .staff li { - margin-bottom: 25px; - } - -.web-help li { - margin-bottom: 10px; -} - -.donate-nav-btn { - font-style: italic; - color: #ff0 !important; - text-transform: uppercase; -} \ No newline at end of file diff --git a/site/trunk/css/fa/font-awesome.css b/site/trunk/css/fa/font-awesome.css deleted file mode 100644 index 1321122..0000000 --- a/site/trunk/css/fa/font-awesome.css +++ /dev/null @@ -1,2337 +0,0 @@ -/*! - * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */ -/* FONT PATH - * -------------------------- */ -@font-face { - font-family: 'FontAwesome'; - src: url('../../fonts/fa/fontawesome-webfont.eot?v=4.7.0'); - src: url('../../fonts/fa/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../../fonts/fa/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../../fonts/fa/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../../fonts/fa/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../../fonts/fa/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg'); - font-weight: normal; - font-style: normal; -} -.fa { - display: inline-block; - font: normal normal normal 14px/1 FontAwesome; - font-size: inherit; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -/* makes the font 33% larger relative to the icon container */ -.fa-lg { - font-size: 1.33333333em; - line-height: 0.75em; - vertical-align: -15%; -} -.fa-2x { - font-size: 2em; -} -.fa-3x { - font-size: 3em; -} -.fa-4x { - font-size: 4em; -} -.fa-5x { - font-size: 5em; -} -.fa-fw { - width: 1.28571429em; - text-align: center; -} -.fa-ul { - padding-left: 0; - margin-left: 2.14285714em; - list-style-type: none; -} -.fa-ul > li { - position: relative; -} -.fa-li { - position: absolute; - left: -2.14285714em; - width: 2.14285714em; - top: 0.14285714em; - text-align: center; -} -.fa-li.fa-lg { - left: -1.85714286em; -} -.fa-border { - padding: .2em .25em .15em; - border: solid 0.08em #eeeeee; - border-radius: .1em; -} -.fa-pull-left { - float: left; -} -.fa-pull-right { - float: right; -} -.fa.fa-pull-left { - margin-right: .3em; -} -.fa.fa-pull-right { - margin-left: .3em; -} -/* Deprecated as of 4.4.0 */ -.pull-right { - float: right; -} -.pull-left { - float: left; -} -.fa.pull-left { - margin-right: .3em; -} -.fa.pull-right { - margin-left: .3em; -} -.fa-spin { - -webkit-animation: fa-spin 2s infinite linear; - animation: fa-spin 2s infinite linear; -} -.fa-pulse { - -webkit-animation: fa-spin 1s infinite steps(8); - animation: fa-spin 1s infinite steps(8); -} -@-webkit-keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -@keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -.fa-rotate-90 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); -} -.fa-rotate-180 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); -} -.fa-rotate-270 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; - -webkit-transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform: rotate(270deg); -} -.fa-flip-horizontal { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); -} -.fa-flip-vertical { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; - -webkit-transform: scale(1, -1); - -ms-transform: scale(1, -1); - transform: scale(1, -1); -} -:root .fa-rotate-90, -:root .fa-rotate-180, -:root .fa-rotate-270, -:root .fa-flip-horizontal, -:root .fa-flip-vertical { - filter: none; -} -.fa-stack { - position: relative; - display: inline-block; - width: 2em; - height: 2em; - line-height: 2em; - vertical-align: middle; -} -.fa-stack-1x, -.fa-stack-2x { - position: absolute; - left: 0; - width: 100%; - text-align: center; -} -.fa-stack-1x { - line-height: inherit; -} -.fa-stack-2x { - font-size: 2em; -} -.fa-inverse { - color: #ffffff; -} -/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen - readers do not read off random characters that represent icons */ -.fa-glass:before { - content: "\f000"; -} -.fa-music:before { - content: "\f001"; -} -.fa-search:before { - content: "\f002"; -} -.fa-envelope-o:before { - content: "\f003"; -} -.fa-heart:before { - content: "\f004"; -} -.fa-star:before { - content: "\f005"; -} -.fa-star-o:before { - content: "\f006"; -} -.fa-user:before { - content: "\f007"; -} -.fa-film:before { - content: "\f008"; -} -.fa-th-large:before { - content: "\f009"; -} -.fa-th:before { - content: "\f00a"; -} -.fa-th-list:before { - content: "\f00b"; -} -.fa-check:before { - content: "\f00c"; -} -.fa-remove:before, -.fa-close:before, -.fa-times:before { - content: "\f00d"; -} -.fa-search-plus:before { - content: "\f00e"; -} -.fa-search-minus:before { - content: "\f010"; -} -.fa-power-off:before { - content: "\f011"; -} -.fa-signal:before { - content: "\f012"; -} -.fa-gear:before, -.fa-cog:before { - content: "\f013"; -} -.fa-trash-o:before { - content: "\f014"; -} -.fa-home:before { - content: "\f015"; -} -.fa-file-o:before { - content: "\f016"; -} -.fa-clock-o:before { - content: "\f017"; -} -.fa-road:before { - content: "\f018"; -} -.fa-download:before { - content: "\f019"; -} -.fa-arrow-circle-o-down:before { - content: "\f01a"; -} -.fa-arrow-circle-o-up:before { - content: "\f01b"; -} -.fa-inbox:before { - content: "\f01c"; -} -.fa-play-circle-o:before { - content: "\f01d"; -} -.fa-rotate-right:before, -.fa-repeat:before { - content: "\f01e"; -} -.fa-refresh:before { - content: "\f021"; -} -.fa-list-alt:before { - content: "\f022"; -} -.fa-lock:before { - content: "\f023"; -} -.fa-flag:before { - content: "\f024"; -} -.fa-headphones:before { - content: "\f025"; -} -.fa-volume-off:before { - content: "\f026"; -} -.fa-volume-down:before { - content: "\f027"; -} -.fa-volume-up:before { - content: "\f028"; -} -.fa-qrcode:before { - content: "\f029"; -} -.fa-barcode:before { - content: "\f02a"; -} -.fa-tag:before { - content: "\f02b"; -} -.fa-tags:before { - content: "\f02c"; -} -.fa-book:before { - content: "\f02d"; -} -.fa-bookmark:before { - content: "\f02e"; -} -.fa-print:before { - content: "\f02f"; -} -.fa-camera:before { - content: "\f030"; -} -.fa-font:before { - content: "\f031"; -} -.fa-bold:before { - content: "\f032"; -} -.fa-italic:before { - content: "\f033"; -} -.fa-text-height:before { - content: "\f034"; -} -.fa-text-width:before { - content: "\f035"; -} -.fa-align-left:before { - content: "\f036"; -} -.fa-align-center:before { - content: "\f037"; -} -.fa-align-right:before { - content: "\f038"; -} -.fa-align-justify:before { - content: "\f039"; -} -.fa-list:before { - content: "\f03a"; -} -.fa-dedent:before, -.fa-outdent:before { - content: "\f03b"; -} -.fa-indent:before { - content: "\f03c"; -} -.fa-video-camera:before { - content: "\f03d"; -} -.fa-photo:before, -.fa-image:before, -.fa-picture-o:before { - content: "\f03e"; -} -.fa-pencil:before { - content: "\f040"; -} -.fa-map-marker:before { - content: "\f041"; -} -.fa-adjust:before { - content: "\f042"; -} -.fa-tint:before { - content: "\f043"; -} -.fa-edit:before, -.fa-pencil-square-o:before { - content: "\f044"; -} -.fa-share-square-o:before { - content: "\f045"; -} -.fa-check-square-o:before { - content: "\f046"; -} -.fa-arrows:before { - content: "\f047"; -} -.fa-step-backward:before { - content: "\f048"; -} -.fa-fast-backward:before { - content: "\f049"; -} -.fa-backward:before { - content: "\f04a"; -} -.fa-play:before { - content: "\f04b"; -} -.fa-pause:before { - content: "\f04c"; -} -.fa-stop:before { - content: "\f04d"; -} -.fa-forward:before { - content: "\f04e"; -} -.fa-fast-forward:before { - content: "\f050"; -} -.fa-step-forward:before { - content: "\f051"; -} -.fa-eject:before { - content: "\f052"; -} -.fa-chevron-left:before { - content: "\f053"; -} -.fa-chevron-right:before { - content: "\f054"; -} -.fa-plus-circle:before { - content: "\f055"; -} -.fa-minus-circle:before { - content: "\f056"; -} -.fa-times-circle:before { - content: "\f057"; -} -.fa-check-circle:before { - content: "\f058"; -} -.fa-question-circle:before { - content: "\f059"; -} -.fa-info-circle:before { - content: "\f05a"; -} -.fa-crosshairs:before { - content: "\f05b"; -} -.fa-times-circle-o:before { - content: "\f05c"; -} -.fa-check-circle-o:before { - content: "\f05d"; -} -.fa-ban:before { - content: "\f05e"; -} -.fa-arrow-left:before { - content: "\f060"; -} -.fa-arrow-right:before { - content: "\f061"; -} -.fa-arrow-up:before { - content: "\f062"; -} -.fa-arrow-down:before { - content: "\f063"; -} -.fa-mail-forward:before, -.fa-share:before { - content: "\f064"; -} -.fa-expand:before { - content: "\f065"; -} -.fa-compress:before { - content: "\f066"; -} -.fa-plus:before { - content: "\f067"; -} -.fa-minus:before { - content: "\f068"; -} -.fa-asterisk:before { - content: "\f069"; -} -.fa-exclamation-circle:before { - content: "\f06a"; -} -.fa-gift:before { - content: "\f06b"; -} -.fa-leaf:before { - content: "\f06c"; -} -.fa-fire:before { - content: "\f06d"; -} -.fa-eye:before { - content: "\f06e"; -} -.fa-eye-slash:before { - content: "\f070"; -} -.fa-warning:before, -.fa-exclamation-triangle:before { - content: "\f071"; -} -.fa-plane:before { - content: "\f072"; -} -.fa-calendar:before { - content: "\f073"; -} -.fa-random:before { - content: "\f074"; -} -.fa-comment:before { - content: "\f075"; -} -.fa-magnet:before { - content: "\f076"; -} -.fa-chevron-up:before { - content: "\f077"; -} -.fa-chevron-down:before { - content: "\f078"; -} -.fa-retweet:before { - content: "\f079"; -} -.fa-shopping-cart:before { - content: "\f07a"; -} -.fa-folder:before { - content: "\f07b"; -} -.fa-folder-open:before { - content: "\f07c"; -} -.fa-arrows-v:before { - content: "\f07d"; -} -.fa-arrows-h:before { - content: "\f07e"; -} -.fa-bar-chart-o:before, -.fa-bar-chart:before { - content: "\f080"; -} -.fa-twitter-square:before { - content: "\f081"; -} -.fa-facebook-square:before { - content: "\f082"; -} -.fa-camera-retro:before { - content: "\f083"; -} -.fa-key:before { - content: "\f084"; -} -.fa-gears:before, -.fa-cogs:before { - content: "\f085"; -} -.fa-comments:before { - content: "\f086"; -} -.fa-thumbs-o-up:before { - content: "\f087"; -} -.fa-thumbs-o-down:before { - content: "\f088"; -} -.fa-star-half:before { - content: "\f089"; -} -.fa-heart-o:before { - content: "\f08a"; -} -.fa-sign-out:before { - content: "\f08b"; -} -.fa-linkedin-square:before { - content: "\f08c"; -} -.fa-thumb-tack:before { - content: "\f08d"; -} -.fa-external-link:before { - content: "\f08e"; -} -.fa-sign-in:before { - content: "\f090"; -} -.fa-trophy:before { - content: "\f091"; -} -.fa-github-square:before { - content: "\f092"; -} -.fa-upload:before { - content: "\f093"; -} -.fa-lemon-o:before { - content: "\f094"; -} -.fa-phone:before { - content: "\f095"; -} -.fa-square-o:before { - content: "\f096"; -} -.fa-bookmark-o:before { - content: "\f097"; -} -.fa-phone-square:before { - content: "\f098"; -} -.fa-twitter:before { - content: "\f099"; -} -.fa-facebook-f:before, -.fa-facebook:before { - content: "\f09a"; -} -.fa-github:before { - content: "\f09b"; -} -.fa-unlock:before { - content: "\f09c"; -} -.fa-credit-card:before { - content: "\f09d"; -} -.fa-feed:before, -.fa-rss:before { - content: "\f09e"; -} -.fa-hdd-o:before { - content: "\f0a0"; -} -.fa-bullhorn:before { - content: "\f0a1"; -} -.fa-bell:before { - content: "\f0f3"; -} -.fa-certificate:before { - content: "\f0a3"; -} -.fa-hand-o-right:before { - content: "\f0a4"; -} -.fa-hand-o-left:before { - content: "\f0a5"; -} -.fa-hand-o-up:before { - content: "\f0a6"; -} -.fa-hand-o-down:before { - content: "\f0a7"; -} -.fa-arrow-circle-left:before { - content: "\f0a8"; -} -.fa-arrow-circle-right:before { - content: "\f0a9"; -} -.fa-arrow-circle-up:before { - content: "\f0aa"; -} -.fa-arrow-circle-down:before { - content: "\f0ab"; -} -.fa-globe:before { - content: "\f0ac"; -} -.fa-wrench:before { - content: "\f0ad"; -} -.fa-tasks:before { - content: "\f0ae"; -} -.fa-filter:before { - content: "\f0b0"; -} -.fa-briefcase:before { - content: "\f0b1"; -} -.fa-arrows-alt:before { - content: "\f0b2"; -} -.fa-group:before, -.fa-users:before { - content: "\f0c0"; -} -.fa-chain:before, -.fa-link:before { - content: "\f0c1"; -} -.fa-cloud:before { - content: "\f0c2"; -} -.fa-flask:before { - content: "\f0c3"; -} -.fa-cut:before, -.fa-scissors:before { - content: "\f0c4"; -} -.fa-copy:before, -.fa-files-o:before { - content: "\f0c5"; -} -.fa-paperclip:before { - content: "\f0c6"; -} -.fa-save:before, -.fa-floppy-o:before { - content: "\f0c7"; -} -.fa-square:before { - content: "\f0c8"; -} -.fa-navicon:before, -.fa-reorder:before, -.fa-bars:before { - content: "\f0c9"; -} -.fa-list-ul:before { - content: "\f0ca"; -} -.fa-list-ol:before { - content: "\f0cb"; -} -.fa-strikethrough:before { - content: "\f0cc"; -} -.fa-underline:before { - content: "\f0cd"; -} -.fa-table:before { - content: "\f0ce"; -} -.fa-magic:before { - content: "\f0d0"; -} -.fa-truck:before { - content: "\f0d1"; -} -.fa-pinterest:before { - content: "\f0d2"; -} -.fa-pinterest-square:before { - content: "\f0d3"; -} -.fa-google-plus-square:before { - content: "\f0d4"; -} -.fa-google-plus:before { - content: "\f0d5"; -} -.fa-money:before { - content: "\f0d6"; -} -.fa-caret-down:before { - content: "\f0d7"; -} -.fa-caret-up:before { - content: "\f0d8"; -} -.fa-caret-left:before { - content: "\f0d9"; -} -.fa-caret-right:before { - content: "\f0da"; -} -.fa-columns:before { - content: "\f0db"; -} -.fa-unsorted:before, -.fa-sort:before { - content: "\f0dc"; -} -.fa-sort-down:before, -.fa-sort-desc:before { - content: "\f0dd"; -} -.fa-sort-up:before, -.fa-sort-asc:before { - content: "\f0de"; -} -.fa-envelope:before { - content: "\f0e0"; -} -.fa-linkedin:before { - content: "\f0e1"; -} -.fa-rotate-left:before, -.fa-undo:before { - content: "\f0e2"; -} -.fa-legal:before, -.fa-gavel:before { - content: "\f0e3"; -} -.fa-dashboard:before, -.fa-tachometer:before { - content: "\f0e4"; -} -.fa-comment-o:before { - content: "\f0e5"; -} -.fa-comments-o:before { - content: "\f0e6"; -} -.fa-flash:before, -.fa-bolt:before { - content: "\f0e7"; -} -.fa-sitemap:before { - content: "\f0e8"; -} -.fa-umbrella:before { - content: "\f0e9"; -} -.fa-paste:before, -.fa-clipboard:before { - content: "\f0ea"; -} -.fa-lightbulb-o:before { - content: "\f0eb"; -} -.fa-exchange:before { - content: "\f0ec"; -} -.fa-cloud-download:before { - content: "\f0ed"; -} -.fa-cloud-upload:before { - content: "\f0ee"; -} -.fa-user-md:before { - content: "\f0f0"; -} -.fa-stethoscope:before { - content: "\f0f1"; -} -.fa-suitcase:before { - content: "\f0f2"; -} -.fa-bell-o:before { - content: "\f0a2"; -} -.fa-coffee:before { - content: "\f0f4"; -} -.fa-cutlery:before { - content: "\f0f5"; -} -.fa-file-text-o:before { - content: "\f0f6"; -} -.fa-building-o:before { - content: "\f0f7"; -} -.fa-hospital-o:before { - content: "\f0f8"; -} -.fa-ambulance:before { - content: "\f0f9"; -} -.fa-medkit:before { - content: "\f0fa"; -} -.fa-fighter-jet:before { - content: "\f0fb"; -} -.fa-beer:before { - content: "\f0fc"; -} -.fa-h-square:before { - content: "\f0fd"; -} -.fa-plus-square:before { - content: "\f0fe"; -} -.fa-angle-double-left:before { - content: "\f100"; -} -.fa-angle-double-right:before { - content: "\f101"; -} -.fa-angle-double-up:before { - content: "\f102"; -} -.fa-angle-double-down:before { - content: "\f103"; -} -.fa-angle-left:before { - content: "\f104"; -} -.fa-angle-right:before { - content: "\f105"; -} -.fa-angle-up:before { - content: "\f106"; -} -.fa-angle-down:before { - content: "\f107"; -} -.fa-desktop:before { - content: "\f108"; -} -.fa-laptop:before { - content: "\f109"; -} -.fa-tablet:before { - content: "\f10a"; -} -.fa-mobile-phone:before, -.fa-mobile:before { - content: "\f10b"; -} -.fa-circle-o:before { - content: "\f10c"; -} -.fa-quote-left:before { - content: "\f10d"; -} -.fa-quote-right:before { - content: "\f10e"; -} -.fa-spinner:before { - content: "\f110"; -} -.fa-circle:before { - content: "\f111"; -} -.fa-mail-reply:before, -.fa-reply:before { - content: "\f112"; -} -.fa-github-alt:before { - content: "\f113"; -} -.fa-folder-o:before { - content: "\f114"; -} -.fa-folder-open-o:before { - content: "\f115"; -} -.fa-smile-o:before { - content: "\f118"; -} -.fa-frown-o:before { - content: "\f119"; -} -.fa-meh-o:before { - content: "\f11a"; -} -.fa-gamepad:before { - content: "\f11b"; -} -.fa-keyboard-o:before { - content: "\f11c"; -} -.fa-flag-o:before { - content: "\f11d"; -} -.fa-flag-checkered:before { - content: "\f11e"; -} -.fa-terminal:before { - content: "\f120"; -} -.fa-code:before { - content: "\f121"; -} -.fa-mail-reply-all:before, -.fa-reply-all:before { - content: "\f122"; -} -.fa-star-half-empty:before, -.fa-star-half-full:before, -.fa-star-half-o:before { - content: "\f123"; -} -.fa-location-arrow:before { - content: "\f124"; -} -.fa-crop:before { - content: "\f125"; -} -.fa-code-fork:before { - content: "\f126"; -} -.fa-unlink:before, -.fa-chain-broken:before { - content: "\f127"; -} -.fa-question:before { - content: "\f128"; -} -.fa-info:before { - content: "\f129"; -} -.fa-exclamation:before { - content: "\f12a"; -} -.fa-superscript:before { - content: "\f12b"; -} -.fa-subscript:before { - content: "\f12c"; -} -.fa-eraser:before { - content: "\f12d"; -} -.fa-puzzle-piece:before { - content: "\f12e"; -} -.fa-microphone:before { - content: "\f130"; -} -.fa-microphone-slash:before { - content: "\f131"; -} -.fa-shield:before { - content: "\f132"; -} -.fa-calendar-o:before { - content: "\f133"; -} -.fa-fire-extinguisher:before { - content: "\f134"; -} -.fa-rocket:before { - content: "\f135"; -} -.fa-maxcdn:before { - content: "\f136"; -} -.fa-chevron-circle-left:before { - content: "\f137"; -} -.fa-chevron-circle-right:before { - content: "\f138"; -} -.fa-chevron-circle-up:before { - content: "\f139"; -} -.fa-chevron-circle-down:before { - content: "\f13a"; -} -.fa-html5:before { - content: "\f13b"; -} -.fa-css3:before { - content: "\f13c"; -} -.fa-anchor:before { - content: "\f13d"; -} -.fa-unlock-alt:before { - content: "\f13e"; -} -.fa-bullseye:before { - content: "\f140"; -} -.fa-ellipsis-h:before { - content: "\f141"; -} -.fa-ellipsis-v:before { - content: "\f142"; -} -.fa-rss-square:before { - content: "\f143"; -} -.fa-play-circle:before { - content: "\f144"; -} -.fa-ticket:before { - content: "\f145"; -} -.fa-minus-square:before { - content: "\f146"; -} -.fa-minus-square-o:before { - content: "\f147"; -} -.fa-level-up:before { - content: "\f148"; -} -.fa-level-down:before { - content: "\f149"; -} -.fa-check-square:before { - content: "\f14a"; -} -.fa-pencil-square:before { - content: "\f14b"; -} -.fa-external-link-square:before { - content: "\f14c"; -} -.fa-share-square:before { - content: "\f14d"; -} -.fa-compass:before { - content: "\f14e"; -} -.fa-toggle-down:before, -.fa-caret-square-o-down:before { - content: "\f150"; -} -.fa-toggle-up:before, -.fa-caret-square-o-up:before { - content: "\f151"; -} -.fa-toggle-right:before, -.fa-caret-square-o-right:before { - content: "\f152"; -} -.fa-euro:before, -.fa-eur:before { - content: "\f153"; -} -.fa-gbp:before { - content: "\f154"; -} -.fa-dollar:before, -.fa-usd:before { - content: "\f155"; -} -.fa-rupee:before, -.fa-inr:before { - content: "\f156"; -} -.fa-cny:before, -.fa-rmb:before, -.fa-yen:before, -.fa-jpy:before { - content: "\f157"; -} -.fa-ruble:before, -.fa-rouble:before, -.fa-rub:before { - content: "\f158"; -} -.fa-won:before, -.fa-krw:before { - content: "\f159"; -} -.fa-bitcoin:before, -.fa-btc:before { - content: "\f15a"; -} -.fa-file:before { - content: "\f15b"; -} -.fa-file-text:before { - content: "\f15c"; -} -.fa-sort-alpha-asc:before { - content: "\f15d"; -} -.fa-sort-alpha-desc:before { - content: "\f15e"; -} -.fa-sort-amount-asc:before { - content: "\f160"; -} -.fa-sort-amount-desc:before { - content: "\f161"; -} -.fa-sort-numeric-asc:before { - content: "\f162"; -} -.fa-sort-numeric-desc:before { - content: "\f163"; -} -.fa-thumbs-up:before { - content: "\f164"; -} -.fa-thumbs-down:before { - content: "\f165"; -} -.fa-youtube-square:before { - content: "\f166"; -} -.fa-youtube:before { - content: "\f167"; -} -.fa-xing:before { - content: "\f168"; -} -.fa-xing-square:before { - content: "\f169"; -} -.fa-youtube-play:before { - content: "\f16a"; -} -.fa-dropbox:before { - content: "\f16b"; -} -.fa-stack-overflow:before { - content: "\f16c"; -} -.fa-instagram:before { - content: "\f16d"; -} -.fa-flickr:before { - content: "\f16e"; -} -.fa-adn:before { - content: "\f170"; -} -.fa-bitbucket:before { - content: "\f171"; -} -.fa-bitbucket-square:before { - content: "\f172"; -} -.fa-tumblr:before { - content: "\f173"; -} -.fa-tumblr-square:before { - content: "\f174"; -} -.fa-long-arrow-down:before { - content: "\f175"; -} -.fa-long-arrow-up:before { - content: "\f176"; -} -.fa-long-arrow-left:before { - content: "\f177"; -} -.fa-long-arrow-right:before { - content: "\f178"; -} -.fa-apple:before { - content: "\f179"; -} -.fa-windows:before { - content: "\f17a"; -} -.fa-android:before { - content: "\f17b"; -} -.fa-linux:before { - content: "\f17c"; -} -.fa-dribbble:before { - content: "\f17d"; -} -.fa-skype:before { - content: "\f17e"; -} -.fa-foursquare:before { - content: "\f180"; -} -.fa-trello:before { - content: "\f181"; -} -.fa-female:before { - content: "\f182"; -} -.fa-male:before { - content: "\f183"; -} -.fa-gittip:before, -.fa-gratipay:before { - content: "\f184"; -} -.fa-sun-o:before { - content: "\f185"; -} -.fa-moon-o:before { - content: "\f186"; -} -.fa-archive:before { - content: "\f187"; -} -.fa-bug:before { - content: "\f188"; -} -.fa-vk:before { - content: "\f189"; -} -.fa-weibo:before { - content: "\f18a"; -} -.fa-renren:before { - content: "\f18b"; -} -.fa-pagelines:before { - content: "\f18c"; -} -.fa-stack-exchange:before { - content: "\f18d"; -} -.fa-arrow-circle-o-right:before { - content: "\f18e"; -} -.fa-arrow-circle-o-left:before { - content: "\f190"; -} -.fa-toggle-left:before, -.fa-caret-square-o-left:before { - content: "\f191"; -} -.fa-dot-circle-o:before { - content: "\f192"; -} -.fa-wheelchair:before { - content: "\f193"; -} -.fa-vimeo-square:before { - content: "\f194"; -} -.fa-turkish-lira:before, -.fa-try:before { - content: "\f195"; -} -.fa-plus-square-o:before { - content: "\f196"; -} -.fa-space-shuttle:before { - content: "\f197"; -} -.fa-slack:before { - content: "\f198"; -} -.fa-envelope-square:before { - content: "\f199"; -} -.fa-wordpress:before { - content: "\f19a"; -} -.fa-openid:before { - content: "\f19b"; -} -.fa-institution:before, -.fa-bank:before, -.fa-university:before { - content: "\f19c"; -} -.fa-mortar-board:before, -.fa-graduation-cap:before { - content: "\f19d"; -} -.fa-yahoo:before { - content: "\f19e"; -} -.fa-google:before { - content: "\f1a0"; -} -.fa-reddit:before { - content: "\f1a1"; -} -.fa-reddit-square:before { - content: "\f1a2"; -} -.fa-stumbleupon-circle:before { - content: "\f1a3"; -} -.fa-stumbleupon:before { - content: "\f1a4"; -} -.fa-delicious:before { - content: "\f1a5"; -} -.fa-digg:before { - content: "\f1a6"; -} -.fa-pied-piper-pp:before { - content: "\f1a7"; -} -.fa-pied-piper-alt:before { - content: "\f1a8"; -} -.fa-drupal:before { - content: "\f1a9"; -} -.fa-joomla:before { - content: "\f1aa"; -} -.fa-language:before { - content: "\f1ab"; -} -.fa-fax:before { - content: "\f1ac"; -} -.fa-building:before { - content: "\f1ad"; -} -.fa-child:before { - content: "\f1ae"; -} -.fa-paw:before { - content: "\f1b0"; -} -.fa-spoon:before { - content: "\f1b1"; -} -.fa-cube:before { - content: "\f1b2"; -} -.fa-cubes:before { - content: "\f1b3"; -} -.fa-behance:before { - content: "\f1b4"; -} -.fa-behance-square:before { - content: "\f1b5"; -} -.fa-steam:before { - content: "\f1b6"; -} -.fa-steam-square:before { - content: "\f1b7"; -} -.fa-recycle:before { - content: "\f1b8"; -} -.fa-automobile:before, -.fa-car:before { - content: "\f1b9"; -} -.fa-cab:before, -.fa-taxi:before { - content: "\f1ba"; -} -.fa-tree:before { - content: "\f1bb"; -} -.fa-spotify:before { - content: "\f1bc"; -} -.fa-deviantart:before { - content: "\f1bd"; -} -.fa-soundcloud:before { - content: "\f1be"; -} -.fa-database:before { - content: "\f1c0"; -} -.fa-file-pdf-o:before { - content: "\f1c1"; -} -.fa-file-word-o:before { - content: "\f1c2"; -} -.fa-file-excel-o:before { - content: "\f1c3"; -} -.fa-file-powerpoint-o:before { - content: "\f1c4"; -} -.fa-file-photo-o:before, -.fa-file-picture-o:before, -.fa-file-image-o:before { - content: "\f1c5"; -} -.fa-file-zip-o:before, -.fa-file-archive-o:before { - content: "\f1c6"; -} -.fa-file-sound-o:before, -.fa-file-audio-o:before { - content: "\f1c7"; -} -.fa-file-movie-o:before, -.fa-file-video-o:before { - content: "\f1c8"; -} -.fa-file-code-o:before { - content: "\f1c9"; -} -.fa-vine:before { - content: "\f1ca"; -} -.fa-codepen:before { - content: "\f1cb"; -} -.fa-jsfiddle:before { - content: "\f1cc"; -} -.fa-life-bouy:before, -.fa-life-buoy:before, -.fa-life-saver:before, -.fa-support:before, -.fa-life-ring:before { - content: "\f1cd"; -} -.fa-circle-o-notch:before { - content: "\f1ce"; -} -.fa-ra:before, -.fa-resistance:before, -.fa-rebel:before { - content: "\f1d0"; -} -.fa-ge:before, -.fa-empire:before { - content: "\f1d1"; -} -.fa-git-square:before { - content: "\f1d2"; -} -.fa-git:before { - content: "\f1d3"; -} -.fa-y-combinator-square:before, -.fa-yc-square:before, -.fa-hacker-news:before { - content: "\f1d4"; -} -.fa-tencent-weibo:before { - content: "\f1d5"; -} -.fa-qq:before { - content: "\f1d6"; -} -.fa-wechat:before, -.fa-weixin:before { - content: "\f1d7"; -} -.fa-send:before, -.fa-paper-plane:before { - content: "\f1d8"; -} -.fa-send-o:before, -.fa-paper-plane-o:before { - content: "\f1d9"; -} -.fa-history:before { - content: "\f1da"; -} -.fa-circle-thin:before { - content: "\f1db"; -} -.fa-header:before { - content: "\f1dc"; -} -.fa-paragraph:before { - content: "\f1dd"; -} -.fa-sliders:before { - content: "\f1de"; -} -.fa-share-alt:before { - content: "\f1e0"; -} -.fa-share-alt-square:before { - content: "\f1e1"; -} -.fa-bomb:before { - content: "\f1e2"; -} -.fa-soccer-ball-o:before, -.fa-futbol-o:before { - content: "\f1e3"; -} -.fa-tty:before { - content: "\f1e4"; -} -.fa-binoculars:before { - content: "\f1e5"; -} -.fa-plug:before { - content: "\f1e6"; -} -.fa-slideshare:before { - content: "\f1e7"; -} -.fa-twitch:before { - content: "\f1e8"; -} -.fa-yelp:before { - content: "\f1e9"; -} -.fa-newspaper-o:before { - content: "\f1ea"; -} -.fa-wifi:before { - content: "\f1eb"; -} -.fa-calculator:before { - content: "\f1ec"; -} -.fa-paypal:before { - content: "\f1ed"; -} -.fa-google-wallet:before { - content: "\f1ee"; -} -.fa-cc-visa:before { - content: "\f1f0"; -} -.fa-cc-mastercard:before { - content: "\f1f1"; -} -.fa-cc-discover:before { - content: "\f1f2"; -} -.fa-cc-amex:before { - content: "\f1f3"; -} -.fa-cc-paypal:before { - content: "\f1f4"; -} -.fa-cc-stripe:before { - content: "\f1f5"; -} -.fa-bell-slash:before { - content: "\f1f6"; -} -.fa-bell-slash-o:before { - content: "\f1f7"; -} -.fa-trash:before { - content: "\f1f8"; -} -.fa-copyright:before { - content: "\f1f9"; -} -.fa-at:before { - content: "\f1fa"; -} -.fa-eyedropper:before { - content: "\f1fb"; -} -.fa-paint-brush:before { - content: "\f1fc"; -} -.fa-birthday-cake:before { - content: "\f1fd"; -} -.fa-area-chart:before { - content: "\f1fe"; -} -.fa-pie-chart:before { - content: "\f200"; -} -.fa-line-chart:before { - content: "\f201"; -} -.fa-lastfm:before { - content: "\f202"; -} -.fa-lastfm-square:before { - content: "\f203"; -} -.fa-toggle-off:before { - content: "\f204"; -} -.fa-toggle-on:before { - content: "\f205"; -} -.fa-bicycle:before { - content: "\f206"; -} -.fa-bus:before { - content: "\f207"; -} -.fa-ioxhost:before { - content: "\f208"; -} -.fa-angellist:before { - content: "\f209"; -} -.fa-cc:before { - content: "\f20a"; -} -.fa-shekel:before, -.fa-sheqel:before, -.fa-ils:before { - content: "\f20b"; -} -.fa-meanpath:before { - content: "\f20c"; -} -.fa-buysellads:before { - content: "\f20d"; -} -.fa-connectdevelop:before { - content: "\f20e"; -} -.fa-dashcube:before { - content: "\f210"; -} -.fa-forumbee:before { - content: "\f211"; -} -.fa-leanpub:before { - content: "\f212"; -} -.fa-sellsy:before { - content: "\f213"; -} -.fa-shirtsinbulk:before { - content: "\f214"; -} -.fa-simplybuilt:before { - content: "\f215"; -} -.fa-skyatlas:before { - content: "\f216"; -} -.fa-cart-plus:before { - content: "\f217"; -} -.fa-cart-arrow-down:before { - content: "\f218"; -} -.fa-diamond:before { - content: "\f219"; -} -.fa-ship:before { - content: "\f21a"; -} -.fa-user-secret:before { - content: "\f21b"; -} -.fa-motorcycle:before { - content: "\f21c"; -} -.fa-street-view:before { - content: "\f21d"; -} -.fa-heartbeat:before { - content: "\f21e"; -} -.fa-venus:before { - content: "\f221"; -} -.fa-mars:before { - content: "\f222"; -} -.fa-mercury:before { - content: "\f223"; -} -.fa-intersex:before, -.fa-transgender:before { - content: "\f224"; -} -.fa-transgender-alt:before { - content: "\f225"; -} -.fa-venus-double:before { - content: "\f226"; -} -.fa-mars-double:before { - content: "\f227"; -} -.fa-venus-mars:before { - content: "\f228"; -} -.fa-mars-stroke:before { - content: "\f229"; -} -.fa-mars-stroke-v:before { - content: "\f22a"; -} -.fa-mars-stroke-h:before { - content: "\f22b"; -} -.fa-neuter:before { - content: "\f22c"; -} -.fa-genderless:before { - content: "\f22d"; -} -.fa-facebook-official:before { - content: "\f230"; -} -.fa-pinterest-p:before { - content: "\f231"; -} -.fa-whatsapp:before { - content: "\f232"; -} -.fa-server:before { - content: "\f233"; -} -.fa-user-plus:before { - content: "\f234"; -} -.fa-user-times:before { - content: "\f235"; -} -.fa-hotel:before, -.fa-bed:before { - content: "\f236"; -} -.fa-viacoin:before { - content: "\f237"; -} -.fa-train:before { - content: "\f238"; -} -.fa-subway:before { - content: "\f239"; -} -.fa-medium:before { - content: "\f23a"; -} -.fa-yc:before, -.fa-y-combinator:before { - content: "\f23b"; -} -.fa-optin-monster:before { - content: "\f23c"; -} -.fa-opencart:before { - content: "\f23d"; -} -.fa-expeditedssl:before { - content: "\f23e"; -} -.fa-battery-4:before, -.fa-battery:before, -.fa-battery-full:before { - content: "\f240"; -} -.fa-battery-3:before, -.fa-battery-three-quarters:before { - content: "\f241"; -} -.fa-battery-2:before, -.fa-battery-half:before { - content: "\f242"; -} -.fa-battery-1:before, -.fa-battery-quarter:before { - content: "\f243"; -} -.fa-battery-0:before, -.fa-battery-empty:before { - content: "\f244"; -} -.fa-mouse-pointer:before { - content: "\f245"; -} -.fa-i-cursor:before { - content: "\f246"; -} -.fa-object-group:before { - content: "\f247"; -} -.fa-object-ungroup:before { - content: "\f248"; -} -.fa-sticky-note:before { - content: "\f249"; -} -.fa-sticky-note-o:before { - content: "\f24a"; -} -.fa-cc-jcb:before { - content: "\f24b"; -} -.fa-cc-diners-club:before { - content: "\f24c"; -} -.fa-clone:before { - content: "\f24d"; -} -.fa-balance-scale:before { - content: "\f24e"; -} -.fa-hourglass-o:before { - content: "\f250"; -} -.fa-hourglass-1:before, -.fa-hourglass-start:before { - content: "\f251"; -} -.fa-hourglass-2:before, -.fa-hourglass-half:before { - content: "\f252"; -} -.fa-hourglass-3:before, -.fa-hourglass-end:before { - content: "\f253"; -} -.fa-hourglass:before { - content: "\f254"; -} -.fa-hand-grab-o:before, -.fa-hand-rock-o:before { - content: "\f255"; -} -.fa-hand-stop-o:before, -.fa-hand-paper-o:before { - content: "\f256"; -} -.fa-hand-scissors-o:before { - content: "\f257"; -} -.fa-hand-lizard-o:before { - content: "\f258"; -} -.fa-hand-spock-o:before { - content: "\f259"; -} -.fa-hand-pointer-o:before { - content: "\f25a"; -} -.fa-hand-peace-o:before { - content: "\f25b"; -} -.fa-trademark:before { - content: "\f25c"; -} -.fa-registered:before { - content: "\f25d"; -} -.fa-creative-commons:before { - content: "\f25e"; -} -.fa-gg:before { - content: "\f260"; -} -.fa-gg-circle:before { - content: "\f261"; -} -.fa-tripadvisor:before { - content: "\f262"; -} -.fa-odnoklassniki:before { - content: "\f263"; -} -.fa-odnoklassniki-square:before { - content: "\f264"; -} -.fa-get-pocket:before { - content: "\f265"; -} -.fa-wikipedia-w:before { - content: "\f266"; -} -.fa-safari:before { - content: "\f267"; -} -.fa-chrome:before { - content: "\f268"; -} -.fa-firefox:before { - content: "\f269"; -} -.fa-opera:before { - content: "\f26a"; -} -.fa-internet-explorer:before { - content: "\f26b"; -} -.fa-tv:before, -.fa-television:before { - content: "\f26c"; -} -.fa-contao:before { - content: "\f26d"; -} -.fa-500px:before { - content: "\f26e"; -} -.fa-amazon:before { - content: "\f270"; -} -.fa-calendar-plus-o:before { - content: "\f271"; -} -.fa-calendar-minus-o:before { - content: "\f272"; -} -.fa-calendar-times-o:before { - content: "\f273"; -} -.fa-calendar-check-o:before { - content: "\f274"; -} -.fa-industry:before { - content: "\f275"; -} -.fa-map-pin:before { - content: "\f276"; -} -.fa-map-signs:before { - content: "\f277"; -} -.fa-map-o:before { - content: "\f278"; -} -.fa-map:before { - content: "\f279"; -} -.fa-commenting:before { - content: "\f27a"; -} -.fa-commenting-o:before { - content: "\f27b"; -} -.fa-houzz:before { - content: "\f27c"; -} -.fa-vimeo:before { - content: "\f27d"; -} -.fa-black-tie:before { - content: "\f27e"; -} -.fa-fonticons:before { - content: "\f280"; -} -.fa-reddit-alien:before { - content: "\f281"; -} -.fa-edge:before { - content: "\f282"; -} -.fa-credit-card-alt:before { - content: "\f283"; -} -.fa-codiepie:before { - content: "\f284"; -} -.fa-modx:before { - content: "\f285"; -} -.fa-fort-awesome:before { - content: "\f286"; -} -.fa-usb:before { - content: "\f287"; -} -.fa-product-hunt:before { - content: "\f288"; -} -.fa-mixcloud:before { - content: "\f289"; -} -.fa-scribd:before { - content: "\f28a"; -} -.fa-pause-circle:before { - content: "\f28b"; -} -.fa-pause-circle-o:before { - content: "\f28c"; -} -.fa-stop-circle:before { - content: "\f28d"; -} -.fa-stop-circle-o:before { - content: "\f28e"; -} -.fa-shopping-bag:before { - content: "\f290"; -} -.fa-shopping-basket:before { - content: "\f291"; -} -.fa-hashtag:before { - content: "\f292"; -} -.fa-bluetooth:before { - content: "\f293"; -} -.fa-bluetooth-b:before { - content: "\f294"; -} -.fa-percent:before { - content: "\f295"; -} -.fa-gitlab:before { - content: "\f296"; -} -.fa-wpbeginner:before { - content: "\f297"; -} -.fa-wpforms:before { - content: "\f298"; -} -.fa-envira:before { - content: "\f299"; -} -.fa-universal-access:before { - content: "\f29a"; -} -.fa-wheelchair-alt:before { - content: "\f29b"; -} -.fa-question-circle-o:before { - content: "\f29c"; -} -.fa-blind:before { - content: "\f29d"; -} -.fa-audio-description:before { - content: "\f29e"; -} -.fa-volume-control-phone:before { - content: "\f2a0"; -} -.fa-braille:before { - content: "\f2a1"; -} -.fa-assistive-listening-systems:before { - content: "\f2a2"; -} -.fa-asl-interpreting:before, -.fa-american-sign-language-interpreting:before { - content: "\f2a3"; -} -.fa-deafness:before, -.fa-hard-of-hearing:before, -.fa-deaf:before { - content: "\f2a4"; -} -.fa-glide:before { - content: "\f2a5"; -} -.fa-glide-g:before { - content: "\f2a6"; -} -.fa-signing:before, -.fa-sign-language:before { - content: "\f2a7"; -} -.fa-low-vision:before { - content: "\f2a8"; -} -.fa-viadeo:before { - content: "\f2a9"; -} -.fa-viadeo-square:before { - content: "\f2aa"; -} -.fa-snapchat:before { - content: "\f2ab"; -} -.fa-snapchat-ghost:before { - content: "\f2ac"; -} -.fa-snapchat-square:before { - content: "\f2ad"; -} -.fa-pied-piper:before { - content: "\f2ae"; -} -.fa-first-order:before { - content: "\f2b0"; -} -.fa-yoast:before { - content: "\f2b1"; -} -.fa-themeisle:before { - content: "\f2b2"; -} -.fa-google-plus-circle:before, -.fa-google-plus-official:before { - content: "\f2b3"; -} -.fa-fa:before, -.fa-font-awesome:before { - content: "\f2b4"; -} -.fa-handshake-o:before { - content: "\f2b5"; -} -.fa-envelope-open:before { - content: "\f2b6"; -} -.fa-envelope-open-o:before { - content: "\f2b7"; -} -.fa-linode:before { - content: "\f2b8"; -} -.fa-address-book:before { - content: "\f2b9"; -} -.fa-address-book-o:before { - content: "\f2ba"; -} -.fa-vcard:before, -.fa-address-card:before { - content: "\f2bb"; -} -.fa-vcard-o:before, -.fa-address-card-o:before { - content: "\f2bc"; -} -.fa-user-circle:before { - content: "\f2bd"; -} -.fa-user-circle-o:before { - content: "\f2be"; -} -.fa-user-o:before { - content: "\f2c0"; -} -.fa-id-badge:before { - content: "\f2c1"; -} -.fa-drivers-license:before, -.fa-id-card:before { - content: "\f2c2"; -} -.fa-drivers-license-o:before, -.fa-id-card-o:before { - content: "\f2c3"; -} -.fa-quora:before { - content: "\f2c4"; -} -.fa-free-code-camp:before { - content: "\f2c5"; -} -.fa-telegram:before { - content: "\f2c6"; -} -.fa-thermometer-4:before, -.fa-thermometer:before, -.fa-thermometer-full:before { - content: "\f2c7"; -} -.fa-thermometer-3:before, -.fa-thermometer-three-quarters:before { - content: "\f2c8"; -} -.fa-thermometer-2:before, -.fa-thermometer-half:before { - content: "\f2c9"; -} -.fa-thermometer-1:before, -.fa-thermometer-quarter:before { - content: "\f2ca"; -} -.fa-thermometer-0:before, -.fa-thermometer-empty:before { - content: "\f2cb"; -} -.fa-shower:before { - content: "\f2cc"; -} -.fa-bathtub:before, -.fa-s15:before, -.fa-bath:before { - content: "\f2cd"; -} -.fa-podcast:before { - content: "\f2ce"; -} -.fa-window-maximize:before { - content: "\f2d0"; -} -.fa-window-minimize:before { - content: "\f2d1"; -} -.fa-window-restore:before { - content: "\f2d2"; -} -.fa-times-rectangle:before, -.fa-window-close:before { - content: "\f2d3"; -} -.fa-times-rectangle-o:before, -.fa-window-close-o:before { - content: "\f2d4"; -} -.fa-bandcamp:before { - content: "\f2d5"; -} -.fa-grav:before { - content: "\f2d6"; -} -.fa-etsy:before { - content: "\f2d7"; -} -.fa-imdb:before { - content: "\f2d8"; -} -.fa-ravelry:before { - content: "\f2d9"; -} -.fa-eercast:before { - content: "\f2da"; -} -.fa-microchip:before { - content: "\f2db"; -} -.fa-snowflake-o:before { - content: "\f2dc"; -} -.fa-superpowers:before { - content: "\f2dd"; -} -.fa-wpexplorer:before { - content: "\f2de"; -} -.fa-meetup:before { - content: "\f2e0"; -} -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; -} -.sr-only-focusable:active, -.sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - margin: 0; - overflow: visible; - clip: auto; -} diff --git a/site/trunk/css/fa/font-awesome.min.css b/site/trunk/css/fa/font-awesome.min.css deleted file mode 100644 index 3554239..0000000 --- a/site/trunk/css/fa/font-awesome.min.css +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:'FontAwesome';src:url('../../fonts/fa/fontawesome-webfont.eot?v=4.7.0');src:url('../../fonts/fa/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../../fonts/fa/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../../fonts/fa/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../../fonts/fa/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../../fonts/fa/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/site/trunk/css/fa/license.txt b/site/trunk/css/fa/license.txt deleted file mode 100644 index 3066516..0000000 --- a/site/trunk/css/fa/license.txt +++ /dev/null @@ -1,11 +0,0 @@ -The Font Awesome font is licensed under the SIL OFL 1.1: - - http://scripts.sil.org/OFL - -Font Awesome CSS, LESS, and Sass files are licensed under the MIT License: - - https://opensource.org/licenses/mit-license.html - -The Font Awesome documentation is licensed under the CC BY 3.0 License: - - http://creativecommons.org/licenses/by/3.0/ diff --git a/site/trunk/css/forms.css b/site/trunk/css/forms.css deleted file mode 100644 index 14ecbcc..0000000 --- a/site/trunk/css/forms.css +++ /dev/null @@ -1,141 +0,0 @@ -/* Forms */ -/************************************** - -READ ME: - Any changes you need to make need to be in a separate stylesheet overriding these styles, do not edit this stylesheet. - -**************************************/ -.custom-lock label { - font-size: 14px !important; -} - -button, input[type="submit"], input[type="button"] { - border: 0; -} - -input[type="text"], input[type="email"], input[type="password"], textarea, input[type="tel"], button, input[type="submit"], input[type="button"] { - -webkit-appearance: none; -} - -input[type="text"], input[type="email"], input[type="password"], textarea, select:not([multiple]), input[type="tel"] { - background: #fff; - border: 1px solid #ccc; - border-radius: 0; - height: 34px; - margin-bottom: 5px; - padding: 5px; -} - -.item input[type="text"], .item input[type="email"], .item input[type="password"], .item textarea, .item select, .item input[type="tel"] { - width: 100%; -} - -textarea { - height: 80px; -} - -label { - padding-right: 7px; - padding-bottom: 3px; -} - -.req { - font-size: 13px; -} - -.actions { - padding: 10px 0; -} - -/* For inputs that shouldn't be 100% wide but you also don't want in a grid-like structure */ -.short-input label { - display: block; -} - -.short-input input { - max-width: 350px; - width: 100%; -} - -/* Placeholder styling */ -::-webkit-input-placeholder { - color: #ccc; - opacity: 1; -} - -::-moz-placeholder { - color: #ccc; - opacity: 1; -} - -:-ms-input-placeholder { - color: #ccc; - opacity: 1; -} - -:-moz-placeholder { - color: #ccc; - opacity: 1; -} - -/* Styling classes for forms, can be used for other things that need similar formatting */ -/* - "item" = class name of element you wrap a row in, so say you have 2 halfi you need in a row, you wrap it in an element called "item". - There's no styles for "item" in particular, but some of the forms stylings below require the form elements to be wrapped in an element named "item" to work. - Each field needs a clearfix as this method uses floats. -*/ -@media only screen and (min-width : 500px) and (max-width : 700px) { - .item > .halfi, .item > .onethirdi, .item > .twothirdi, .item > .fifteeni, .item > .eightyfivei { - float: left; - width: calc(100% / 2 - 11px); - } - - .item > .halfi:nth-of-type(2n + 1), .item > .onethirdi:nth-of-type(2n + 1), .item > .twothirdi:nth-of-type(2n + 1), .item > .fifteeni:nth-of-type(2n + 1), .item > .eightyfivei:nth-of-type(2n + 1) { - margin-right: 10px; - } - - .item > .halfi:nth-of-type(2n + 2), .item > .onethirdi:nth-of-type(2n + 2), .item > .twothirdi:nth-of-type(2n + 2), .item > .fifteeni:nth-of-type(2n + 2), .item > .eightyfivei:nth-of-type(2n + 2) { - margin-left: 10px; - } -} - -@media only screen and (min-width : 701px) { - .halfi, .onethirdi, .twothirdi, .fifteeni, .eightyfivei { - float: left; - } - - .halfi:nth-of-type(2n + 1), .onethirdi:nth-of-type(2n + 1), .twothirdi:nth-of-type(2n + 1), .fifteeni:nth-of-type(2n + 1), .eightyfivei:nth-of-type(2n + 1) { - margin-right: 10px; /* every second item starting from the first has a right margin */ - } - - .halfi:nth-of-type(2n + 2), .onethirdi:nth-of-type(2n + 2), .twothirdi:nth-of-type(2n + 2), .fifteeni:nth-of-type(2n + 2), .eightyfivei:nth-of-type(2n + 2) { - margin-left: 10px; /* every second item starting from the second has a left margin */ - } - - .halfi { - width: calc(100% / 2 - 11px); /* 1/2 column - 11px for the margin */ - } - - .onethirdi, .fifteeni { - width: calc(100% * 1/3 - 11px); /* 1/3 column - 11px for the margin */ - } - - .twothirdi, .eightyfivei { - width: calc(100% * 2/3 - 11px); /* 2/3 column - 11px for the margin */ - } -} - -@media only screen and (min-width : 1100px) { - .fifteeni { - width: calc(100% * 3/20 - 11px); /* 3/20 column - 11px for the margin */ - } - - .eightyfivei { - width: calc(100% * 17/20 - 11px); /* 17/20 column - 11px for the margin */ - } -} - -/* "checki" and "radioi" = classes to use with checkboxes and radio buttons for styling */ -.checki, .radioi { - margin-bottom: 5px; -} diff --git a/site/trunk/css/magnific-popup.css b/site/trunk/css/magnific-popup.css deleted file mode 100644 index 3d6d1b6..0000000 --- a/site/trunk/css/magnific-popup.css +++ /dev/null @@ -1,370 +0,0 @@ -/* Magnific Popup CSS */ -.mfp-bg { - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 1042; - overflow: hidden; - position: fixed; - background: #0b0b0b; - opacity: 0.8; } - -.mfp-wrap { - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 1043; - position: fixed; - outline: none !important; - -webkit-backface-visibility: hidden; } - -.mfp-container { - text-align: center; - position: absolute; - width: 100%; - height: 100%; - left: 0; - top: 0; - padding: 0 8px; - box-sizing: border-box; } - -.mfp-container:before { - content: ''; - display: inline-block; - height: 100%; - vertical-align: middle; } - -.mfp-align-top .mfp-container:before { - display: none; } - -.mfp-content { - position: relative; - display: inline-block; - vertical-align: middle; - margin: 0 auto; - text-align: left; - z-index: 1045; } - -.mfp-inline-holder .mfp-content, -.mfp-ajax-holder .mfp-content { - width: 100%; - cursor: auto; } - -.mfp-ajax-cur { - cursor: progress; } - -.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close { - cursor: -moz-zoom-out; - cursor: -webkit-zoom-out; - cursor: zoom-out; } - -.mfp-zoom { - cursor: pointer; - cursor: -webkit-zoom-in; - cursor: -moz-zoom-in; - cursor: zoom-in; } - -.mfp-auto-cursor .mfp-content { - cursor: auto; } - -.mfp-close, -.mfp-arrow, -.mfp-preloader, -.mfp-counter { - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; } - -.mfp-loading.mfp-figure { - display: none; } - -.mfp-hide { - display: none !important; } - -.mfp-preloader { - color: #CCC; - position: absolute; - top: 50%; - width: auto; - text-align: center; - margin-top: -0.8em; - left: 8px; - right: 8px; - z-index: 1044; } - .mfp-preloader a { - color: #CCC; } - .mfp-preloader a:hover { - color: #FFF; } - -.mfp-s-ready .mfp-preloader { - display: none; } - -.mfp-s-error .mfp-content { - display: none; } - -button.mfp-close, -button.mfp-arrow { - overflow: visible; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; - display: block; - outline: none; - padding: 0; - z-index: 1046; - box-shadow: none; - touch-action: manipulation; } - -button::-moz-focus-inner { - padding: 0; - border: 0; } - -.mfp-close { - width: 44px; - height: 44px; - line-height: 44px; - position: absolute; - right: 0; - top: 0; - text-decoration: none; - text-align: center; - opacity: 0.65; - padding: 0 0 18px 10px; - color: #FFF; - font-style: normal; - font-size: 28px; - font-family: Arial, Baskerville, monospace; } - .mfp-close:hover, - .mfp-close:focus { - opacity: 1; } - .mfp-close:active { - top: 1px; } - -.mfp-close-btn-in .mfp-close { - color: #fff; } - -.mfp-image-holder .mfp-close, -.mfp-iframe-holder .mfp-close { - color: #FFF; - right: -6px; - text-align: right; - padding-right: 6px; - width: 100%; } - -.mfp-counter { - position: absolute; - top: 0; - right: 0; - color: #CCC; - font-size: 12px; - line-height: 18px; - white-space: nowrap; } - -.mfp-arrow { - position: absolute; - opacity: 0.65; - margin: 0; - top: 50%; - margin-top: -55px; - padding: 0; - width: 90px; - height: 110px; - -webkit-tap-highlight-color: transparent; } - .mfp-arrow:active { - margin-top: -54px; } - .mfp-arrow:hover, - .mfp-arrow:focus { - opacity: 1; } - .mfp-arrow:before, - .mfp-arrow:after { - content: ''; - display: block; - width: 0; - height: 0; - position: absolute; - left: 0; - top: 0; - margin-top: 35px; - margin-left: 35px; - border: medium inset transparent; } - .mfp-arrow:after { - border-top-width: 13px; - border-bottom-width: 13px; - top: 8px; } - .mfp-arrow:before { - border-top-width: 21px; - border-bottom-width: 21px; - opacity: 0.7; } - -.mfp-arrow-left { - left: 0; } - .mfp-arrow-left:after { - border-right: 17px solid #FFF; - margin-left: 31px; } - .mfp-arrow-left:before { - margin-left: 25px; - border-right: 27px solid #3F3F3F; } - -.mfp-arrow-right { - right: 0; } - .mfp-arrow-right:after { - border-left: 17px solid #FFF; - margin-left: 39px; } - .mfp-arrow-right:before { - border-left: 27px solid #3F3F3F; } - -.mfp-iframe-holder { - padding-top: 40px; - padding-bottom: 40px; } - .mfp-iframe-holder .mfp-content { - line-height: 0; - width: 100%; - max-width: 900px; } - .mfp-iframe-holder .mfp-close { - top: -40px; } - -.mfp-iframe-scaler { - width: 100%; - height: 0; - overflow: hidden; - padding-top: 56.25%; } - .mfp-iframe-scaler iframe { - position: absolute; - display: block; - top: 0; - left: 0; - width: 100%; - height: 100%; - box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); - background: #000; } - -/* Main image in popup */ -img.mfp-img { - width: auto; - max-width: 100%; - height: auto; - display: block; - line-height: 0; - box-sizing: border-box; - padding: 40px 0 40px; - margin: 0 auto; } - -/* The shadow behind the image */ -.mfp-figure { - line-height: 0; } - .mfp-figure:after { - content: ''; - position: absolute; - left: 0; - top: 40px; - bottom: 40px; - display: block; - right: 0; - width: auto; - height: auto; - z-index: -1; - box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); - background: #444; } - .mfp-figure small { - color: #BDBDBD; - display: block; - font-size: 12px; - line-height: 14px; } - .mfp-figure figure { - margin: 0; } - -.mfp-bottom-bar { - margin-top: -36px; - position: absolute; - top: 100%; - left: 0; - width: 100%; - cursor: auto; } - -.mfp-title { - text-align: left; - line-height: 18px; - color: #F3F3F3; - word-wrap: break-word; - padding-right: 36px; } - -.mfp-image-holder .mfp-content { - max-width: 100%; } - -.mfp-gallery .mfp-image-holder .mfp-figure { - cursor: pointer; } - -@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) { - /** - * Remove all paddings around the image on small screen - */ - .mfp-img-mobile .mfp-image-holder { - padding-left: 0; - padding-right: 0; } - .mfp-img-mobile img.mfp-img { - padding: 0; } - .mfp-img-mobile .mfp-figure:after { - top: 0; - bottom: 0; } - .mfp-img-mobile .mfp-figure small { - display: inline; - margin-left: 5px; } - .mfp-img-mobile .mfp-bottom-bar { - background: rgba(0, 0, 0, 0.6); - bottom: 0; - margin: 0; - top: auto; - padding: 3px 5px; - position: fixed; - box-sizing: border-box; } - .mfp-img-mobile .mfp-bottom-bar:empty { - padding: 0; } - .mfp-img-mobile .mfp-counter { - right: 5px; - top: 3px; } - .mfp-img-mobile .mfp-close { - top: 0; - right: 0; - width: 35px; - height: 35px; - line-height: 35px; - background: rgba(0, 0, 0, 0.6); - position: fixed; - text-align: center; - padding: 0; } } - -@media all and (max-width: 900px) { - .mfp-arrow { - -webkit-transform: scale(0.75); - transform: scale(0.75); } - .mfp-arrow-left { - -webkit-transform-origin: 0; - transform-origin: 0; } - .mfp-arrow-right { - -webkit-transform-origin: 100%; - transform-origin: 100%; } - .mfp-container { - padding-left: 6px; - padding-right: 6px; } } - - -.white-popup-block { - background: #202020; - padding: 20px 30px; - text-align: left; - max-width: 650px; - margin: 40px auto; - position: relative; -} - /*.white-popup-block a { - color: #008acc; - } - .white-popup-block a:hover { - color: #0a0; - } - .white-popup-block h1 { - color: #0a0; - }*/ \ No newline at end of file diff --git a/site/trunk/css/noty/noty.css b/site/trunk/css/noty/noty.css deleted file mode 100644 index 7cbdfb4..0000000 --- a/site/trunk/css/noty/noty.css +++ /dev/null @@ -1,216 +0,0 @@ -.noty_layout_mixin, #noty_layout__top, #noty_layout__topLeft, #noty_layout__topCenter, #noty_layout__topRight, #noty_layout__bottom, #noty_layout__bottomLeft, #noty_layout__bottomCenter, #noty_layout__bottomRight, #noty_layout__center, #noty_layout__centerLeft, #noty_layout__centerRight { - position: fixed; - margin: 0; - padding: 0; - z-index: 9999999; - -webkit-transform: translateZ(0) scale(1, 1); - transform: translateZ(0) scale(1, 1); - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-font-smoothing: subpixel-antialiased; - filter: blur(0); - -webkit-filter: blur(0); - max-width: 90%; } - -#noty_layout__top { - top: 0; - left: 5%; - width: 90%; } - -#noty_layout__topLeft { - top: 20px; - left: 20px; - width: 325px; } - -#noty_layout__topCenter { - top: 5%; - left: 50%; - width: 325px; - -webkit-transform: translate(-webkit-calc(-50% - .5px)) translateZ(0) scale(1, 1); - transform: translate(calc(-50% - .5px)) translateZ(0) scale(1, 1); } - -#noty_layout__topRight { - top: 20px; - right: 20px; - width: 325px; } - -#noty_layout__bottom { - bottom: 0; - left: 5%; - width: 90%; } - -#noty_layout__bottomLeft { - bottom: 20px; - left: 20px; - width: 325px; } - -#noty_layout__bottomCenter { - bottom: 5%; - left: 50%; - width: 325px; - -webkit-transform: translate(-webkit-calc(-50% - .5px)) translateZ(0) scale(1, 1); - transform: translate(calc(-50% - .5px)) translateZ(0) scale(1, 1); } - -#noty_layout__bottomRight { - bottom: 20px; - right: 20px; - width: 325px; } - -#noty_layout__center { - top: 50%; - left: 50%; - width: 325px; - -webkit-transform: translate(-webkit-calc(-50% - .5px), -webkit-calc(-50% - .5px)) translateZ(0) scale(1, 1); - transform: translate(calc(-50% - .5px), calc(-50% - .5px)) translateZ(0) scale(1, 1); } - -#noty_layout__centerLeft { - top: 50%; - left: 20px; - width: 325px; - -webkit-transform: translate(0, -webkit-calc(-50% - .5px)) translateZ(0) scale(1, 1); - transform: translate(0, calc(-50% - .5px)) translateZ(0) scale(1, 1); } - -#noty_layout__centerRight { - top: 50%; - right: 20px; - width: 325px; - -webkit-transform: translate(0, -webkit-calc(-50% - .5px)) translateZ(0) scale(1, 1); - transform: translate(0, calc(-50% - .5px)) translateZ(0) scale(1, 1); } - -.noty_progressbar { - display: none; } - -.noty_has_timeout.noty_has_progressbar .noty_progressbar { - display: block; - position: absolute; - left: 0; - bottom: 0; - height: 3px; - width: 100%; - background-color: #646464; - opacity: 0.2; - filter: alpha(opacity=10); } - -.noty_bar { - -webkit-backface-visibility: hidden; - -webkit-transform: translate(0, 0) translateZ(0) scale(1, 1); - -ms-transform: translate(0, 0) scale(1, 1); - transform: translate(0, 0) scale(1, 1); - -webkit-font-smoothing: subpixel-antialiased; - overflow: hidden; } - -.noty_effects_open { - opacity: 0; - -webkit-transform: translate(50%); - -ms-transform: translate(50%); - transform: translate(50%); - -webkit-animation: noty_anim_in 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); - animation: noty_anim_in 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); - -webkit-animation-fill-mode: forwards; - animation-fill-mode: forwards; } - -.noty_effects_close { - -webkit-animation: noty_anim_out 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); - animation: noty_anim_out 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); - -webkit-animation-fill-mode: forwards; - animation-fill-mode: forwards; } - -.noty_fix_effects_height { - -webkit-animation: noty_anim_height 75ms ease-out; - animation: noty_anim_height 75ms ease-out; } - -.noty_close_with_click { - cursor: pointer; } - -.noty_close_button { - position: absolute; - top: 2px; - right: 2px; - font-weight: bold; - width: 20px; - height: 20px; - text-align: center; - line-height: 20px; - background-color: rgba(0, 0, 0, 0.05); - border-radius: 2px; - cursor: pointer; - -webkit-transition: all .2s ease-out; - transition: all .2s ease-out; } - -.noty_close_button:hover { - background-color: rgba(0, 0, 0, 0.1); } - -.noty_modal { - position: fixed; - width: 100%; - height: 100%; - background-color: #000; - z-index: 10000; - opacity: .3; - left: 0; - top: 0; } - -.noty_modal.noty_modal_open { - opacity: 0; - -webkit-animation: noty_modal_in .3s ease-out; - animation: noty_modal_in .3s ease-out; } - -.noty_modal.noty_modal_close { - -webkit-animation: noty_modal_out .3s ease-out; - animation: noty_modal_out .3s ease-out; - -webkit-animation-fill-mode: forwards; - animation-fill-mode: forwards; } - -@-webkit-keyframes noty_modal_in { - 100% { - opacity: .3; } } - -@keyframes noty_modal_in { - 100% { - opacity: .3; } } - -@-webkit-keyframes noty_modal_out { - 100% { - opacity: 0; } } - -@keyframes noty_modal_out { - 100% { - opacity: 0; } } - -@keyframes noty_modal_out { - 100% { - opacity: 0; } } - -@-webkit-keyframes noty_anim_in { - 100% { - -webkit-transform: translate(0); - transform: translate(0); - opacity: 1; } } - -@keyframes noty_anim_in { - 100% { - -webkit-transform: translate(0); - transform: translate(0); - opacity: 1; } } - -@-webkit-keyframes noty_anim_out { - 100% { - -webkit-transform: translate(50%); - transform: translate(50%); - opacity: 0; } } - -@keyframes noty_anim_out { - 100% { - -webkit-transform: translate(50%); - transform: translate(50%); - opacity: 0; } } - -@-webkit-keyframes noty_anim_height { - 100% { - height: 0; } } - -@keyframes noty_anim_height { - 100% { - height: 0; } } - -/*# sourceMappingURL=noty.css.map*/ \ No newline at end of file diff --git a/site/trunk/css/noty/relax.css b/site/trunk/css/noty/relax.css deleted file mode 100644 index f5f99ec..0000000 --- a/site/trunk/css/noty/relax.css +++ /dev/null @@ -1,46 +0,0 @@ -.noty_theme__relax.noty_bar { - margin: 4px 0; - overflow: hidden; - border-radius: 2px; - position: relative; } - .noty_theme__relax.noty_bar .noty_body { - padding: 10px; } - .noty_theme__relax.noty_bar .noty_buttons { - border-top: 1px solid #e7e7e7; - padding: 5px 10px; } - -.noty_theme__relax.noty_type__alert, -.noty_theme__relax.noty_type__notification { - background-color: #fff; - border: 1px solid #dedede; - color: #444; } - -.noty_theme__relax.noty_type__warning { - background-color: #FFEAA8; - border: 1px solid #FFC237; - color: #826200; } - .noty_theme__relax.noty_type__warning .noty_buttons { - border-color: #dfaa30; } - -.noty_theme__relax.noty_type__error { - background-color: #FF8181; - border: 1px solid #e25353; - color: #FFF; } - .noty_theme__relax.noty_type__error .noty_buttons { - border-color: darkred; } - -.noty_theme__relax.noty_type__info, -.noty_theme__relax.noty_type__information { - background-color: #78C5E7; - border: 1px solid #3badd6; - color: #FFF; } - .noty_theme__relax.noty_type__info .noty_buttons, - .noty_theme__relax.noty_type__information .noty_buttons { - border-color: #0B90C4; } - -.noty_theme__relax.noty_type__success { - background-color: #BCF5BC; - border: 1px solid #7cdd77; - color: darkgreen; } - .noty_theme__relax.noty_type__success .noty_buttons { - border-color: #50C24E; } diff --git a/site/trunk/css/old.css b/site/trunk/css/old.css deleted file mode 100644 index 9d0ae5d..0000000 --- a/site/trunk/css/old.css +++ /dev/null @@ -1,66 +0,0 @@ -@font-face { - font-family: 'Vipnagorgialla'; - src: url('../fonts/vipnagorgialla.woff2') format('woff2'), url('../fonts/vipnagorgialla.woff') format('woff'), url('../fonts/vipnagorgialla-webfont.eot'); - font-weight: normal; - font-style: normal; -} - -body { - background-color: #000; - color: #fff; - font-family: Arial, Helvetica, sans-serif; - font-size: .9em; -} - -h1, h2 { - font-style: italic; - font-family: 'Vipnagorgialla', Arial, sans-serif; -} -h1{ - color: #0f0; -} -h2{ - color: #fff; - text-transform: uppercase; -} -#thumbList ul { - list-style: none; -} -#thumbList li { - display: inline-block; - padding: 5px; -} -.menu ul { - list-style: none; -} -.menu li { - display: inline-block; - padding: 5px; -} -.epsList ul { - list-style: none; -} -.epsList li { - display: inline-block; - padding: 5px; -} -.epsList li a { - display: inline-block; - text-align: center; -} -a:link { - color: #FFFF00 -} - -a:visited { - color: #66CC66 -} - -a:active { - color: #000000; - background: #669966 -} - -a:hover { - text-decoration: none -} \ No newline at end of file diff --git a/site/trunk/css/reset.css b/site/trunk/css/reset.css deleted file mode 100644 index 36d8d44..0000000 --- a/site/trunk/css/reset.css +++ /dev/null @@ -1,833 +0,0 @@ -/* EM EQUATION: 1 / Xpx * Ypx = Nem | X = parent font size (ie: 16px), Y = px of the element you're changing (ie: 12px), N = resulting em (ie: .75em)*/ -/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */ - -/* Document - ========================================================================== */ - -/** - * 1. Correct the line height in all browsers. - * 2. Prevent adjustments of font size after orientation changes in - * IE on Windows Phone and in iOS. - */ - -html { - line-height: 1.15; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/* Sections - ========================================================================== */ - -/** - * Remove the margin in all browsers (opinionated). - */ - -body { - margin: 0; -} - -/** - * Add the correct display in IE 9-. - */ - -article, -aside, -footer, -header, -nav, -section { - display: block; -} - -/** - * Correct the font size and margin on `h1` elements within `section` and - * `article` contexts in Chrome, Firefox, and Safari. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/* Grouping content - ========================================================================== */ - -/** - * Add the correct display in IE 9-. - * 1. Add the correct display in IE. - */ - -figcaption, -figure, -main { /* 1 */ - display: block; -} - -/** - * Add the correct margin in IE 8. - */ - -figure { - margin: 1em 40px; -} - -/** - * 1. Add the correct box sizing in Firefox. - * 2. Show the overflow in Edge and IE. - */ - -hr { - box-sizing: content-box; /* 1 */ - height: 0; /* 1 */ - overflow: visible; /* 2 */ -} - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ - -pre { - font-family: monospace, monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/* Text-level semantics - ========================================================================== */ - -/** - * 1. Remove the gray background on active links in IE 10. - * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. - */ - -a { - background-color: transparent; /* 1 */ - -webkit-text-decoration-skip: objects; /* 2 */ -} - -/** - * 1. Remove the bottom border in Chrome 57- and Firefox 39-. - * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. - */ - -abbr[title] { - border-bottom: none; /* 1 */ - text-decoration: underline; /* 2 */ - text-decoration: underline dotted; /* 2 */ -} - -/** - * Prevent the duplicate application of `bolder` by the next rule in Safari 6. - */ - -b, -strong { - font-weight: inherit; -} - -/** - * Add the correct font weight in Chrome, Edge, and Safari. - */ - -b, -strong { - font-weight: bolder; -} - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ - -code, -kbd, -samp { - font-family: monospace, monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/** - * Add the correct font style in Android 4.3-. - */ - -dfn { - font-style: italic; -} - -/** - * Add the correct background and color in IE 9-. - */ - -mark { - background-color: #ff0; - color: #000; -} - -/** - * Add the correct font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` elements from affecting the line height in - * all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* Embedded content - ========================================================================== */ - -/** - * Add the correct display in IE 9-. - */ - -audio, -video { - display: inline-block; -} - - /** - * Add the correct display in iOS 4-7. - */ - - audio:not([controls]) { - display: none; - height: 0; - } - -/** - * Remove the border on images inside links in IE 10-. - */ - -img { - border-style: none; -} - -/** - * Hide the overflow in IE. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Forms - ========================================================================== */ - -/** - * 1. Change the font styles in all browsers (opinionated). - * 2. Remove the margin in Firefox and Safari. - */ - -button, -input, -optgroup, -select, -textarea { - font-family: sans-serif; /* 1 */ - font-size: 100%; /* 1 */ - line-height: 1.15; /* 1 */ - margin: 0; /* 2 */ -} - -/** - * Show the overflow in IE. - * 1. Show the overflow in Edge. - */ - -button, -input { /* 1 */ - overflow: visible; -} - -/** - * Remove the inheritance of text transform in Edge, Firefox, and IE. - * 1. Remove the inheritance of text transform in Firefox. - */ - -button, -select { /* 1 */ - text-transform: none; -} - -/** - * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` - * controls in Android 4. - * 2. Correct the inability to style clickable types in iOS and Safari. - */ - -button, -html [type="button"], /* 1 */ -[type="reset"], -[type="submit"] { - -webkit-appearance: button; /* 2 */ -} - - /** - * Remove the inner border and padding in Firefox. - */ - - button::-moz-focus-inner, - [type="button"]::-moz-focus-inner, - [type="reset"]::-moz-focus-inner, - [type="submit"]::-moz-focus-inner { - border-style: none; - padding: 0; - } - - /** - * Restore the focus styles unset by the previous rule. - */ - - button:-moz-focusring, - [type="button"]:-moz-focusring, - [type="reset"]:-moz-focusring, - [type="submit"]:-moz-focusring { - outline: 1px dotted ButtonText; - } - -/** - * Correct the padding in Firefox. - */ - -fieldset { - padding: 0.35em 0.75em 0.625em; -} - -/** - * 1. Correct the text wrapping in Edge and IE. - * 2. Correct the color inheritance from `fieldset` elements in IE. - * 3. Remove the padding so developers are not caught out when they zero out - * `fieldset` elements in all browsers. - */ - -legend { - box-sizing: border-box; /* 1 */ - color: inherit; /* 2 */ - display: table; /* 1 */ - max-width: 100%; /* 1 */ - padding: 0; /* 3 */ - white-space: normal; /* 1 */ -} - -/** - * 1. Add the correct display in IE 9-. - * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. - */ - -progress { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ -} - -/** - * Remove the default vertical scrollbar in IE. - */ - -textarea { - overflow: auto; -} - -/** - * 1. Add the correct box sizing in IE 10-. - * 2. Remove the padding in IE 10-. - */ - -[type="checkbox"], -[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Correct the cursor style of increment and decrement buttons in Chrome. - */ - -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Correct the odd appearance in Chrome and Safari. - * 2. Correct the outline style in Safari. - */ - -[type="search"] { - -webkit-appearance: textfield; /* 1 */ - outline-offset: -2px; /* 2 */ -} - - /** - * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. - */ - - [type="search"]::-webkit-search-cancel-button, - [type="search"]::-webkit-search-decoration { - -webkit-appearance: none; - } - -/** - * 1. Correct the inability to style clickable types in iOS and Safari. - * 2. Change font properties to `inherit` in Safari. - */ - -::-webkit-file-upload-button { - -webkit-appearance: button; /* 1 */ - font: inherit; /* 2 */ -} - -/* Interactive - ========================================================================== */ - -/* - * Add the correct display in IE 9-. - * 1. Add the correct display in Edge, IE, and Firefox. - */ - -details, /* 1 */ -menu { - display: block; -} - -/* - * Add the correct display in all browsers. - */ - -summary { - display: list-item; -} - -/* Scripting - ========================================================================== */ - -/** - * Add the correct display in IE 9-. - */ - -canvas { - display: inline-block; -} - -/** - * Add the correct display in IE. - */ - -template { - display: none; -} - -/* Hidden - ========================================================================== */ - -/** - * Add the correct display in IE 10-. - */ - -[hidden] { - display: none; -} - -/************************* Ideal Cart resets *************************/ -/* Makes all images responsive ready */ -:root * > img { - max-width: 100%; -} - -/* Give every element this box-sizing and position of relative */ -*, *:after, *:before { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - position: relative; -} - -/* Always keeps a scrollbar present even when there isn't an overflow on the browser window. Helps prevent janky behavior when a scrollbar appear/disappears. */ -html { - overflow-y: scroll; -} - -/* Horizontal Rule styling */ -hr { - display: block; - height: 1px; - border: 0; - border-top: 1px solid #ccc; - margin: 20px 0; - padding: 0; -} - -/* For when you want some small, aside text */ -.notes { - font-size: 12px; - font-style: italic; - margin: 5px 0; -} - -/* Clearfix for floating elements */ -.cf:after, .cf:before { - content: " "; - display: table; -} - -.cf:after { - clear: both; -} - -/* Modular class for overflow hidden */ -.overflow-hidden { - overflow: hidden; -} - -/* Hide Text */ -.ht { - border: 0; - clip: rect(0 0 0 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; -} - -/*Archived ht, kept just in case*/ -/*.ht { - display: block; - font-size: 0; - overflow: hidden; - text-indent: 100%; - white-space: nowrap; -}*/ - -/* Center */ -.c { - text-align: center; -} - -/* Right */ -.r { - text-align: right; -} - -/* Left */ -.l { - text-align: left; -} - -/* Float Left class for elements */ -.fl { - float: left; - margin: 0 20px 15px 0; - max-width: 600px; -} - -/* Float Right class for elements */ -.fr { - float: right; - margin: 0 0 15px 20px; -} - - /* Float classes for videos */ - .fl.fl-video, .fr.fr-video { - max-width: 400px; - width: 100%; - } - - /* Center images in floats when on small screens */ - .fl > img, .fr > img { - display: block; - margin: 0 auto; - } - -@media only screen and (max-width : 750px) { - /* Taking off the float styles used on images */ - .fr, .fl { - display: block; - float: none !important; - margin: 10px auto !important; - } -} - -/*List reset to get rid of bullets and such*/ -.lr ul, ul.lr { - list-style: none; - margin: 0; - padding: 0; -} - -/* Skip link for accessibility*/ -#skip a { - position: absolute; - left: -10000px; - top: auto; - width: 1px; - height: 1px; - overflow: hidden; -} - - #skip a:focus { - position: static; - width: auto; - height: auto; - } - -/* Margin classes */ -/* No margin */ -.nm { - margin: 0 !important; -} - -/* Margin bottom */ -.mb-10 { - margin-bottom: 10px; -} - -.mb-15 { - margin-bottom: 15px; -} - -.mb-20 { - margin-bottom: 20px; -} - -.mb-30 { - margin-bottom: 30px; -} - -.mb-40 { - margin-bottom: 40px; -} - -/* Margin top*/ -.mt-10 { - margin-top: 10px; -} - -.mt-15 { - margin-top: 15px; -} - -.mt-20 { - margin-top: 20px; -} - -.mt-30 { - margin-top: 30px; -} - -.mt-40 { - margin-top: 40px; -} - -/* Padding classes */ -/* No padding */ -.np { - padding: 0 !important; -} - -/* Padding left */ -.pl-10 { - padding-left: 10px; -} - -.pl-15 { - padding-left: 15px; -} - -.pl-20 { - padding-left: 20px; -} - -.pl-30 { - padding-left: 20px; -} - -.pl-40 { - padding-left: 40px; -} - -/* Padding right */ -.pr-10 { - padding-right: 10px; -} - -.pr-15 { - padding-right: 15px; -} - -.pr-20 { - padding-right: 20px; -} - -.pr-30 { - padding-right: 30px; -} - -.pr-40 { - padding-right: 40px; -} - -/* Styles for putting things like search in one line */ -.search-wrapper { - max-width: 350px; - width: 100%; -} - - .search-wrapper > * { - float: left; - } - - .search-wrapper .search-field { - width: calc(100% - 50px); - } - - .search-wrapper .search-field input { - margin-bottom: 0; - width: 100%; - } - - .search-wrapper .search-button { - width: 50px; - } - - .search-wrapper input, .search-wrapper button { - margin: 0; - } - -/* No Javascript Message - This is controlled using Modernizr, if it detects no js it doesn't remove the "no-js" class from the html element */ -.no-js body { - overflow: hidden; -} - -.js .no-js-message-wrapper { - display: none; -} - -.no-js .no-js-message-wrapper { - background: rgba(255,255,255,.9); - bottom: 0; - left: 0; - position: absolute; - right: 0; - top: 0; - width: 100%; - height: 100%; - z-index: 999999; -} - -.no-js .no-js-message { - background: #F4E6E6; - padding: 50px 30px; - text-align: center; - z-index: 999990; -} - - .no-js .no-js-message h5 { - color: #C44442; - } - -/* Admin edit link */ -.edit-page-btn { - bottom: 0; - position: fixed; - right: 0; - z-index: 1040; -} - - .edit-page-btn a, .edit-page-btn a:visited { - background: rgba(0,0,0,.8); - color: #fafafa; - display: block; - font-size: 14px; - padding: 15px; - text-decoration: none; - -webkit-transition: background .3s; - transition: background .3s; - } - - .edit-page-btn a:hover, .edit-page-btn a:focus { - background: rgba(0,0,0,.95); - color: #fafafa; - text-decoration: none; - } - -@media only screen and (min-width : 1500px) { - .edit-page-btn a { - font-size: 18px; - } -} - -/* Buttons */ -button.btn, .btn a, a.btn, input[type="submit"], button[type="submit"], -input[disabled]:hover, button[disabled]:hover, a[disabled]:hover { - background: #333; - border: 0; - color: #fafafa; - cursor: pointer; - display: inline-block; - padding: 10px 15px; - text-decoration: none; -} - - button.btn-secondary, .btn-secondary a, a.btn-secondary, input[type="submit"].btn-secondary, button[type="submit"].btn-secondary { - background: #5f5f5f; - } - - button.btn-cancel, .btn-cancel a, a.btn-cancel, input[type="submit"].btn-cancel, button[type="submit"].btn-cancel { - background: #9e9e9e; - color: #fafafa; - } - - button.btn-small, .btn-small a, a.btn-small, input[type="submit"].btn-small, button[type="submit"].btn-small { - font-size: .9em !important; - padding: 8px 12px; - } - - button:hover.btn, .btn a:hover, a:hover.btn, input[type="submit"]:hover, button[type="submit"]:hover, - button:focus.btn, .btn a:focus, a:focus.btn, input[type="submit"]:focus, button[type="submit"]:focus { - background: #000; - } - -input[disabled], button[disabled], a[disabled] { - cursor: default !important; - opacity: .4; -} - - input[disabled]:hover, button[disabled]:hover, a[disabled]:hover { - background: #333; - color: #fafafa; - } - - button[disabled].btn-secondary:hover, .btn-secondary a.disabled:hover, a.btn-secondary.disabled:hover, input[type="submit"][disabled].btn-secondary:hover, button[type="submit"][disabled].btn-secondary:hover { - background: #5f5f5f; - } - -/* Validations */ -.error, .req { - color: #BA2525; -} - -.success { - color: #589B22; -} diff --git a/site/trunk/fonts/fa/FontAwesome.otf b/site/trunk/fonts/fa/FontAwesome.otf deleted file mode 100644 index 401ec0f..0000000 Binary files a/site/trunk/fonts/fa/FontAwesome.otf and /dev/null differ diff --git a/site/trunk/fonts/fa/fontawesome-webfont.eot b/site/trunk/fonts/fa/fontawesome-webfont.eot deleted file mode 100644 index e9f60ca..0000000 Binary files a/site/trunk/fonts/fa/fontawesome-webfont.eot and /dev/null differ diff --git a/site/trunk/fonts/fa/fontawesome-webfont.svg b/site/trunk/fonts/fa/fontawesome-webfont.svg deleted file mode 100644 index 855c845..0000000 --- a/site/trunk/fonts/fa/fontawesome-webfont.svg +++ /dev/null @@ -1,2671 +0,0 @@ - - - - -Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 - By ,,, -Copyright Dave Gandy 2016. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/site/trunk/fonts/fa/fontawesome-webfont.ttf b/site/trunk/fonts/fa/fontawesome-webfont.ttf deleted file mode 100644 index 35acda2..0000000 Binary files a/site/trunk/fonts/fa/fontawesome-webfont.ttf and /dev/null differ diff --git a/site/trunk/fonts/fa/fontawesome-webfont.woff b/site/trunk/fonts/fa/fontawesome-webfont.woff deleted file mode 100644 index 400014a..0000000 Binary files a/site/trunk/fonts/fa/fontawesome-webfont.woff and /dev/null differ diff --git a/site/trunk/fonts/fa/fontawesome-webfont.woff2 b/site/trunk/fonts/fa/fontawesome-webfont.woff2 deleted file mode 100644 index 4d13fc6..0000000 Binary files a/site/trunk/fonts/fa/fontawesome-webfont.woff2 and /dev/null differ diff --git a/site/trunk/fonts/fa/license.txt b/site/trunk/fonts/fa/license.txt deleted file mode 100644 index 3066516..0000000 --- a/site/trunk/fonts/fa/license.txt +++ /dev/null @@ -1,11 +0,0 @@ -The Font Awesome font is licensed under the SIL OFL 1.1: - - http://scripts.sil.org/OFL - -Font Awesome CSS, LESS, and Sass files are licensed under the MIT License: - - https://opensource.org/licenses/mit-license.html - -The Font Awesome documentation is licensed under the CC BY 3.0 License: - - http://creativecommons.org/licenses/by/3.0/ diff --git a/site/trunk/fonts/vipnagorgialla-webfont.eot b/site/trunk/fonts/vipnagorgialla-webfont.eot deleted file mode 100644 index 0eba842..0000000 Binary files a/site/trunk/fonts/vipnagorgialla-webfont.eot and /dev/null differ diff --git a/site/trunk/fonts/vipnagorgialla.woff b/site/trunk/fonts/vipnagorgialla.woff deleted file mode 100644 index 47a8b73..0000000 Binary files a/site/trunk/fonts/vipnagorgialla.woff and /dev/null differ diff --git a/site/trunk/fonts/vipnagorgialla.woff2 b/site/trunk/fonts/vipnagorgialla.woff2 deleted file mode 100644 index 3b646a3..0000000 Binary files a/site/trunk/fonts/vipnagorgialla.woff2 and /dev/null differ diff --git a/site/trunk/images/body-bg.png b/site/trunk/images/body-bg.png deleted file mode 100644 index 64df566..0000000 Binary files a/site/trunk/images/body-bg.png and /dev/null differ diff --git a/site/trunk/images/body-bg2.png b/site/trunk/images/body-bg2.png deleted file mode 100644 index 7a219d1..0000000 Binary files a/site/trunk/images/body-bg2.png and /dev/null differ diff --git a/site/trunk/images/kp1.png b/site/trunk/images/kp1.png deleted file mode 100644 index 9a889a2..0000000 Binary files a/site/trunk/images/kp1.png and /dev/null differ diff --git a/site/trunk/images/kpfwlogo.jpg b/site/trunk/images/kpfwlogo.jpg deleted file mode 100644 index 5743180..0000000 Binary files a/site/trunk/images/kpfwlogo.jpg and /dev/null differ diff --git a/site/trunk/images/logo.jpg b/site/trunk/images/logo.jpg deleted file mode 100644 index 2f6c0f5..0000000 Binary files a/site/trunk/images/logo.jpg and /dev/null differ diff --git a/site/trunk/images/swipe-icon.png b/site/trunk/images/swipe-icon.png deleted file mode 100644 index fc54592..0000000 Binary files a/site/trunk/images/swipe-icon.png and /dev/null differ diff --git a/site/trunk/js/CustomLock.js b/site/trunk/js/CustomLock.js deleted file mode 100644 index 683aa21..0000000 --- a/site/trunk/js/CustomLock.js +++ /dev/null @@ -1,22 +0,0 @@ -// Custom form lock -function CustomLock(submitControl, hiddenField, customText) { - customText = typeof customText !== 'undefined' ? customText : "Check this box to prove you're human"; - var sbmt = document.getElementById(submitControl); - sbmt.setAttribute('disabled', 'disabled'); - sbmt.insertAdjacentHTML('beforebegin', "

"); - sbmt.insertAdjacentHTML('beforebegin', ""); - hField = hiddenField; - sControl = submitControl; -} - -function UnlockForm(checkControl, sControl, hField) { - var sbmt = document.getElementById(sControl); - var hf = document.getElementById(hField); - if (checkControl.checked) { - sbmt.removeAttribute("disabled"); - hf.value = "10"; - } else { - sbmt.setAttribute('disabled', 'disabled'); - hf.value = ""; - } -} \ No newline at end of file diff --git a/site/trunk/js/double-tap.js b/site/trunk/js/double-tap.js deleted file mode 100644 index 520cf25..0000000 --- a/site/trunk/js/double-tap.js +++ /dev/null @@ -1,6 +0,0 @@ -/* - Double tap to open normal menu on touch - By Osvaldas Valutis, www.osvaldas.info - Available for use under the MIT License -*/ -!function (t, n, o) { t.fn.doubleTapToGo = function () { return "ontouchstart" in n || navigator.msMaxTouchPoints || navigator.userAgent.toLowerCase().match(/windows phone os 7/i) ? (this.each(function () { var n = !1; t(this).on("click", function (o) { var i = t(this); i[0] != n[0] && (o.preventDefault(), n = i) }), t(o).on("click touchstart MSPointerDown", function (o) { for (var i = !0, a = t(o.target).parents(), e = 0; e < a.length; e++) a[e] == n[0] && (i = !1); i && (n = !1) }) }), this) : !1 } }(jQuery, window, document); \ No newline at end of file diff --git a/site/trunk/js/footer/LICENSE.md b/site/trunk/js/footer/LICENSE.md deleted file mode 100644 index b5e8ef7..0000000 --- a/site/trunk/js/footer/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -# The MIT License (MIT) - -Copyright (c) Go Make Things, LLC - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/site/trunk/js/footer/README.md b/site/trunk/js/footer/README.md deleted file mode 100644 index eacbcb4..0000000 --- a/site/trunk/js/footer/README.md +++ /dev/null @@ -1,125 +0,0 @@ -# Sticky Footer [![Build Status](https://travis-ci.org/cferdinandi/sticky-footer.svg)](https://travis-ci.org/cferdinandi/sticky-footer) -Responsive sticky footers that adjust dynamically as the screen size changes. - -[Download Sticky Footer](https://github.com/cferdinandi/sticky-footer/archive/master.zip) / [View the demo](http://cferdinandi.github.io/sticky-footer/) - - -
- -### Want to learn how to write your own vanilla JS plugins? Check out ["The Vanilla JS Guidebook"](https://gomakethings.com/vanilla-js-guidebook/) and level-up as a web developer. 🚀 - -
- - - -## Getting Started - -Compiled and production-ready code can be found in the `dist` directory. The `src` directory contains development code. - -### 1. Include Sticky Footer on your site. - -```html - -``` - -### 2. Add the markup to your HTML. - -```html -
- Body content -
-
- Footer content -
-``` - -Add the `data-sticky-wrap` attribute to a parent `
` that contains all of your page content. Add the `data-sticky-footer` attribute to the parent `
` that contains all of your footer content. - -### 3. Initialize Sticky Footer. - -```html - -``` - -In the footer of your page, after the content, initialize Sticky Footer. And that's it, you're done. Nice work! - - - -## Installing with Package Managers - -You can install Sticky Footer with your favorite package manager. - -* **NPM:** `npm install cferdinandi/sticky-footer` -* **Bower:** `bower install https://github.com/cferdinandi/sticky-footer.git` -* **Component:** `component install cferdinandi/sticky-footer` - - - -## Working with the Source Files - -If you would prefer, you can work with the development code in the `src` directory using the included [Gulp build system](http://gulpjs.com/). This compiles, lints, and minifies code. - -### Dependencies -Make sure these are installed first. - -* [Node.js](http://nodejs.org) -* [Gulp](http://gulpjs.com) `sudo npm install -g gulp` - -### Quick Start - -1. In bash/terminal/command line, `cd` into your project directory. -2. Run `npm install` to install required files. -3. When it's done installing, run one of the task runners to get going: - * `gulp` manually compiles files. - * `gulp watch` automatically compiles files when changes are made and applies changes using [LiveReload](http://livereload.com/). - - - -## Options and Settings - -Sticky Footer includes smart defaults and works right out of the box. But if you want to customize things, it also has a robust API that provides multiple ways for you to adjust the default options and settings. - -### Global Settings - -You can pass callbacks into Sticky Footer through the `init()` function: - -```javascript -stickyFooter.init({ - selectorWrap: '[data-sticky-wrap]', // Selector for the wrap container (must use a valid CSS selector) - selectorFooter: '[data-sticky-footer]', // Selector for the footer (must use a valid CSS selector) - callback: function () {}, // Runs after the footer is stuck -}); -``` - -### Use Sticky Footer events in your own scripts - -You can also call Sticky Footer events in your own scripts. - -#### destroy() -Destroy the current `stickyFooter.init()`. This is called automatically during the `init` function to remove any existing initializations. - -```javascript -stickyFooter.destroy(); -``` - - - -## Browser Compatibility - -Sticky Footer works in all modern browsers, and IE 9 and above. - -Sticky Footer is built with modern JavaScript APIs, and uses progressive enhancement. If the JavaScript file fails to load, or if your site is viewed on older and less capable browsers, footers will simply float up against the content like they normally would. - - - -## How to Contribute - -In lieu of a formal style guide, take care to maintain the existing coding style. Please apply fixes to both the development and production code. Don't forget to update the version number, and when applicable, the documentation. - - - -## License - -The code is available under the [MIT License](LICENSE.md). \ No newline at end of file diff --git a/site/trunk/js/footer/sticky-footer.js b/site/trunk/js/footer/sticky-footer.js deleted file mode 100644 index 56f0f2d..0000000 --- a/site/trunk/js/footer/sticky-footer.js +++ /dev/null @@ -1,181 +0,0 @@ -/*! - * sticky-footer v4.2.0: Responsive sticky footers - * (c) 2016 Chris Ferdinandi - * MIT License - * http://github.com/cferdinandi/sticky-footer - */ - -(function (root, factory) { - if ( typeof define === 'function' && define.amd ) { - define([], factory(root)); - } else if ( typeof exports === 'object' ) { - module.exports = factory(root); - } else { - root.stickyFooter = factory(root); - } -})(typeof global !== 'undefined' ? global : this.window || this.global, (function (root) { - - 'use strict'; - - // - // Variables - // - - var stickyFooter = {}; // Object for public APIs - var supports = 'querySelector' in document && 'addEventListener' in root; // Feature test - var settings, wrap, footer, eventTimeout; - - // Default settings - var defaults = { - selectorWrap: '[data-sticky-wrap]', - selectorFooter: '[data-sticky-footer]', - callback: function () {} - }; - - - // - // Methods - // - - /** - * Merge two or more objects. Returns a new object. - * @private - * @param {Boolean} deep If true, do a deep (or recursive) merge [optional] - * @param {Object} objects The objects to merge together - * @returns {Object} Merged values of defaults and options - */ - var extend = function () { - - // Variables - var extended = {}; - var deep = false; - var i = 0; - var length = arguments.length; - - // Check if a deep merge - if ( Object.prototype.toString.call( arguments[0] ) === '[object Boolean]' ) { - deep = arguments[0]; - i++; - } - - // Merge the object into the extended object - var merge = function (obj) { - for ( var prop in obj ) { - if ( Object.prototype.hasOwnProperty.call( obj, prop ) ) { - // If deep merge and property is an object, merge properties - if ( deep && Object.prototype.toString.call(obj[prop]) === '[object Object]' ) { - extended[prop] = extend( true, extended[prop], obj[prop] ); - } else { - extended[prop] = obj[prop]; - } - } - } - }; - - // Loop through each object and conduct a merge - for ( ; i < length; i++ ) { - var obj = arguments[i]; - merge(obj); - } - - return extended; - - }; - - /** - * Get height of the viewport - * @private - * @return {Number} Height of the viewport in pixels - */ - var getViewportHeight = function () { - return Math.max( document.documentElement.clientHeight, window.innerHeight || 0 ); - }; - - /** - * Set page wrapper height to fill viewport (minus footer height) - * @private - * @param {Element} wrap Page wrapper - * @param {Element} footer Page footer - * @param {Object} settings - */ - var setWrapHeight = function ( wrap, footer, settings ) { - wrap.style.minHeight = ( getViewportHeight() - footer.offsetHeight ) + 'px'; - settings.callback(); // Run callback - }; - - /** - * Destroy the current initialization. - * @public - */ - stickyFooter.destroy = function () { - - if ( !settings ) return; - - // Unset styles - document.documentElement.style.minHeight = ''; - document.body.style.minHeight = ''; - wrap.style.minHeight = ''; - window.removeEventListener( 'resize', eventThrottler, false ); - - // Reset variables - settings = null; - wrap = null; - footer = null; - eventTimeout = null; - - }; - - /** - * On window scroll and resize, only run events at a rate of 15fps for better performance - * @private - * @param {Function} eventTimeout Timeout function - * @param {NodeList} wrap The content wrapper for the page - * @param {NodeList} footer The footer for the page - * @param {Object} settings - */ - var eventThrottler = function () { - if ( !eventTimeout ) { - eventTimeout = setTimeout((function() { - eventTimeout = null; - setWrapHeight( wrap, footer, settings ); - }), 66); - } - }; - - /** - * Initialize Plugin - * @public - * @param {Object} options User settings - */ - stickyFooter.init = function ( options ) { - - // feature test - if ( !supports ) return; - - // Destroy any existing initializations - stickyFooter.destroy(); - - // Selectors and variables - settings = extend( defaults, options || {} ); // Merge user options with defaults - wrap = document.querySelector( settings.selectorWrap ); - footer = document.querySelector( settings.selectorFooter ); - - // Sanity check - if ( !wrap || !footer ) return; - - // Stick footer - document.documentElement.style.minHeight = '100%'; - document.body.style.minHeight = '100%'; - setWrapHeight( wrap, footer, settings ); - window.addEventListener( 'resize', eventThrottler, false); // Run Sticky Footer on window resize - - }; - - - // - // Public APIs - // - - return stickyFooter; - -})); \ No newline at end of file diff --git a/site/trunk/js/footer/sticky-footer.min.js b/site/trunk/js/footer/sticky-footer.min.js deleted file mode 100644 index c57088f..0000000 --- a/site/trunk/js/footer/sticky-footer.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! sticky-footer v4.2.0 | (c) 2016 Chris Ferdinandi | MIT License | http://github.com/cferdinandi/sticky-footer */ -!(function(e,t){"function"==typeof define&&define.amd?define([],t(e)):"object"==typeof exports?module.exports=t(e):e.stickyFooter=t(e)})("undefined"!=typeof global?global:this.window||this.global,(function(e){"use strict";var t,n,o,i,r={},c="querySelector"in document&&"addEventListener"in e,l={selectorWrap:"[data-sticky-wrap]",selectorFooter:"[data-sticky-footer]",callback:function(){}},u=function(){var e={},t=!1,n=0,o=arguments.length;"[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(t=arguments[0],n++);for(var i=function(n){for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t&&"[object Object]"===Object.prototype.toString.call(n[o])?e[o]=u(!0,e[o],n[o]):e[o]=n[o])};n a ? this[a + this.length] : this[a] : e.call(this) }, pushStack: function (a) { var b = n.merge(this.constructor(), a); return b.prevObject = this, b.context = this.context, b }, each: function (a) { return n.each(this, a) }, map: function (a) { return this.pushStack(n.map(this, function (b, c) { return a.call(b, c, b) })) }, slice: function () { return this.pushStack(e.apply(this, arguments)) }, first: function () { return this.eq(0) }, last: function () { return this.eq(-1) }, eq: function (a) { var b = this.length, c = +a + (0 > a ? b : 0); return this.pushStack(c >= 0 && b > c ? [this[c]] : []) }, end: function () { return this.prevObject || this.constructor() }, push: g, sort: c.sort, splice: c.splice }, n.extend = n.fn.extend = function () { var a, b, c, d, e, f, g = arguments[0] || {}, h = 1, i = arguments.length, j = !1; for ("boolean" == typeof g && (j = g, g = arguments[h] || {}, h++), "object" == typeof g || n.isFunction(g) || (g = {}), h === i && (g = this, h--) ; i > h; h++) if (null != (e = arguments[h])) for (d in e) a = g[d], c = e[d], g !== c && (j && c && (n.isPlainObject(c) || (b = n.isArray(c))) ? (b ? (b = !1, f = a && n.isArray(a) ? a : []) : f = a && n.isPlainObject(a) ? a : {}, g[d] = n.extend(j, f, c)) : void 0 !== c && (g[d] = c)); return g }, n.extend({ expando: "jQuery" + (m + Math.random()).replace(/\D/g, ""), isReady: !0, error: function (a) { throw new Error(a) }, noop: function () { }, isFunction: function (a) { return "function" === n.type(a) }, isArray: Array.isArray || function (a) { return "array" === n.type(a) }, isWindow: function (a) { return null != a && a == a.window }, isNumeric: function (a) { var b = a && a.toString(); return !n.isArray(a) && b - parseFloat(b) + 1 >= 0 }, isEmptyObject: function (a) { var b; for (b in a) return !1; return !0 }, isPlainObject: function (a) { var b; if (!a || "object" !== n.type(a) || a.nodeType || n.isWindow(a)) return !1; try { if (a.constructor && !k.call(a, "constructor") && !k.call(a.constructor.prototype, "isPrototypeOf")) return !1 } catch (c) { return !1 } if (!l.ownFirst) for (b in a) return k.call(a, b); for (b in a); return void 0 === b || k.call(a, b) }, type: function (a) { return null == a ? a + "" : "object" == typeof a || "function" == typeof a ? i[j.call(a)] || "object" : typeof a }, globalEval: function (b) { b && n.trim(b) && (a.execScript || function (b) { a.eval.call(a, b) })(b) }, camelCase: function (a) { return a.replace(p, "ms-").replace(q, r) }, nodeName: function (a, b) { return a.nodeName && a.nodeName.toLowerCase() === b.toLowerCase() }, each: function (a, b) { var c, d = 0; if (s(a)) { for (c = a.length; c > d; d++) if (b.call(a[d], d, a[d]) === !1) break } else for (d in a) if (b.call(a[d], d, a[d]) === !1) break; return a }, trim: function (a) { return null == a ? "" : (a + "").replace(o, "") }, makeArray: function (a, b) { var c = b || []; return null != a && (s(Object(a)) ? n.merge(c, "string" == typeof a ? [a] : a) : g.call(c, a)), c }, inArray: function (a, b, c) { var d; if (b) { if (h) return h.call(b, a, c); for (d = b.length, c = c ? 0 > c ? Math.max(0, d + c) : c : 0; d > c; c++) if (c in b && b[c] === a) return c } return -1 }, merge: function (a, b) { var c = +b.length, d = 0, e = a.length; while (c > d) a[e++] = b[d++]; if (c !== c) while (void 0 !== b[d]) a[e++] = b[d++]; return a.length = e, a }, grep: function (a, b, c) { for (var d, e = [], f = 0, g = a.length, h = !c; g > f; f++) d = !b(a[f], f), d !== h && e.push(a[f]); return e }, map: function (a, b, c) { var d, e, g = 0, h = []; if (s(a)) for (d = a.length; d > g; g++) e = b(a[g], g, c), null != e && h.push(e); else for (g in a) e = b(a[g], g, c), null != e && h.push(e); return f.apply([], h) }, guid: 1, proxy: function (a, b) { var c, d, f; return "string" == typeof b && (f = a[b], b = a, a = f), n.isFunction(a) ? (c = e.call(arguments, 2), d = function () { return a.apply(b || this, c.concat(e.call(arguments))) }, d.guid = a.guid = a.guid || n.guid++, d) : void 0 }, now: function () { return +new Date }, support: l }), "function" == typeof Symbol && (n.fn[Symbol.iterator] = c[Symbol.iterator]), n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (a, b) { i["[object " + b + "]"] = b.toLowerCase() }); function s(a) { var b = !!a && "length" in a && a.length, c = n.type(a); return "function" === c || n.isWindow(a) ? !1 : "array" === c || 0 === b || "number" == typeof b && b > 0 && b - 1 in a } var t = function (a) { var b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u = "sizzle" + 1 * new Date, v = a.document, w = 0, x = 0, y = ga(), z = ga(), A = ga(), B = function (a, b) { return a === b && (l = !0), 0 }, C = 1 << 31, D = {}.hasOwnProperty, E = [], F = E.pop, G = E.push, H = E.push, I = E.slice, J = function (a, b) { for (var c = 0, d = a.length; d > c; c++) if (a[c] === b) return c; return -1 }, K = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", L = "[\\x20\\t\\r\\n\\f]", M = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", N = "\\[" + L + "*(" + M + ")(?:" + L + "*([*^$|!~]?=)" + L + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + M + "))|)" + L + "*\\]", O = ":(" + M + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + N + ")*)|.*)\\)|)", P = new RegExp(L + "+", "g"), Q = new RegExp("^" + L + "+|((?:^|[^\\\\])(?:\\\\.)*)" + L + "+$", "g"), R = new RegExp("^" + L + "*," + L + "*"), S = new RegExp("^" + L + "*([>+~]|" + L + ")" + L + "*"), T = new RegExp("=" + L + "*([^\\]'\"]*?)" + L + "*\\]", "g"), U = new RegExp(O), V = new RegExp("^" + M + "$"), W = { ID: new RegExp("^#(" + M + ")"), CLASS: new RegExp("^\\.(" + M + ")"), TAG: new RegExp("^(" + M + "|[*])"), ATTR: new RegExp("^" + N), PSEUDO: new RegExp("^" + O), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + L + "*(even|odd|(([+-]|)(\\d*)n|)" + L + "*(?:([+-]|)" + L + "*(\\d+)|))" + L + "*\\)|)", "i"), bool: new RegExp("^(?:" + K + ")$", "i"), needsContext: new RegExp("^" + L + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + L + "*((?:-\\d)?\\d*)" + L + "*\\)|)(?=[^-]|$)", "i") }, X = /^(?:input|select|textarea|button)$/i, Y = /^h\d$/i, Z = /^[^{]+\{\s*\[native \w/, $ = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, _ = /[+~]/, aa = /'|\\/g, ba = new RegExp("\\\\([\\da-f]{1,6}" + L + "?|(" + L + ")|.)", "ig"), ca = function (a, b, c) { var d = "0x" + b - 65536; return d !== d || c ? b : 0 > d ? String.fromCharCode(d + 65536) : String.fromCharCode(d >> 10 | 55296, 1023 & d | 56320) }, da = function () { m() }; try { H.apply(E = I.call(v.childNodes), v.childNodes), E[v.childNodes.length].nodeType } catch (ea) { H = { apply: E.length ? function (a, b) { G.apply(a, I.call(b)) } : function (a, b) { var c = a.length, d = 0; while (a[c++] = b[d++]); a.length = c - 1 } } } function fa(a, b, d, e) { var f, h, j, k, l, o, r, s, w = b && b.ownerDocument, x = b ? b.nodeType : 9; if (d = d || [], "string" != typeof a || !a || 1 !== x && 9 !== x && 11 !== x) return d; if (!e && ((b ? b.ownerDocument || b : v) !== n && m(b), b = b || n, p)) { if (11 !== x && (o = $.exec(a))) if (f = o[1]) { if (9 === x) { if (!(j = b.getElementById(f))) return d; if (j.id === f) return d.push(j), d } else if (w && (j = w.getElementById(f)) && t(b, j) && j.id === f) return d.push(j), d } else { if (o[2]) return H.apply(d, b.getElementsByTagName(a)), d; if ((f = o[3]) && c.getElementsByClassName && b.getElementsByClassName) return H.apply(d, b.getElementsByClassName(f)), d } if (c.qsa && !A[a + " "] && (!q || !q.test(a))) { if (1 !== x) w = b, s = a; else if ("object" !== b.nodeName.toLowerCase()) { (k = b.getAttribute("id")) ? k = k.replace(aa, "\\$&") : b.setAttribute("id", k = u), r = g(a), h = r.length, l = V.test(k) ? "#" + k : "[id='" + k + "']"; while (h--) r[h] = l + " " + qa(r[h]); s = r.join(","), w = _.test(a) && oa(b.parentNode) || b } if (s) try { return H.apply(d, w.querySelectorAll(s)), d } catch (y) { } finally { k === u && b.removeAttribute("id") } } } return i(a.replace(Q, "$1"), b, d, e) } function ga() { var a = []; function b(c, e) { return a.push(c + " ") > d.cacheLength && delete b[a.shift()], b[c + " "] = e } return b } function ha(a) { return a[u] = !0, a } function ia(a) { var b = n.createElement("div"); try { return !!a(b) } catch (c) { return !1 } finally { b.parentNode && b.parentNode.removeChild(b), b = null } } function ja(a, b) { var c = a.split("|"), e = c.length; while (e--) d.attrHandle[c[e]] = b } function ka(a, b) { var c = b && a, d = c && 1 === a.nodeType && 1 === b.nodeType && (~b.sourceIndex || C) - (~a.sourceIndex || C); if (d) return d; if (c) while (c = c.nextSibling) if (c === b) return -1; return a ? 1 : -1 } function la(a) { return function (b) { var c = b.nodeName.toLowerCase(); return "input" === c && b.type === a } } function ma(a) { return function (b) { var c = b.nodeName.toLowerCase(); return ("input" === c || "button" === c) && b.type === a } } function na(a) { return ha(function (b) { return b = +b, ha(function (c, d) { var e, f = a([], c.length, b), g = f.length; while (g--) c[e = f[g]] && (c[e] = !(d[e] = c[e])) }) }) } function oa(a) { return a && "undefined" != typeof a.getElementsByTagName && a } c = fa.support = {}, f = fa.isXML = function (a) { var b = a && (a.ownerDocument || a).documentElement; return b ? "HTML" !== b.nodeName : !1 }, m = fa.setDocument = function (a) { var b, e, g = a ? a.ownerDocument || a : v; return g !== n && 9 === g.nodeType && g.documentElement ? (n = g, o = n.documentElement, p = !f(n), (e = n.defaultView) && e.top !== e && (e.addEventListener ? e.addEventListener("unload", da, !1) : e.attachEvent && e.attachEvent("onunload", da)), c.attributes = ia(function (a) { return a.className = "i", !a.getAttribute("className") }), c.getElementsByTagName = ia(function (a) { return a.appendChild(n.createComment("")), !a.getElementsByTagName("*").length }), c.getElementsByClassName = Z.test(n.getElementsByClassName), c.getById = ia(function (a) { return o.appendChild(a).id = u, !n.getElementsByName || !n.getElementsByName(u).length }), c.getById ? (d.find.ID = function (a, b) { if ("undefined" != typeof b.getElementById && p) { var c = b.getElementById(a); return c ? [c] : [] } }, d.filter.ID = function (a) { var b = a.replace(ba, ca); return function (a) { return a.getAttribute("id") === b } }) : (delete d.find.ID, d.filter.ID = function (a) { var b = a.replace(ba, ca); return function (a) { var c = "undefined" != typeof a.getAttributeNode && a.getAttributeNode("id"); return c && c.value === b } }), d.find.TAG = c.getElementsByTagName ? function (a, b) { return "undefined" != typeof b.getElementsByTagName ? b.getElementsByTagName(a) : c.qsa ? b.querySelectorAll(a) : void 0 } : function (a, b) { var c, d = [], e = 0, f = b.getElementsByTagName(a); if ("*" === a) { while (c = f[e++]) 1 === c.nodeType && d.push(c); return d } return f }, d.find.CLASS = c.getElementsByClassName && function (a, b) { return "undefined" != typeof b.getElementsByClassName && p ? b.getElementsByClassName(a) : void 0 }, r = [], q = [], (c.qsa = Z.test(n.querySelectorAll)) && (ia(function (a) { o.appendChild(a).innerHTML = "", a.querySelectorAll("[msallowcapture^='']").length && q.push("[*^$]=" + L + "*(?:''|\"\")"), a.querySelectorAll("[selected]").length || q.push("\\[" + L + "*(?:value|" + K + ")"), a.querySelectorAll("[id~=" + u + "-]").length || q.push("~="), a.querySelectorAll(":checked").length || q.push(":checked"), a.querySelectorAll("a#" + u + "+*").length || q.push(".#.+[+~]") }), ia(function (a) { var b = n.createElement("input"); b.setAttribute("type", "hidden"), a.appendChild(b).setAttribute("name", "D"), a.querySelectorAll("[name=d]").length && q.push("name" + L + "*[*^$|!~]?="), a.querySelectorAll(":enabled").length || q.push(":enabled", ":disabled"), a.querySelectorAll("*,:x"), q.push(",.*:") })), (c.matchesSelector = Z.test(s = o.matches || o.webkitMatchesSelector || o.mozMatchesSelector || o.oMatchesSelector || o.msMatchesSelector)) && ia(function (a) { c.disconnectedMatch = s.call(a, "div"), s.call(a, "[s!='']:x"), r.push("!=", O) }), q = q.length && new RegExp(q.join("|")), r = r.length && new RegExp(r.join("|")), b = Z.test(o.compareDocumentPosition), t = b || Z.test(o.contains) ? function (a, b) { var c = 9 === a.nodeType ? a.documentElement : a, d = b && b.parentNode; return a === d || !(!d || 1 !== d.nodeType || !(c.contains ? c.contains(d) : a.compareDocumentPosition && 16 & a.compareDocumentPosition(d))) } : function (a, b) { if (b) while (b = b.parentNode) if (b === a) return !0; return !1 }, B = b ? function (a, b) { if (a === b) return l = !0, 0; var d = !a.compareDocumentPosition - !b.compareDocumentPosition; return d ? d : (d = (a.ownerDocument || a) === (b.ownerDocument || b) ? a.compareDocumentPosition(b) : 1, 1 & d || !c.sortDetached && b.compareDocumentPosition(a) === d ? a === n || a.ownerDocument === v && t(v, a) ? -1 : b === n || b.ownerDocument === v && t(v, b) ? 1 : k ? J(k, a) - J(k, b) : 0 : 4 & d ? -1 : 1) } : function (a, b) { if (a === b) return l = !0, 0; var c, d = 0, e = a.parentNode, f = b.parentNode, g = [a], h = [b]; if (!e || !f) return a === n ? -1 : b === n ? 1 : e ? -1 : f ? 1 : k ? J(k, a) - J(k, b) : 0; if (e === f) return ka(a, b); c = a; while (c = c.parentNode) g.unshift(c); c = b; while (c = c.parentNode) h.unshift(c); while (g[d] === h[d]) d++; return d ? ka(g[d], h[d]) : g[d] === v ? -1 : h[d] === v ? 1 : 0 }, n) : n }, fa.matches = function (a, b) { return fa(a, null, null, b) }, fa.matchesSelector = function (a, b) { if ((a.ownerDocument || a) !== n && m(a), b = b.replace(T, "='$1']"), c.matchesSelector && p && !A[b + " "] && (!r || !r.test(b)) && (!q || !q.test(b))) try { var d = s.call(a, b); if (d || c.disconnectedMatch || a.document && 11 !== a.document.nodeType) return d } catch (e) { } return fa(b, n, null, [a]).length > 0 }, fa.contains = function (a, b) { return (a.ownerDocument || a) !== n && m(a), t(a, b) }, fa.attr = function (a, b) { (a.ownerDocument || a) !== n && m(a); var e = d.attrHandle[b.toLowerCase()], f = e && D.call(d.attrHandle, b.toLowerCase()) ? e(a, b, !p) : void 0; return void 0 !== f ? f : c.attributes || !p ? a.getAttribute(b) : (f = a.getAttributeNode(b)) && f.specified ? f.value : null }, fa.error = function (a) { throw new Error("Syntax error, unrecognized expression: " + a) }, fa.uniqueSort = function (a) { var b, d = [], e = 0, f = 0; if (l = !c.detectDuplicates, k = !c.sortStable && a.slice(0), a.sort(B), l) { while (b = a[f++]) b === a[f] && (e = d.push(f)); while (e--) a.splice(d[e], 1) } return k = null, a }, e = fa.getText = function (a) { var b, c = "", d = 0, f = a.nodeType; if (f) { if (1 === f || 9 === f || 11 === f) { if ("string" == typeof a.textContent) return a.textContent; for (a = a.firstChild; a; a = a.nextSibling) c += e(a) } else if (3 === f || 4 === f) return a.nodeValue } else while (b = a[d++]) c += e(b); return c }, d = fa.selectors = { cacheLength: 50, createPseudo: ha, match: W, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function (a) { return a[1] = a[1].replace(ba, ca), a[3] = (a[3] || a[4] || a[5] || "").replace(ba, ca), "~=" === a[2] && (a[3] = " " + a[3] + " "), a.slice(0, 4) }, CHILD: function (a) { return a[1] = a[1].toLowerCase(), "nth" === a[1].slice(0, 3) ? (a[3] || fa.error(a[0]), a[4] = +(a[4] ? a[5] + (a[6] || 1) : 2 * ("even" === a[3] || "odd" === a[3])), a[5] = +(a[7] + a[8] || "odd" === a[3])) : a[3] && fa.error(a[0]), a }, PSEUDO: function (a) { var b, c = !a[6] && a[2]; return W.CHILD.test(a[0]) ? null : (a[3] ? a[2] = a[4] || a[5] || "" : c && U.test(c) && (b = g(c, !0)) && (b = c.indexOf(")", c.length - b) - c.length) && (a[0] = a[0].slice(0, b), a[2] = c.slice(0, b)), a.slice(0, 3)) } }, filter: { TAG: function (a) { var b = a.replace(ba, ca).toLowerCase(); return "*" === a ? function () { return !0 } : function (a) { return a.nodeName && a.nodeName.toLowerCase() === b } }, CLASS: function (a) { var b = y[a + " "]; return b || (b = new RegExp("(^|" + L + ")" + a + "(" + L + "|$)")) && y(a, function (a) { return b.test("string" == typeof a.className && a.className || "undefined" != typeof a.getAttribute && a.getAttribute("class") || "") }) }, ATTR: function (a, b, c) { return function (d) { var e = fa.attr(d, a); return null == e ? "!=" === b : b ? (e += "", "=" === b ? e === c : "!=" === b ? e !== c : "^=" === b ? c && 0 === e.indexOf(c) : "*=" === b ? c && e.indexOf(c) > -1 : "$=" === b ? c && e.slice(-c.length) === c : "~=" === b ? (" " + e.replace(P, " ") + " ").indexOf(c) > -1 : "|=" === b ? e === c || e.slice(0, c.length + 1) === c + "-" : !1) : !0 } }, CHILD: function (a, b, c, d, e) { var f = "nth" !== a.slice(0, 3), g = "last" !== a.slice(-4), h = "of-type" === b; return 1 === d && 0 === e ? function (a) { return !!a.parentNode } : function (b, c, i) { var j, k, l, m, n, o, p = f !== g ? "nextSibling" : "previousSibling", q = b.parentNode, r = h && b.nodeName.toLowerCase(), s = !i && !h, t = !1; if (q) { if (f) { while (p) { m = b; while (m = m[p]) if (h ? m.nodeName.toLowerCase() === r : 1 === m.nodeType) return !1; o = p = "only" === a && !o && "nextSibling" } return !0 } if (o = [g ? q.firstChild : q.lastChild], g && s) { m = q, l = m[u] || (m[u] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), j = k[a] || [], n = j[0] === w && j[1], t = n && j[2], m = n && q.childNodes[n]; while (m = ++n && m && m[p] || (t = n = 0) || o.pop()) if (1 === m.nodeType && ++t && m === b) { k[a] = [w, n, t]; break } } else if (s && (m = b, l = m[u] || (m[u] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), j = k[a] || [], n = j[0] === w && j[1], t = n), t === !1) while (m = ++n && m && m[p] || (t = n = 0) || o.pop()) if ((h ? m.nodeName.toLowerCase() === r : 1 === m.nodeType) && ++t && (s && (l = m[u] || (m[u] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), k[a] = [w, t]), m === b)) break; return t -= e, t === d || t % d === 0 && t / d >= 0 } } }, PSEUDO: function (a, b) { var c, e = d.pseudos[a] || d.setFilters[a.toLowerCase()] || fa.error("unsupported pseudo: " + a); return e[u] ? e(b) : e.length > 1 ? (c = [a, a, "", b], d.setFilters.hasOwnProperty(a.toLowerCase()) ? ha(function (a, c) { var d, f = e(a, b), g = f.length; while (g--) d = J(a, f[g]), a[d] = !(c[d] = f[g]) }) : function (a) { return e(a, 0, c) }) : e } }, pseudos: { not: ha(function (a) { var b = [], c = [], d = h(a.replace(Q, "$1")); return d[u] ? ha(function (a, b, c, e) { var f, g = d(a, null, e, []), h = a.length; while (h--) (f = g[h]) && (a[h] = !(b[h] = f)) }) : function (a, e, f) { return b[0] = a, d(b, null, f, c), b[0] = null, !c.pop() } }), has: ha(function (a) { return function (b) { return fa(a, b).length > 0 } }), contains: ha(function (a) { return a = a.replace(ba, ca), function (b) { return (b.textContent || b.innerText || e(b)).indexOf(a) > -1 } }), lang: ha(function (a) { return V.test(a || "") || fa.error("unsupported lang: " + a), a = a.replace(ba, ca).toLowerCase(), function (b) { var c; do if (c = p ? b.lang : b.getAttribute("xml:lang") || b.getAttribute("lang")) return c = c.toLowerCase(), c === a || 0 === c.indexOf(a + "-"); while ((b = b.parentNode) && 1 === b.nodeType); return !1 } }), target: function (b) { var c = a.location && a.location.hash; return c && c.slice(1) === b.id }, root: function (a) { return a === o }, focus: function (a) { return a === n.activeElement && (!n.hasFocus || n.hasFocus()) && !!(a.type || a.href || ~a.tabIndex) }, enabled: function (a) { return a.disabled === !1 }, disabled: function (a) { return a.disabled === !0 }, checked: function (a) { var b = a.nodeName.toLowerCase(); return "input" === b && !!a.checked || "option" === b && !!a.selected }, selected: function (a) { return a.parentNode && a.parentNode.selectedIndex, a.selected === !0 }, empty: function (a) { for (a = a.firstChild; a; a = a.nextSibling) if (a.nodeType < 6) return !1; return !0 }, parent: function (a) { return !d.pseudos.empty(a) }, header: function (a) { return Y.test(a.nodeName) }, input: function (a) { return X.test(a.nodeName) }, button: function (a) { var b = a.nodeName.toLowerCase(); return "input" === b && "button" === a.type || "button" === b }, text: function (a) { var b; return "input" === a.nodeName.toLowerCase() && "text" === a.type && (null == (b = a.getAttribute("type")) || "text" === b.toLowerCase()) }, first: na(function () { return [0] }), last: na(function (a, b) { return [b - 1] }), eq: na(function (a, b, c) { return [0 > c ? c + b : c] }), even: na(function (a, b) { for (var c = 0; b > c; c += 2) a.push(c); return a }), odd: na(function (a, b) { for (var c = 1; b > c; c += 2) a.push(c); return a }), lt: na(function (a, b, c) { for (var d = 0 > c ? c + b : c; --d >= 0;) a.push(d); return a }), gt: na(function (a, b, c) { for (var d = 0 > c ? c + b : c; ++d < b;) a.push(d); return a }) } }, d.pseudos.nth = d.pseudos.eq; for (b in { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }) d.pseudos[b] = la(b); for (b in { submit: !0, reset: !0 }) d.pseudos[b] = ma(b); function pa() { } pa.prototype = d.filters = d.pseudos, d.setFilters = new pa, g = fa.tokenize = function (a, b) { var c, e, f, g, h, i, j, k = z[a + " "]; if (k) return b ? 0 : k.slice(0); h = a, i = [], j = d.preFilter; while (h) { c && !(e = R.exec(h)) || (e && (h = h.slice(e[0].length) || h), i.push(f = [])), c = !1, (e = S.exec(h)) && (c = e.shift(), f.push({ value: c, type: e[0].replace(Q, " ") }), h = h.slice(c.length)); for (g in d.filter) !(e = W[g].exec(h)) || j[g] && !(e = j[g](e)) || (c = e.shift(), f.push({ value: c, type: g, matches: e }), h = h.slice(c.length)); if (!c) break } return b ? h.length : h ? fa.error(a) : z(a, i).slice(0) }; function qa(a) { for (var b = 0, c = a.length, d = ""; c > b; b++) d += a[b].value; return d } function ra(a, b, c) { var d = b.dir, e = c && "parentNode" === d, f = x++; return b.first ? function (b, c, f) { while (b = b[d]) if (1 === b.nodeType || e) return a(b, c, f) } : function (b, c, g) { var h, i, j, k = [w, f]; if (g) { while (b = b[d]) if ((1 === b.nodeType || e) && a(b, c, g)) return !0 } else while (b = b[d]) if (1 === b.nodeType || e) { if (j = b[u] || (b[u] = {}), i = j[b.uniqueID] || (j[b.uniqueID] = {}), (h = i[d]) && h[0] === w && h[1] === f) return k[2] = h[2]; if (i[d] = k, k[2] = a(b, c, g)) return !0 } } } function sa(a) { return a.length > 1 ? function (b, c, d) { var e = a.length; while (e--) if (!a[e](b, c, d)) return !1; return !0 } : a[0] } function ta(a, b, c) { for (var d = 0, e = b.length; e > d; d++) fa(a, b[d], c); return c } function ua(a, b, c, d, e) { for (var f, g = [], h = 0, i = a.length, j = null != b; i > h; h++) (f = a[h]) && (c && !c(f, d, e) || (g.push(f), j && b.push(h))); return g } function va(a, b, c, d, e, f) { return d && !d[u] && (d = va(d)), e && !e[u] && (e = va(e, f)), ha(function (f, g, h, i) { var j, k, l, m = [], n = [], o = g.length, p = f || ta(b || "*", h.nodeType ? [h] : h, []), q = !a || !f && b ? p : ua(p, m, a, h, i), r = c ? e || (f ? a : o || d) ? [] : g : q; if (c && c(q, r, h, i), d) { j = ua(r, n), d(j, [], h, i), k = j.length; while (k--) (l = j[k]) && (r[n[k]] = !(q[n[k]] = l)) } if (f) { if (e || a) { if (e) { j = [], k = r.length; while (k--) (l = r[k]) && j.push(q[k] = l); e(null, r = [], j, i) } k = r.length; while (k--) (l = r[k]) && (j = e ? J(f, l) : m[k]) > -1 && (f[j] = !(g[j] = l)) } } else r = ua(r === g ? r.splice(o, r.length) : r), e ? e(null, g, r, i) : H.apply(g, r) }) } function wa(a) { for (var b, c, e, f = a.length, g = d.relative[a[0].type], h = g || d.relative[" "], i = g ? 1 : 0, k = ra(function (a) { return a === b }, h, !0), l = ra(function (a) { return J(b, a) > -1 }, h, !0), m = [function (a, c, d) { var e = !g && (d || c !== j) || ((b = c).nodeType ? k(a, c, d) : l(a, c, d)); return b = null, e }]; f > i; i++) if (c = d.relative[a[i].type]) m = [ra(sa(m), c)]; else { if (c = d.filter[a[i].type].apply(null, a[i].matches), c[u]) { for (e = ++i; f > e; e++) if (d.relative[a[e].type]) break; return va(i > 1 && sa(m), i > 1 && qa(a.slice(0, i - 1).concat({ value: " " === a[i - 2].type ? "*" : "" })).replace(Q, "$1"), c, e > i && wa(a.slice(i, e)), f > e && wa(a = a.slice(e)), f > e && qa(a)) } m.push(c) } return sa(m) } function xa(a, b) { var c = b.length > 0, e = a.length > 0, f = function (f, g, h, i, k) { var l, o, q, r = 0, s = "0", t = f && [], u = [], v = j, x = f || e && d.find.TAG("*", k), y = w += null == v ? 1 : Math.random() || .1, z = x.length; for (k && (j = g === n || g || k) ; s !== z && null != (l = x[s]) ; s++) { if (e && l) { o = 0, g || l.ownerDocument === n || (m(l), h = !p); while (q = a[o++]) if (q(l, g || n, h)) { i.push(l); break } k && (w = y) } c && ((l = !q && l) && r--, f && t.push(l)) } if (r += s, c && s !== r) { o = 0; while (q = b[o++]) q(t, u, g, h); if (f) { if (r > 0) while (s--) t[s] || u[s] || (u[s] = F.call(i)); u = ua(u) } H.apply(i, u), k && !f && u.length > 0 && r + b.length > 1 && fa.uniqueSort(i) } return k && (w = y, j = v), t }; return c ? ha(f) : f } return h = fa.compile = function (a, b) { var c, d = [], e = [], f = A[a + " "]; if (!f) { b || (b = g(a)), c = b.length; while (c--) f = wa(b[c]), f[u] ? d.push(f) : e.push(f); f = A(a, xa(e, d)), f.selector = a } return f }, i = fa.select = function (a, b, e, f) { var i, j, k, l, m, n = "function" == typeof a && a, o = !f && g(a = n.selector || a); if (e = e || [], 1 === o.length) { if (j = o[0] = o[0].slice(0), j.length > 2 && "ID" === (k = j[0]).type && c.getById && 9 === b.nodeType && p && d.relative[j[1].type]) { if (b = (d.find.ID(k.matches[0].replace(ba, ca), b) || [])[0], !b) return e; n && (b = b.parentNode), a = a.slice(j.shift().value.length) } i = W.needsContext.test(a) ? 0 : j.length; while (i--) { if (k = j[i], d.relative[l = k.type]) break; if ((m = d.find[l]) && (f = m(k.matches[0].replace(ba, ca), _.test(j[0].type) && oa(b.parentNode) || b))) { if (j.splice(i, 1), a = f.length && qa(j), !a) return H.apply(e, f), e; break } } } return (n || h(a, o))(f, b, !p, e, !b || _.test(a) && oa(b.parentNode) || b), e }, c.sortStable = u.split("").sort(B).join("") === u, c.detectDuplicates = !!l, m(), c.sortDetached = ia(function (a) { return 1 & a.compareDocumentPosition(n.createElement("div")) }), ia(function (a) { return a.innerHTML = "", "#" === a.firstChild.getAttribute("href") }) || ja("type|href|height|width", function (a, b, c) { return c ? void 0 : a.getAttribute(b, "type" === b.toLowerCase() ? 1 : 2) }), c.attributes && ia(function (a) { return a.innerHTML = "", a.firstChild.setAttribute("value", ""), "" === a.firstChild.getAttribute("value") }) || ja("value", function (a, b, c) { return c || "input" !== a.nodeName.toLowerCase() ? void 0 : a.defaultValue }), ia(function (a) { return null == a.getAttribute("disabled") }) || ja(K, function (a, b, c) { var d; return c ? void 0 : a[b] === !0 ? b.toLowerCase() : (d = a.getAttributeNode(b)) && d.specified ? d.value : null }), fa }(a); n.find = t, n.expr = t.selectors, n.expr[":"] = n.expr.pseudos, n.uniqueSort = n.unique = t.uniqueSort, n.text = t.getText, n.isXMLDoc = t.isXML, n.contains = t.contains; var u = function (a, b, c) { var d = [], e = void 0 !== c; while ((a = a[b]) && 9 !== a.nodeType) if (1 === a.nodeType) { if (e && n(a).is(c)) break; d.push(a) } return d }, v = function (a, b) { for (var c = []; a; a = a.nextSibling) 1 === a.nodeType && a !== b && c.push(a); return c }, w = n.expr.match.needsContext, x = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/, y = /^.[^:#\[\.,]*$/; function z(a, b, c) { if (n.isFunction(b)) return n.grep(a, function (a, d) { return !!b.call(a, d, a) !== c }); if (b.nodeType) return n.grep(a, function (a) { return a === b !== c }); if ("string" == typeof b) { if (y.test(b)) return n.filter(b, a, c); b = n.filter(b, a) } return n.grep(a, function (a) { return n.inArray(a, b) > -1 !== c }) } n.filter = function (a, b, c) { var d = b[0]; return c && (a = ":not(" + a + ")"), 1 === b.length && 1 === d.nodeType ? n.find.matchesSelector(d, a) ? [d] : [] : n.find.matches(a, n.grep(b, function (a) { return 1 === a.nodeType })) }, n.fn.extend({ find: function (a) { var b, c = [], d = this, e = d.length; if ("string" != typeof a) return this.pushStack(n(a).filter(function () { for (b = 0; e > b; b++) if (n.contains(d[b], this)) return !0 })); for (b = 0; e > b; b++) n.find(a, d[b], c); return c = this.pushStack(e > 1 ? n.unique(c) : c), c.selector = this.selector ? this.selector + " " + a : a, c }, filter: function (a) { return this.pushStack(z(this, a || [], !1)) }, not: function (a) { return this.pushStack(z(this, a || [], !0)) }, is: function (a) { return !!z(this, "string" == typeof a && w.test(a) ? n(a) : a || [], !1).length } }); var A, B = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, C = n.fn.init = function (a, b, c) { var e, f; if (!a) return this; if (c = c || A, "string" == typeof a) { if (e = "<" === a.charAt(0) && ">" === a.charAt(a.length - 1) && a.length >= 3 ? [null, a, null] : B.exec(a), !e || !e[1] && b) return !b || b.jquery ? (b || c).find(a) : this.constructor(b).find(a); if (e[1]) { if (b = b instanceof n ? b[0] : b, n.merge(this, n.parseHTML(e[1], b && b.nodeType ? b.ownerDocument || b : d, !0)), x.test(e[1]) && n.isPlainObject(b)) for (e in b) n.isFunction(this[e]) ? this[e](b[e]) : this.attr(e, b[e]); return this } if (f = d.getElementById(e[2]), f && f.parentNode) { if (f.id !== e[2]) return A.find(a); this.length = 1, this[0] = f } return this.context = d, this.selector = a, this } return a.nodeType ? (this.context = this[0] = a, this.length = 1, this) : n.isFunction(a) ? "undefined" != typeof c.ready ? c.ready(a) : a(n) : (void 0 !== a.selector && (this.selector = a.selector, this.context = a.context), n.makeArray(a, this)) }; C.prototype = n.fn, A = n(d); var D = /^(?:parents|prev(?:Until|All))/, E = { children: !0, contents: !0, next: !0, prev: !0 }; n.fn.extend({ has: function (a) { var b, c = n(a, this), d = c.length; return this.filter(function () { for (b = 0; d > b; b++) if (n.contains(this, c[b])) return !0 }) }, closest: function (a, b) { for (var c, d = 0, e = this.length, f = [], g = w.test(a) || "string" != typeof a ? n(a, b || this.context) : 0; e > d; d++) for (c = this[d]; c && c !== b; c = c.parentNode) if (c.nodeType < 11 && (g ? g.index(c) > -1 : 1 === c.nodeType && n.find.matchesSelector(c, a))) { f.push(c); break } return this.pushStack(f.length > 1 ? n.uniqueSort(f) : f) }, index: function (a) { return a ? "string" == typeof a ? n.inArray(this[0], n(a)) : n.inArray(a.jquery ? a[0] : a, this) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 }, add: function (a, b) { return this.pushStack(n.uniqueSort(n.merge(this.get(), n(a, b)))) }, addBack: function (a) { return this.add(null == a ? this.prevObject : this.prevObject.filter(a)) } }); function F(a, b) { do a = a[b]; while (a && 1 !== a.nodeType); return a } n.each({ parent: function (a) { var b = a.parentNode; return b && 11 !== b.nodeType ? b : null }, parents: function (a) { return u(a, "parentNode") }, parentsUntil: function (a, b, c) { return u(a, "parentNode", c) }, next: function (a) { return F(a, "nextSibling") }, prev: function (a) { return F(a, "previousSibling") }, nextAll: function (a) { return u(a, "nextSibling") }, prevAll: function (a) { return u(a, "previousSibling") }, nextUntil: function (a, b, c) { return u(a, "nextSibling", c) }, prevUntil: function (a, b, c) { return u(a, "previousSibling", c) }, siblings: function (a) { return v((a.parentNode || {}).firstChild, a) }, children: function (a) { return v(a.firstChild) }, contents: function (a) { return n.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : n.merge([], a.childNodes) } }, function (a, b) { n.fn[a] = function (c, d) { var e = n.map(this, b, c); return "Until" !== a.slice(-5) && (d = c), d && "string" == typeof d && (e = n.filter(d, e)), this.length > 1 && (E[a] || (e = n.uniqueSort(e)), D.test(a) && (e = e.reverse())), this.pushStack(e) } }); var G = /\S+/g; function H(a) { var b = {}; return n.each(a.match(G) || [], function (a, c) { b[c] = !0 }), b } n.Callbacks = function (a) { a = "string" == typeof a ? H(a) : n.extend({}, a); var b, c, d, e, f = [], g = [], h = -1, i = function () { for (e = a.once, d = b = !0; g.length; h = -1) { c = g.shift(); while (++h < f.length) f[h].apply(c[0], c[1]) === !1 && a.stopOnFalse && (h = f.length, c = !1) } a.memory || (c = !1), b = !1, e && (f = c ? [] : "") }, j = { add: function () { return f && (c && !b && (h = f.length - 1, g.push(c)), function d(b) { n.each(b, function (b, c) { n.isFunction(c) ? a.unique && j.has(c) || f.push(c) : c && c.length && "string" !== n.type(c) && d(c) }) }(arguments), c && !b && i()), this }, remove: function () { return n.each(arguments, function (a, b) { var c; while ((c = n.inArray(b, f, c)) > -1) f.splice(c, 1), h >= c && h-- }), this }, has: function (a) { return a ? n.inArray(a, f) > -1 : f.length > 0 }, empty: function () { return f && (f = []), this }, disable: function () { return e = g = [], f = c = "", this }, disabled: function () { return !f }, lock: function () { return e = !0, c || j.disable(), this }, locked: function () { return !!e }, fireWith: function (a, c) { return e || (c = c || [], c = [a, c.slice ? c.slice() : c], g.push(c), b || i()), this }, fire: function () { return j.fireWith(this, arguments), this }, fired: function () { return !!d } }; return j }, n.extend({ Deferred: function (a) { var b = [["resolve", "done", n.Callbacks("once memory"), "resolved"], ["reject", "fail", n.Callbacks("once memory"), "rejected"], ["notify", "progress", n.Callbacks("memory")]], c = "pending", d = { state: function () { return c }, always: function () { return e.done(arguments).fail(arguments), this }, then: function () { var a = arguments; return n.Deferred(function (c) { n.each(b, function (b, f) { var g = n.isFunction(a[b]) && a[b]; e[f[1]](function () { var a = g && g.apply(this, arguments); a && n.isFunction(a.promise) ? a.promise().progress(c.notify).done(c.resolve).fail(c.reject) : c[f[0] + "With"](this === d ? c.promise() : this, g ? [a] : arguments) }) }), a = null }).promise() }, promise: function (a) { return null != a ? n.extend(a, d) : d } }, e = {}; return d.pipe = d.then, n.each(b, function (a, f) { var g = f[2], h = f[3]; d[f[1]] = g.add, h && g.add(function () { c = h }, b[1 ^ a][2].disable, b[2][2].lock), e[f[0]] = function () { return e[f[0] + "With"](this === e ? d : this, arguments), this }, e[f[0] + "With"] = g.fireWith }), d.promise(e), a && a.call(e, e), e }, when: function (a) { var b = 0, c = e.call(arguments), d = c.length, f = 1 !== d || a && n.isFunction(a.promise) ? d : 0, g = 1 === f ? a : n.Deferred(), h = function (a, b, c) { return function (d) { b[a] = this, c[a] = arguments.length > 1 ? e.call(arguments) : d, c === i ? g.notifyWith(b, c) : --f || g.resolveWith(b, c) } }, i, j, k; if (d > 1) for (i = new Array(d), j = new Array(d), k = new Array(d) ; d > b; b++) c[b] && n.isFunction(c[b].promise) ? c[b].promise().progress(h(b, j, i)).done(h(b, k, c)).fail(g.reject) : --f; return f || g.resolveWith(k, c), g.promise() } }); var I; n.fn.ready = function (a) { return n.ready.promise().done(a), this }, n.extend({ isReady: !1, readyWait: 1, holdReady: function (a) { a ? n.readyWait++ : n.ready(!0) }, ready: function (a) { (a === !0 ? --n.readyWait : n.isReady) || (n.isReady = !0, a !== !0 && --n.readyWait > 0 || (I.resolveWith(d, [n]), n.fn.triggerHandler && (n(d).triggerHandler("ready"), n(d).off("ready")))) } }); function J() { d.addEventListener ? (d.removeEventListener("DOMContentLoaded", K), a.removeEventListener("load", K)) : (d.detachEvent("onreadystatechange", K), a.detachEvent("onload", K)) } function K() { (d.addEventListener || "load" === a.event.type || "complete" === d.readyState) && (J(), n.ready()) } n.ready.promise = function (b) { if (!I) if (I = n.Deferred(), "complete" === d.readyState || "loading" !== d.readyState && !d.documentElement.doScroll) a.setTimeout(n.ready); else if (d.addEventListener) d.addEventListener("DOMContentLoaded", K), a.addEventListener("load", K); else { d.attachEvent("onreadystatechange", K), a.attachEvent("onload", K); var c = !1; try { c = null == a.frameElement && d.documentElement } catch (e) { } c && c.doScroll && !function f() { if (!n.isReady) { try { c.doScroll("left") } catch (b) { return a.setTimeout(f, 50) } J(), n.ready() } }() } return I.promise(b) }, n.ready.promise(); var L; for (L in n(l)) break; l.ownFirst = "0" === L, l.inlineBlockNeedsLayout = !1, n(function () { var a, b, c, e; c = d.getElementsByTagName("body")[0], c && c.style && (b = d.createElement("div"), e = d.createElement("div"), e.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px", c.appendChild(e).appendChild(b), "undefined" != typeof b.style.zoom && (b.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1", l.inlineBlockNeedsLayout = a = 3 === b.offsetWidth, a && (c.style.zoom = 1)), c.removeChild(e)) }), function () { var a = d.createElement("div"); l.deleteExpando = !0; try { delete a.test } catch (b) { l.deleteExpando = !1 } a = null }(); var M = function (a) { var b = n.noData[(a.nodeName + " ").toLowerCase()], c = +a.nodeType || 1; return 1 !== c && 9 !== c ? !1 : !b || b !== !0 && a.getAttribute("classid") === b }, N = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, O = /([A-Z])/g; function P(a, b, c) { - if (void 0 === c && 1 === a.nodeType) { - var d = "data-" + b.replace(O, "-$1").toLowerCase(); if (c = a.getAttribute(d), "string" == typeof c) { try { c = "true" === c ? !0 : "false" === c ? !1 : "null" === c ? null : +c + "" === c ? +c : N.test(c) ? n.parseJSON(c) : c } catch (e) { } n.data(a, b, c) } else c = void 0; - } return c - } function Q(a) { var b; for (b in a) if (("data" !== b || !n.isEmptyObject(a[b])) && "toJSON" !== b) return !1; return !0 } function R(a, b, d, e) { if (M(a)) { var f, g, h = n.expando, i = a.nodeType, j = i ? n.cache : a, k = i ? a[h] : a[h] && h; if (k && j[k] && (e || j[k].data) || void 0 !== d || "string" != typeof b) return k || (k = i ? a[h] = c.pop() || n.guid++ : h), j[k] || (j[k] = i ? {} : { toJSON: n.noop }), "object" != typeof b && "function" != typeof b || (e ? j[k] = n.extend(j[k], b) : j[k].data = n.extend(j[k].data, b)), g = j[k], e || (g.data || (g.data = {}), g = g.data), void 0 !== d && (g[n.camelCase(b)] = d), "string" == typeof b ? (f = g[b], null == f && (f = g[n.camelCase(b)])) : f = g, f } } function S(a, b, c) { if (M(a)) { var d, e, f = a.nodeType, g = f ? n.cache : a, h = f ? a[n.expando] : n.expando; if (g[h]) { if (b && (d = c ? g[h] : g[h].data)) { n.isArray(b) ? b = b.concat(n.map(b, n.camelCase)) : b in d ? b = [b] : (b = n.camelCase(b), b = b in d ? [b] : b.split(" ")), e = b.length; while (e--) delete d[b[e]]; if (c ? !Q(d) : !n.isEmptyObject(d)) return } (c || (delete g[h].data, Q(g[h]))) && (f ? n.cleanData([a], !0) : l.deleteExpando || g != g.window ? delete g[h] : g[h] = void 0) } } } n.extend({ cache: {}, noData: { "applet ": !0, "embed ": !0, "object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" }, hasData: function (a) { return a = a.nodeType ? n.cache[a[n.expando]] : a[n.expando], !!a && !Q(a) }, data: function (a, b, c) { return R(a, b, c) }, removeData: function (a, b) { return S(a, b) }, _data: function (a, b, c) { return R(a, b, c, !0) }, _removeData: function (a, b) { return S(a, b, !0) } }), n.fn.extend({ data: function (a, b) { var c, d, e, f = this[0], g = f && f.attributes; if (void 0 === a) { if (this.length && (e = n.data(f), 1 === f.nodeType && !n._data(f, "parsedAttrs"))) { c = g.length; while (c--) g[c] && (d = g[c].name, 0 === d.indexOf("data-") && (d = n.camelCase(d.slice(5)), P(f, d, e[d]))); n._data(f, "parsedAttrs", !0) } return e } return "object" == typeof a ? this.each(function () { n.data(this, a) }) : arguments.length > 1 ? this.each(function () { n.data(this, a, b) }) : f ? P(f, a, n.data(f, a)) : void 0 }, removeData: function (a) { return this.each(function () { n.removeData(this, a) }) } }), n.extend({ queue: function (a, b, c) { var d; return a ? (b = (b || "fx") + "queue", d = n._data(a, b), c && (!d || n.isArray(c) ? d = n._data(a, b, n.makeArray(c)) : d.push(c)), d || []) : void 0 }, dequeue: function (a, b) { b = b || "fx"; var c = n.queue(a, b), d = c.length, e = c.shift(), f = n._queueHooks(a, b), g = function () { n.dequeue(a, b) }; "inprogress" === e && (e = c.shift(), d--), e && ("fx" === b && c.unshift("inprogress"), delete f.stop, e.call(a, g, f)), !d && f && f.empty.fire() }, _queueHooks: function (a, b) { var c = b + "queueHooks"; return n._data(a, c) || n._data(a, c, { empty: n.Callbacks("once memory").add(function () { n._removeData(a, b + "queue"), n._removeData(a, c) }) }) } }), n.fn.extend({ queue: function (a, b) { var c = 2; return "string" != typeof a && (b = a, a = "fx", c--), arguments.length < c ? n.queue(this[0], a) : void 0 === b ? this : this.each(function () { var c = n.queue(this, a, b); n._queueHooks(this, a), "fx" === a && "inprogress" !== c[0] && n.dequeue(this, a) }) }, dequeue: function (a) { return this.each(function () { n.dequeue(this, a) }) }, clearQueue: function (a) { return this.queue(a || "fx", []) }, promise: function (a, b) { var c, d = 1, e = n.Deferred(), f = this, g = this.length, h = function () { --d || e.resolveWith(f, [f]) }; "string" != typeof a && (b = a, a = void 0), a = a || "fx"; while (g--) c = n._data(f[g], a + "queueHooks"), c && c.empty && (d++, c.empty.add(h)); return h(), e.promise(b) } }), function () { var a; l.shrinkWrapBlocks = function () { if (null != a) return a; a = !1; var b, c, e; return c = d.getElementsByTagName("body")[0], c && c.style ? (b = d.createElement("div"), e = d.createElement("div"), e.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px", c.appendChild(e).appendChild(b), "undefined" != typeof b.style.zoom && (b.style.cssText = "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1", b.appendChild(d.createElement("div")).style.width = "5px", a = 3 !== b.offsetWidth), c.removeChild(e), a) : void 0 } }(); var T = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, U = new RegExp("^(?:([+-])=|)(" + T + ")([a-z%]*)$", "i"), V = ["Top", "Right", "Bottom", "Left"], W = function (a, b) { return a = b || a, "none" === n.css(a, "display") || !n.contains(a.ownerDocument, a) }; function X(a, b, c, d) { var e, f = 1, g = 20, h = d ? function () { return d.cur() } : function () { return n.css(a, b, "") }, i = h(), j = c && c[3] || (n.cssNumber[b] ? "" : "px"), k = (n.cssNumber[b] || "px" !== j && +i) && U.exec(n.css(a, b)); if (k && k[3] !== j) { j = j || k[3], c = c || [], k = +i || 1; do f = f || ".5", k /= f, n.style(a, b, k + j); while (f !== (f = h() / i) && 1 !== f && --g) } return c && (k = +k || +i || 0, e = c[1] ? k + (c[1] + 1) * c[2] : +c[2], d && (d.unit = j, d.start = k, d.end = e)), e } var Y = function (a, b, c, d, e, f, g) { var h = 0, i = a.length, j = null == c; if ("object" === n.type(c)) { e = !0; for (h in c) Y(a, b, h, c[h], !0, f, g) } else if (void 0 !== d && (e = !0, n.isFunction(d) || (g = !0), j && (g ? (b.call(a, d), b = null) : (j = b, b = function (a, b, c) { return j.call(n(a), c) })), b)) for (; i > h; h++) b(a[h], c, g ? d : d.call(a[h], h, b(a[h], c))); return e ? a : j ? b.call(a) : i ? b(a[0], c) : f }, Z = /^(?:checkbox|radio)$/i, $ = /<([\w:-]+)/, _ = /^$|\/(?:java|ecma)script/i, aa = /^\s+/, ba = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video"; function ca(a) { var b = ba.split("|"), c = a.createDocumentFragment(); if (c.createElement) while (b.length) c.createElement(b.pop()); return c } !function () { var a = d.createElement("div"), b = d.createDocumentFragment(), c = d.createElement("input"); a.innerHTML = "
a", l.leadingWhitespace = 3 === a.firstChild.nodeType, l.tbody = !a.getElementsByTagName("tbody").length, l.htmlSerialize = !!a.getElementsByTagName("link").length, l.html5Clone = "<:nav>" !== d.createElement("nav").cloneNode(!0).outerHTML, c.type = "checkbox", c.checked = !0, b.appendChild(c), l.appendChecked = c.checked, a.innerHTML = "", l.noCloneChecked = !!a.cloneNode(!0).lastChild.defaultValue, b.appendChild(a), c = d.createElement("input"), c.setAttribute("type", "radio"), c.setAttribute("checked", "checked"), c.setAttribute("name", "t"), a.appendChild(c), l.checkClone = a.cloneNode(!0).cloneNode(!0).lastChild.checked, l.noCloneEvent = !!a.addEventListener, a[n.expando] = 1, l.attributes = !a.getAttribute(n.expando) }(); var da = { option: [1, ""], legend: [1, "
", "
"], area: [1, "", ""], param: [1, "", ""], thead: [1, "", "
"], tr: [2, "", "
"], col: [2, "", "
"], td: [3, "", "
"], _default: l.htmlSerialize ? [0, "", ""] : [1, "X
", "
"] }; da.optgroup = da.option, da.tbody = da.tfoot = da.colgroup = da.caption = da.thead, da.th = da.td; function ea(a, b) { var c, d, e = 0, f = "undefined" != typeof a.getElementsByTagName ? a.getElementsByTagName(b || "*") : "undefined" != typeof a.querySelectorAll ? a.querySelectorAll(b || "*") : void 0; if (!f) for (f = [], c = a.childNodes || a; null != (d = c[e]) ; e++) !b || n.nodeName(d, b) ? f.push(d) : n.merge(f, ea(d, b)); return void 0 === b || b && n.nodeName(a, b) ? n.merge([a], f) : f } function fa(a, b) { for (var c, d = 0; null != (c = a[d]) ; d++) n._data(c, "globalEval", !b || n._data(b[d], "globalEval")) } var ga = /<|&#?\w+;/, ha = / r; r++) if (g = a[r], g || 0 === g) if ("object" === n.type(g)) n.merge(q, g.nodeType ? [g] : g); else if (ga.test(g)) { i = i || p.appendChild(b.createElement("div")), j = ($.exec(g) || ["", ""])[1].toLowerCase(), m = da[j] || da._default, i.innerHTML = m[1] + n.htmlPrefilter(g) + m[2], f = m[0]; while (f--) i = i.lastChild; if (!l.leadingWhitespace && aa.test(g) && q.push(b.createTextNode(aa.exec(g)[0])), !l.tbody) { g = "table" !== j || ha.test(g) ? "" !== m[1] || ha.test(g) ? 0 : i : i.firstChild, f = g && g.childNodes.length; while (f--) n.nodeName(k = g.childNodes[f], "tbody") && !k.childNodes.length && g.removeChild(k) } n.merge(q, i.childNodes), i.textContent = ""; while (i.firstChild) i.removeChild(i.firstChild); i = p.lastChild } else q.push(b.createTextNode(g)); i && p.removeChild(i), l.appendChecked || n.grep(ea(q, "input"), ia), r = 0; while (g = q[r++]) if (d && n.inArray(g, d) > -1) e && e.push(g); else if (h = n.contains(g.ownerDocument, g), i = ea(p.appendChild(g), "script"), h && fa(i), c) { f = 0; while (g = i[f++]) _.test(g.type || "") && c.push(g) } return i = null, p } !function () { var b, c, e = d.createElement("div"); for (b in { submit: !0, change: !0, focusin: !0 }) c = "on" + b, (l[b] = c in a) || (e.setAttribute(c, "t"), l[b] = e.attributes[c].expando === !1); e = null }(); var ka = /^(?:input|select|textarea)$/i, la = /^key/, ma = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, na = /^(?:focusinfocus|focusoutblur)$/, oa = /^([^.]*)(?:\.(.+)|)/; function pa() { return !0 } function qa() { return !1 } function ra() { try { return d.activeElement } catch (a) { } } function sa(a, b, c, d, e, f) { var g, h; if ("object" == typeof b) { "string" != typeof c && (d = d || c, c = void 0); for (h in b) sa(a, h, c, d, b[h], f); return a } if (null == d && null == e ? (e = c, d = c = void 0) : null == e && ("string" == typeof c ? (e = d, d = void 0) : (e = d, d = c, c = void 0)), e === !1) e = qa; else if (!e) return a; return 1 === f && (g = e, e = function (a) { return n().off(a), g.apply(this, arguments) }, e.guid = g.guid || (g.guid = n.guid++)), a.each(function () { n.event.add(this, b, e, d, c) }) } n.event = { global: {}, add: function (a, b, c, d, e) { var f, g, h, i, j, k, l, m, o, p, q, r = n._data(a); if (r) { c.handler && (i = c, c = i.handler, e = i.selector), c.guid || (c.guid = n.guid++), (g = r.events) || (g = r.events = {}), (k = r.handle) || (k = r.handle = function (a) { return "undefined" == typeof n || a && n.event.triggered === a.type ? void 0 : n.event.dispatch.apply(k.elem, arguments) }, k.elem = a), b = (b || "").match(G) || [""], h = b.length; while (h--) f = oa.exec(b[h]) || [], o = q = f[1], p = (f[2] || "").split(".").sort(), o && (j = n.event.special[o] || {}, o = (e ? j.delegateType : j.bindType) || o, j = n.event.special[o] || {}, l = n.extend({ type: o, origType: q, data: d, handler: c, guid: c.guid, selector: e, needsContext: e && n.expr.match.needsContext.test(e), namespace: p.join(".") }, i), (m = g[o]) || (m = g[o] = [], m.delegateCount = 0, j.setup && j.setup.call(a, d, p, k) !== !1 || (a.addEventListener ? a.addEventListener(o, k, !1) : a.attachEvent && a.attachEvent("on" + o, k))), j.add && (j.add.call(a, l), l.handler.guid || (l.handler.guid = c.guid)), e ? m.splice(m.delegateCount++, 0, l) : m.push(l), n.event.global[o] = !0); a = null } }, remove: function (a, b, c, d, e) { var f, g, h, i, j, k, l, m, o, p, q, r = n.hasData(a) && n._data(a); if (r && (k = r.events)) { b = (b || "").match(G) || [""], j = b.length; while (j--) if (h = oa.exec(b[j]) || [], o = q = h[1], p = (h[2] || "").split(".").sort(), o) { l = n.event.special[o] || {}, o = (d ? l.delegateType : l.bindType) || o, m = k[o] || [], h = h[2] && new RegExp("(^|\\.)" + p.join("\\.(?:.*\\.|)") + "(\\.|$)"), i = f = m.length; while (f--) g = m[f], !e && q !== g.origType || c && c.guid !== g.guid || h && !h.test(g.namespace) || d && d !== g.selector && ("**" !== d || !g.selector) || (m.splice(f, 1), g.selector && m.delegateCount--, l.remove && l.remove.call(a, g)); i && !m.length && (l.teardown && l.teardown.call(a, p, r.handle) !== !1 || n.removeEvent(a, o, r.handle), delete k[o]) } else for (o in k) n.event.remove(a, o + b[j], c, d, !0); n.isEmptyObject(k) && (delete r.handle, n._removeData(a, "events")) } }, trigger: function (b, c, e, f) { var g, h, i, j, l, m, o, p = [e || d], q = k.call(b, "type") ? b.type : b, r = k.call(b, "namespace") ? b.namespace.split(".") : []; if (i = m = e = e || d, 3 !== e.nodeType && 8 !== e.nodeType && !na.test(q + n.event.triggered) && (q.indexOf(".") > -1 && (r = q.split("."), q = r.shift(), r.sort()), h = q.indexOf(":") < 0 && "on" + q, b = b[n.expando] ? b : new n.Event(q, "object" == typeof b && b), b.isTrigger = f ? 2 : 3, b.namespace = r.join("."), b.rnamespace = b.namespace ? new RegExp("(^|\\.)" + r.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, b.result = void 0, b.target || (b.target = e), c = null == c ? [b] : n.makeArray(c, [b]), l = n.event.special[q] || {}, f || !l.trigger || l.trigger.apply(e, c) !== !1)) { if (!f && !l.noBubble && !n.isWindow(e)) { for (j = l.delegateType || q, na.test(j + q) || (i = i.parentNode) ; i; i = i.parentNode) p.push(i), m = i; m === (e.ownerDocument || d) && p.push(m.defaultView || m.parentWindow || a) } o = 0; while ((i = p[o++]) && !b.isPropagationStopped()) b.type = o > 1 ? j : l.bindType || q, g = (n._data(i, "events") || {})[b.type] && n._data(i, "handle"), g && g.apply(i, c), g = h && i[h], g && g.apply && M(i) && (b.result = g.apply(i, c), b.result === !1 && b.preventDefault()); if (b.type = q, !f && !b.isDefaultPrevented() && (!l._default || l._default.apply(p.pop(), c) === !1) && M(e) && h && e[q] && !n.isWindow(e)) { m = e[h], m && (e[h] = null), n.event.triggered = q; try { e[q]() } catch (s) { } n.event.triggered = void 0, m && (e[h] = m) } return b.result } }, dispatch: function (a) { a = n.event.fix(a); var b, c, d, f, g, h = [], i = e.call(arguments), j = (n._data(this, "events") || {})[a.type] || [], k = n.event.special[a.type] || {}; if (i[0] = a, a.delegateTarget = this, !k.preDispatch || k.preDispatch.call(this, a) !== !1) { h = n.event.handlers.call(this, a, j), b = 0; while ((f = h[b++]) && !a.isPropagationStopped()) { a.currentTarget = f.elem, c = 0; while ((g = f.handlers[c++]) && !a.isImmediatePropagationStopped()) a.rnamespace && !a.rnamespace.test(g.namespace) || (a.handleObj = g, a.data = g.data, d = ((n.event.special[g.origType] || {}).handle || g.handler).apply(f.elem, i), void 0 !== d && (a.result = d) === !1 && (a.preventDefault(), a.stopPropagation())) } return k.postDispatch && k.postDispatch.call(this, a), a.result } }, handlers: function (a, b) { var c, d, e, f, g = [], h = b.delegateCount, i = a.target; if (h && i.nodeType && ("click" !== a.type || isNaN(a.button) || a.button < 1)) for (; i != this; i = i.parentNode || this) if (1 === i.nodeType && (i.disabled !== !0 || "click" !== a.type)) { for (d = [], c = 0; h > c; c++) f = b[c], e = f.selector + " ", void 0 === d[e] && (d[e] = f.needsContext ? n(e, this).index(i) > -1 : n.find(e, this, null, [i]).length), d[e] && d.push(f); d.length && g.push({ elem: i, handlers: d }) } return h < b.length && g.push({ elem: this, handlers: b.slice(h) }), g }, fix: function (a) { if (a[n.expando]) return a; var b, c, e, f = a.type, g = a, h = this.fixHooks[f]; h || (this.fixHooks[f] = h = ma.test(f) ? this.mouseHooks : la.test(f) ? this.keyHooks : {}), e = h.props ? this.props.concat(h.props) : this.props, a = new n.Event(g), b = e.length; while (b--) c = e[b], a[c] = g[c]; return a.target || (a.target = g.srcElement || d), 3 === a.target.nodeType && (a.target = a.target.parentNode), a.metaKey = !!a.metaKey, h.filter ? h.filter(a, g) : a }, props: "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), fixHooks: {}, keyHooks: { props: "char charCode key keyCode".split(" "), filter: function (a, b) { return null == a.which && (a.which = null != b.charCode ? b.charCode : b.keyCode), a } }, mouseHooks: { props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), filter: function (a, b) { var c, e, f, g = b.button, h = b.fromElement; return null == a.pageX && null != b.clientX && (e = a.target.ownerDocument || d, f = e.documentElement, c = e.body, a.pageX = b.clientX + (f && f.scrollLeft || c && c.scrollLeft || 0) - (f && f.clientLeft || c && c.clientLeft || 0), a.pageY = b.clientY + (f && f.scrollTop || c && c.scrollTop || 0) - (f && f.clientTop || c && c.clientTop || 0)), !a.relatedTarget && h && (a.relatedTarget = h === a.target ? b.toElement : h), a.which || void 0 === g || (a.which = 1 & g ? 1 : 2 & g ? 3 : 4 & g ? 2 : 0), a } }, special: { load: { noBubble: !0 }, focus: { trigger: function () { if (this !== ra() && this.focus) try { return this.focus(), !1 } catch (a) { } }, delegateType: "focusin" }, blur: { trigger: function () { return this === ra() && this.blur ? (this.blur(), !1) : void 0 }, delegateType: "focusout" }, click: { trigger: function () { return n.nodeName(this, "input") && "checkbox" === this.type && this.click ? (this.click(), !1) : void 0 }, _default: function (a) { return n.nodeName(a.target, "a") } }, beforeunload: { postDispatch: function (a) { void 0 !== a.result && a.originalEvent && (a.originalEvent.returnValue = a.result) } } }, simulate: function (a, b, c) { var d = n.extend(new n.Event, c, { type: a, isSimulated: !0 }); n.event.trigger(d, null, b), d.isDefaultPrevented() && c.preventDefault() } }, n.removeEvent = d.removeEventListener ? function (a, b, c) { a.removeEventListener && a.removeEventListener(b, c) } : function (a, b, c) { var d = "on" + b; a.detachEvent && ("undefined" == typeof a[d] && (a[d] = null), a.detachEvent(d, c)) }, n.Event = function (a, b) { return this instanceof n.Event ? (a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || void 0 === a.defaultPrevented && a.returnValue === !1 ? pa : qa) : this.type = a, b && n.extend(this, b), this.timeStamp = a && a.timeStamp || n.now(), void (this[n.expando] = !0)) : new n.Event(a, b) }, n.Event.prototype = { constructor: n.Event, isDefaultPrevented: qa, isPropagationStopped: qa, isImmediatePropagationStopped: qa, preventDefault: function () { var a = this.originalEvent; this.isDefaultPrevented = pa, a && (a.preventDefault ? a.preventDefault() : a.returnValue = !1) }, stopPropagation: function () { var a = this.originalEvent; this.isPropagationStopped = pa, a && !this.isSimulated && (a.stopPropagation && a.stopPropagation(), a.cancelBubble = !0) }, stopImmediatePropagation: function () { var a = this.originalEvent; this.isImmediatePropagationStopped = pa, a && a.stopImmediatePropagation && a.stopImmediatePropagation(), this.stopPropagation() } }, n.each({ mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, function (a, b) { n.event.special[a] = { delegateType: b, bindType: b, handle: function (a) { var c, d = this, e = a.relatedTarget, f = a.handleObj; return e && (e === d || n.contains(d, e)) || (a.type = f.origType, c = f.handler.apply(this, arguments), a.type = b), c } } }), l.submit || (n.event.special.submit = { setup: function () { return n.nodeName(this, "form") ? !1 : void n.event.add(this, "click._submit keypress._submit", function (a) { var b = a.target, c = n.nodeName(b, "input") || n.nodeName(b, "button") ? n.prop(b, "form") : void 0; c && !n._data(c, "submit") && (n.event.add(c, "submit._submit", function (a) { a._submitBubble = !0 }), n._data(c, "submit", !0)) }) }, postDispatch: function (a) { a._submitBubble && (delete a._submitBubble, this.parentNode && !a.isTrigger && n.event.simulate("submit", this.parentNode, a)) }, teardown: function () { return n.nodeName(this, "form") ? !1 : void n.event.remove(this, "._submit") } }), l.change || (n.event.special.change = { setup: function () { return ka.test(this.nodeName) ? ("checkbox" !== this.type && "radio" !== this.type || (n.event.add(this, "propertychange._change", function (a) { "checked" === a.originalEvent.propertyName && (this._justChanged = !0) }), n.event.add(this, "click._change", function (a) { this._justChanged && !a.isTrigger && (this._justChanged = !1), n.event.simulate("change", this, a) })), !1) : void n.event.add(this, "beforeactivate._change", function (a) { var b = a.target; ka.test(b.nodeName) && !n._data(b, "change") && (n.event.add(b, "change._change", function (a) { !this.parentNode || a.isSimulated || a.isTrigger || n.event.simulate("change", this.parentNode, a) }), n._data(b, "change", !0)) }) }, handle: function (a) { var b = a.target; return this !== b || a.isSimulated || a.isTrigger || "radio" !== b.type && "checkbox" !== b.type ? a.handleObj.handler.apply(this, arguments) : void 0 }, teardown: function () { return n.event.remove(this, "._change"), !ka.test(this.nodeName) } }), l.focusin || n.each({ focus: "focusin", blur: "focusout" }, function (a, b) { var c = function (a) { n.event.simulate(b, a.target, n.event.fix(a)) }; n.event.special[b] = { setup: function () { var d = this.ownerDocument || this, e = n._data(d, b); e || d.addEventListener(a, c, !0), n._data(d, b, (e || 0) + 1) }, teardown: function () { var d = this.ownerDocument || this, e = n._data(d, b) - 1; e ? n._data(d, b, e) : (d.removeEventListener(a, c, !0), n._removeData(d, b)) } } }), n.fn.extend({ on: function (a, b, c, d) { return sa(this, a, b, c, d) }, one: function (a, b, c, d) { return sa(this, a, b, c, d, 1) }, off: function (a, b, c) { var d, e; if (a && a.preventDefault && a.handleObj) return d = a.handleObj, n(a.delegateTarget).off(d.namespace ? d.origType + "." + d.namespace : d.origType, d.selector, d.handler), this; if ("object" == typeof a) { for (e in a) this.off(e, b, a[e]); return this } return b !== !1 && "function" != typeof b || (c = b, b = void 0), c === !1 && (c = qa), this.each(function () { n.event.remove(this, a, c, b) }) }, trigger: function (a, b) { return this.each(function () { n.event.trigger(a, b, this) }) }, triggerHandler: function (a, b) { var c = this[0]; return c ? n.event.trigger(a, b, c, !0) : void 0 } }); var ta = / jQuery\d+="(?:null|\d+)"/g, ua = new RegExp("<(?:" + ba + ")[\\s/>]", "i"), va = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, wa = /\s*$/g, Aa = ca(d), Ba = Aa.appendChild(d.createElement("div")); function Ca(a, b) { return n.nodeName(a, "table") && n.nodeName(11 !== b.nodeType ? b : b.firstChild, "tr") ? a.getElementsByTagName("tbody")[0] || a.appendChild(a.ownerDocument.createElement("tbody")) : a } function Da(a) { return a.type = (null !== n.find.attr(a, "type")) + "/" + a.type, a } function Ea(a) { var b = ya.exec(a.type); return b ? a.type = b[1] : a.removeAttribute("type"), a } function Fa(a, b) { if (1 === b.nodeType && n.hasData(a)) { var c, d, e, f = n._data(a), g = n._data(b, f), h = f.events; if (h) { delete g.handle, g.events = {}; for (c in h) for (d = 0, e = h[c].length; e > d; d++) n.event.add(b, c, h[c][d]) } g.data && (g.data = n.extend({}, g.data)) } } function Ga(a, b) { var c, d, e; if (1 === b.nodeType) { if (c = b.nodeName.toLowerCase(), !l.noCloneEvent && b[n.expando]) { e = n._data(b); for (d in e.events) n.removeEvent(b, d, e.handle); b.removeAttribute(n.expando) } "script" === c && b.text !== a.text ? (Da(b).text = a.text, Ea(b)) : "object" === c ? (b.parentNode && (b.outerHTML = a.outerHTML), l.html5Clone && a.innerHTML && !n.trim(b.innerHTML) && (b.innerHTML = a.innerHTML)) : "input" === c && Z.test(a.type) ? (b.defaultChecked = b.checked = a.checked, b.value !== a.value && (b.value = a.value)) : "option" === c ? b.defaultSelected = b.selected = a.defaultSelected : "input" !== c && "textarea" !== c || (b.defaultValue = a.defaultValue) } } function Ha(a, b, c, d) { b = f.apply([], b); var e, g, h, i, j, k, m = 0, o = a.length, p = o - 1, q = b[0], r = n.isFunction(q); if (r || o > 1 && "string" == typeof q && !l.checkClone && xa.test(q)) return a.each(function (e) { var f = a.eq(e); r && (b[0] = q.call(this, e, f.html())), Ha(f, b, c, d) }); if (o && (k = ja(b, a[0].ownerDocument, !1, a, d), e = k.firstChild, 1 === k.childNodes.length && (k = e), e || d)) { for (i = n.map(ea(k, "script"), Da), h = i.length; o > m; m++) g = k, m !== p && (g = n.clone(g, !0, !0), h && n.merge(i, ea(g, "script"))), c.call(a[m], g, m); if (h) for (j = i[i.length - 1].ownerDocument, n.map(i, Ea), m = 0; h > m; m++) g = i[m], _.test(g.type || "") && !n._data(g, "globalEval") && n.contains(j, g) && (g.src ? n._evalUrl && n._evalUrl(g.src) : n.globalEval((g.text || g.textContent || g.innerHTML || "").replace(za, ""))); k = e = null } return a } function Ia(a, b, c) { for (var d, e = b ? n.filter(b, a) : a, f = 0; null != (d = e[f]) ; f++) c || 1 !== d.nodeType || n.cleanData(ea(d)), d.parentNode && (c && n.contains(d.ownerDocument, d) && fa(ea(d, "script")), d.parentNode.removeChild(d)); return a } n.extend({ htmlPrefilter: function (a) { return a.replace(va, "<$1>") }, clone: function (a, b, c) { var d, e, f, g, h, i = n.contains(a.ownerDocument, a); if (l.html5Clone || n.isXMLDoc(a) || !ua.test("<" + a.nodeName + ">") ? f = a.cloneNode(!0) : (Ba.innerHTML = a.outerHTML, Ba.removeChild(f = Ba.firstChild)), !(l.noCloneEvent && l.noCloneChecked || 1 !== a.nodeType && 11 !== a.nodeType || n.isXMLDoc(a))) for (d = ea(f), h = ea(a), g = 0; null != (e = h[g]) ; ++g) d[g] && Ga(e, d[g]); if (b) if (c) for (h = h || ea(a), d = d || ea(f), g = 0; null != (e = h[g]) ; g++) Fa(e, d[g]); else Fa(a, f); return d = ea(f, "script"), d.length > 0 && fa(d, !i && ea(a, "script")), d = h = e = null, f }, cleanData: function (a, b) { for (var d, e, f, g, h = 0, i = n.expando, j = n.cache, k = l.attributes, m = n.event.special; null != (d = a[h]) ; h++) if ((b || M(d)) && (f = d[i], g = f && j[f])) { if (g.events) for (e in g.events) m[e] ? n.event.remove(d, e) : n.removeEvent(d, e, g.handle); j[f] && (delete j[f], k || "undefined" == typeof d.removeAttribute ? d[i] = void 0 : d.removeAttribute(i), c.push(f)) } } }), n.fn.extend({ domManip: Ha, detach: function (a) { return Ia(this, a, !0) }, remove: function (a) { return Ia(this, a) }, text: function (a) { return Y(this, function (a) { return void 0 === a ? n.text(this) : this.empty().append((this[0] && this[0].ownerDocument || d).createTextNode(a)) }, null, a, arguments.length) }, append: function () { return Ha(this, arguments, function (a) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var b = Ca(this, a); b.appendChild(a) } }) }, prepend: function () { return Ha(this, arguments, function (a) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var b = Ca(this, a); b.insertBefore(a, b.firstChild) } }) }, before: function () { return Ha(this, arguments, function (a) { this.parentNode && this.parentNode.insertBefore(a, this) }) }, after: function () { return Ha(this, arguments, function (a) { this.parentNode && this.parentNode.insertBefore(a, this.nextSibling) }) }, empty: function () { for (var a, b = 0; null != (a = this[b]) ; b++) { 1 === a.nodeType && n.cleanData(ea(a, !1)); while (a.firstChild) a.removeChild(a.firstChild); a.options && n.nodeName(a, "select") && (a.options.length = 0) } return this }, clone: function (a, b) { return a = null == a ? !1 : a, b = null == b ? a : b, this.map(function () { return n.clone(this, a, b) }) }, html: function (a) { return Y(this, function (a) { var b = this[0] || {}, c = 0, d = this.length; if (void 0 === a) return 1 === b.nodeType ? b.innerHTML.replace(ta, "") : void 0; if ("string" == typeof a && !wa.test(a) && (l.htmlSerialize || !ua.test(a)) && (l.leadingWhitespace || !aa.test(a)) && !da[($.exec(a) || ["", ""])[1].toLowerCase()]) { a = n.htmlPrefilter(a); try { for (; d > c; c++) b = this[c] || {}, 1 === b.nodeType && (n.cleanData(ea(b, !1)), b.innerHTML = a); b = 0 } catch (e) { } } b && this.empty().append(a) }, null, a, arguments.length) }, replaceWith: function () { var a = []; return Ha(this, arguments, function (b) { var c = this.parentNode; n.inArray(this, a) < 0 && (n.cleanData(ea(this)), c && c.replaceChild(b, this)) }, a) } }), n.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function (a, b) { n.fn[a] = function (a) { for (var c, d = 0, e = [], f = n(a), h = f.length - 1; h >= d; d++) c = d === h ? this : this.clone(!0), n(f[d])[b](c), g.apply(e, c.get()); return this.pushStack(e) } }); var Ja, Ka = { HTML: "block", BODY: "block" }; function La(a, b) { var c = n(b.createElement(a)).appendTo(b.body), d = n.css(c[0], "display"); return c.detach(), d } function Ma(a) { var b = d, c = Ka[a]; return c || (c = La(a, b), "none" !== c && c || (Ja = (Ja || n("',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){b.types.push(P),w("BeforeChange",function(a,b,c){b!==c&&(b===P?R():c===P&&R(!0))}),w(h+"."+P,function(){R()})},getIframe:function(c,d){var e=c.src,f=b.st.iframe;a.each(f.patterns,function(){return e.indexOf(this.index)>-1?(this.id&&(e="string"==typeof this.id?e.substr(e.lastIndexOf(this.id)+this.id.length,e.length):this.id.call(this,e)),e=this.src.replace("%id%",e),!1):void 0});var g={};return f.srcAction&&(g[f.srcAction]=e),b._parseMarkup(d,g,c),b.updateStatus("ready"),d}}});var S=function(a){var c=b.items.length;return a>c-1?a-c:0>a?c+a:a},T=function(a,b,c){return a.replace(/%curr%/gi,b+1).replace(/%total%/gi,c)};a.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var c=b.st.gallery,e=".mfp-gallery";return b.direction=!0,c&&c.enabled?(f+=" mfp-gallery",w(m+e,function(){c.navigateByImgClick&&b.wrap.on("click"+e,".mfp-img",function(){return b.items.length>1?(b.next(),!1):void 0}),d.on("keydown"+e,function(a){37===a.keyCode?b.prev():39===a.keyCode&&b.next()})}),w("UpdateStatus"+e,function(a,c){c.text&&(c.text=T(c.text,b.currItem.index,b.items.length))}),w(l+e,function(a,d,e,f){var g=b.items.length;e.counter=g>1?T(c.tCounter,f.index,g):""}),w("BuildControls"+e,function(){if(b.items.length>1&&c.arrows&&!b.arrowLeft){var d=c.arrowMarkup,e=b.arrowLeft=a(d.replace(/%title%/gi,c.tPrev).replace(/%dir%/gi,"left")).addClass(s),f=b.arrowRight=a(d.replace(/%title%/gi,c.tNext).replace(/%dir%/gi,"right")).addClass(s);e.click(function(){b.prev()}),f.click(function(){b.next()}),b.container.append(e.add(f))}}),w(n+e,function(){b._preloadTimeout&&clearTimeout(b._preloadTimeout),b._preloadTimeout=setTimeout(function(){b.preloadNearbyImages(),b._preloadTimeout=null},16)}),void w(h+e,function(){d.off(e),b.wrap.off("click"+e),b.arrowRight=b.arrowLeft=null})):!1},next:function(){b.direction=!0,b.index=S(b.index+1),b.updateItemHTML()},prev:function(){b.direction=!1,b.index=S(b.index-1),b.updateItemHTML()},goTo:function(a){b.direction=a>=b.index,b.index=a,b.updateItemHTML()},preloadNearbyImages:function(){var a,c=b.st.gallery.preload,d=Math.min(c[0],b.items.length),e=Math.min(c[1],b.items.length);for(a=1;a<=(b.direction?e:d);a++)b._preloadItem(b.index+a);for(a=1;a<=(b.direction?d:e);a++)b._preloadItem(b.index-a)},_preloadItem:function(c){if(c=S(c),!b.items[c].preloaded){var d=b.items[c];d.parsed||(d=b.parseEl(c)),y("LazyLoad",d),"image"===d.type&&(d.img=a('').on("load.mfploader",function(){d.hasSize=!0}).on("error.mfploader",function(){d.hasSize=!0,d.loadError=!0,y("LazyLoadError",d)}).attr("src",d.src)),d.preloaded=!0}}}});var U="retina";a.magnificPopup.registerModule(U,{options:{replaceSrc:function(a){return a.src.replace(/\.\w+$/,function(a){return"@2x"+a})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var a=b.st.retina,c=a.ratio;c=isNaN(c)?c():c,c>1&&(w("ImageHasSize."+U,function(a,b){b.img.css({"max-width":b.img[0].naturalWidth/c,width:"100%"})}),w("ElementParse."+U,function(b,d){d.src=a.replaceSrc(d,c)}))}}}}),A()}); \ No newline at end of file diff --git a/site/trunk/js/load-universal.js b/site/trunk/js/load-universal.js deleted file mode 100644 index 3f5ed37..0000000 --- a/site/trunk/js/load-universal.js +++ /dev/null @@ -1,11 +0,0 @@ -$(document).ready(function () { - //Init double tap for touch menu - $('nav li:has(ul)').doubleTapToGo(); -}); - -//Web Font Loader -WebFont.load({ - google: { - families: ['Vollkorn:700', 'Lato:400,400i,700,700i'] - } -}); \ No newline at end of file diff --git a/site/trunk/js/mobile-menu.js b/site/trunk/js/mobile-menu.js deleted file mode 100644 index 35fdf36..0000000 --- a/site/trunk/js/mobile-menu.js +++ /dev/null @@ -1,64 +0,0 @@ -jQuery(document).ready(function ($) { - //Variables - var $wrapper = $('.full'), - $nav = $('#main-nav > ul').clone(), //Clone just the ul directly after #main-nav - $navigation = $('#main-nav-copy'), - $trigger = $('#menu-trigger'), - $nav2 = $('#account-nav > ul').clone(), - $navigation2 = $('#account-nav-copy'), - $trigger2 = $('#account-trigger'); - //Cloning data from one place to another - $navigation.html($nav); - $navigation2.html($nav2); - - $('#main-nav-copy > ul > li:has(ul)').addClass("has-sub"); //Add class if parent li has a child ul - $('#account-nav-copy > ul > li:has(ul)').addClass("has-sub"); //Add class if parent li has a child ul - $('.has-sub > a').wrap("").after(''); //Add a span after the link for people to click to open the menu, so if they click the link it will function as a link - - $('.has-sub').children('span').children('.open-dd').on('click', function (event) { - event.preventDefault(); - //If .has-sub has span > span.open-dd of children, then go up to parent span and go to next element and toggle class active and toggle a slide. - //end the chain - //When that accordion is opening, look back at the parent of the element with a class of .has-sub, and look at .has-sub's siblings to see if they, too, have children of span > span.open-dd, and if they do, go back to the parent span, go to the next element and remove the active class and slide it close - //This logic is crazy, I will revisit to see if there's a better way - $(this).parent('span').next().toggleClass('active').slideToggle('slow', function () { - $(this).animate({ - scrollTop: $(this).offset() //Take to top when opening a long menu, this needs some work but overall works well enough for now - }); - }).end().parent('.has-sub').siblings('.has-sub').children('span').children('.open-dd').parent('span').next().removeClass('active').slideUp(500); - }); - - //Open-close main menu panel - $trigger.on('click', function (event) { - event.preventDefault(); - //Close any other panel that's open, if you have more than 2 panels just use .add() to list them without creating new lines - if ($navigation2.hasClass('open-menu')) { - $navigation2.removeClass('open-menu'), - $trigger2.removeClass('is-clicked'); - } - //Close main menu panel - $trigger.toggleClass('is-clicked'); - $navigation.toggleClass('open-menu'); - }); - - //Open-close shop panel - $trigger2.on('click', function (event) { - event.preventDefault(); - //Close any other panel that's open, if you have more than 2 panels just use .add() to list them without creating new lines - if ($navigation.hasClass('open-menu')) { - $navigation.removeClass('open-menu'), - $trigger.removeClass('is-clicked'); - } - //Close shop panel - $trigger2.toggleClass('is-clicked'); - $navigation2.toggleClass('open-menu'); - }); - - //Close menu by clicking outside the panel - $wrapper.on('click', function (event) { - if (!$(event.target).is($trigger, $trigger2)) { //If your click target isn't the link that opens any of the panels then do this - $trigger.add($trigger2).removeClass('is-clicked'); - $navigation.add($navigation2).removeClass('open-menu'); - } - }); -}) \ No newline at end of file diff --git a/site/trunk/js/modernizr.js b/site/trunk/js/modernizr.js deleted file mode 100644 index 460a228..0000000 --- a/site/trunk/js/modernizr.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! modernizr 3.5.0 (Custom Build) | MIT * - * https://modernizr.com/download/?-touchevents-setclasses !*/ -!function (e, n, t) { function o(e) { var n = c.className, t = Modernizr._config.classPrefix || ""; if (p && (n = n.baseVal), Modernizr._config.enableJSClass) { var o = new RegExp("(^|\\s)" + t + "no-js(\\s|$)"); n = n.replace(o, "$1" + t + "js$2") } Modernizr._config.enableClasses && (n += " " + t + e.join(" " + t), p ? c.className.baseVal = n : c.className = n) } function s(e, n) { return typeof e === n } function a() { var e, n, t, o, a, i, r; for (var l in d) if (d.hasOwnProperty(l)) { if (e = [], n = d[l], n.name && (e.push(n.name.toLowerCase()), n.options && n.options.aliases && n.options.aliases.length)) for (t = 0; t < n.options.aliases.length; t++) e.push(n.options.aliases[t].toLowerCase()); for (o = s(n.fn, "function") ? n.fn() : n.fn, a = 0; a < e.length; a++) i = e[a], r = i.split("."), 1 === r.length ? Modernizr[r[0]] = o : (!Modernizr[r[0]] || Modernizr[r[0]] instanceof Boolean || (Modernizr[r[0]] = new Boolean(Modernizr[r[0]])), Modernizr[r[0]][r[1]] = o), f.push((o ? "" : "no-") + r.join("-")) } } function i() { return "function" != typeof n.createElement ? n.createElement(arguments[0]) : p ? n.createElementNS.call(n, "http://www.w3.org/2000/svg", arguments[0]) : n.createElement.apply(n, arguments) } function r() { var e = n.body; return e || (e = i(p ? "svg" : "body"), e.fake = !0), e } function l(e, t, o, s) { var a, l, f, d, u = "modernizr", p = i("div"), h = r(); if (parseInt(o, 10)) for (; o--;) f = i("div"), f.id = s ? s[o] : u + (o + 1), p.appendChild(f); return a = i("style"), a.type = "text/css", a.id = "s" + u, (h.fake ? h : p).appendChild(a), h.appendChild(p), a.styleSheet ? a.styleSheet.cssText = e : a.appendChild(n.createTextNode(e)), p.id = u, h.fake && (h.style.background = "", h.style.overflow = "hidden", d = c.style.overflow, c.style.overflow = "hidden", c.appendChild(h)), l = t(p, e), h.fake ? (h.parentNode.removeChild(h), c.style.overflow = d, c.offsetHeight) : p.parentNode.removeChild(p), !!l } var f = [], c = n.documentElement, d = [], u = { _version: "3.5.0", _config: { classPrefix: "", enableClasses: !0, enableJSClass: !0, usePrefixes: !0 }, _q: [], on: function (e, n) { var t = this; setTimeout(function () { n(t[e]) }, 0) }, addTest: function (e, n, t) { d.push({ name: e, fn: n, options: t }) }, addAsyncTest: function (e) { d.push({ name: null, fn: e }) } }, Modernizr = function () { }; Modernizr.prototype = u, Modernizr = new Modernizr; var p = "svg" === c.nodeName.toLowerCase(), h = u._config.usePrefixes ? " -webkit- -moz- -o- -ms- ".split(" ") : ["", ""]; u._prefixes = h; var m = u.testStyles = l; Modernizr.addTest("touchevents", function () { var t; if ("ontouchstart" in e || e.DocumentTouch && n instanceof DocumentTouch) t = !0; else { var o = ["@media (", h.join("touch-enabled),("), "heartz", ")", "{#modernizr{top:9px;position:absolute}}"].join(""); m(o, function (e) { t = 9 === e.offsetTop }) } return t }), a(), o(f), delete u.addTest, delete u.addAsyncTest; for (var v = 0; v < Modernizr._q.length; v++) Modernizr._q[v](); e.Modernizr = Modernizr }(window, document); \ No newline at end of file diff --git a/site/trunk/js/noty/noty.min.js b/site/trunk/js/noty/noty.min.js deleted file mode 100644 index 7419fe0..0000000 --- a/site/trunk/js/noty/noty.min.js +++ /dev/null @@ -1,17 +0,0 @@ -/* - @package NOTY - Dependency-free notification library - @version version: 3.2.0-beta - @contributors https://github.com/needim/noty/graphs/contributors - @documentation Examples and Documentation - https://ned.im/noty - @license Licensed under the MIT licenses: http://www.opensource.org/licenses/mit-license.php -*/ - -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("Noty",[],e):"object"==typeof exports?exports.Noty=e():t.Noty=e()}(this,function(){return function(t){function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=6)}([function(t,e,n){"use strict";function o(t,e,n){var o=void 0;if(!n){for(o in e)if(e.hasOwnProperty(o)&&e[o]===t)return!0}else for(o in e)if(e.hasOwnProperty(o)&&e[o]===t)return!0;return!1}function i(t){t=t||window.event,void 0!==t.stopPropagation?t.stopPropagation():t.cancelBubble=!0}function r(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e="noty_"+t+"_";return e+="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var e=16*Math.random()|0;return("x"===t?e:3&e|8).toString(16)})}function s(t){var e=t.offsetHeight,n=window.getComputedStyle(t);return e+=parseInt(n.marginTop)+parseInt(n.marginBottom)}function u(t,e,n){var o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e=e.split(" ");for(var i=0;i=0}function c(t,e){var n=f(t),o=n+e;a(n,e)||(t.className=o.substring(1))}function l(t,e){var n=f(t),o=void 0;a(t,e)&&(o=n.replace(" "+e+" "," "),t.className=o.substring(1,o.length-1))}function d(t){t.parentNode&&t.parentNode.removeChild(t)}function f(t){return(" "+(t&&t.className||"")+" ").replace(/\s+/gi," ")}function h(){function t(){b.PageHidden=document[s],o()}function e(){b.PageHidden=!0,o()}function n(){b.PageHidden=!1,o()}function o(){b.PageHidden?i():r()}function i(){setTimeout(function(){Object.keys(b.Store).forEach(function(t){b.Store.hasOwnProperty(t)&&b.Store[t].options.visibilityControl&&b.Store[t].stop()})},100)}function r(){setTimeout(function(){Object.keys(b.Store).forEach(function(t){b.Store.hasOwnProperty(t)&&b.Store[t].options.visibilityControl&&b.Store[t].resume()}),b.queueRenderAll()},100)}var s=void 0,a=void 0;void 0!==document.hidden?(s="hidden",a="visibilitychange"):void 0!==document.msHidden?(s="msHidden",a="msvisibilitychange"):void 0!==document.webkitHidden&&(s="webkitHidden",a="webkitvisibilitychange"),a&&u(document,a,t),u(window,"blur",e),u(window,"focus",n)}function p(t){if(t.hasSound){var e=document.createElement("audio");t.options.sounds.sources.forEach(function(t){var n=document.createElement("source");n.src=t,n.type="audio/"+m(t),e.appendChild(n)}),t.barDom?t.barDom.appendChild(e):document.querySelector("body").appendChild(e),e.volume=t.options.sounds.volume,t.soundPlayed||(e.play(),t.soundPlayed=!0),e.onended=function(){d(e)}}}function m(t){return t.match(/\.([^.]+)$/)[1]}Object.defineProperty(e,"__esModule",{value:!0}),e.css=e.deepExtend=e.animationEndEvents=void 0;var v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};e.inArray=o,e.stopPropagation=i,e.generateID=r,e.outerHeight=s,e.addListener=u,e.hasClass=a,e.addClass=c,e.removeClass=l,e.remove=d,e.classList=f,e.visibilityChangeFlow=h,e.createAudioElements=p;var y=n(1),b=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(y);e.animationEndEvents="webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",e.deepExtend=function t(e){e=e||{};for(var n=1;n0&&void 0!==arguments[0]?arguments[0]:"global",e=0,n=x;return E.hasOwnProperty(t)&&(n=E[t].maxVisible,Object.keys(P).forEach(function(n){P[n].options.queue!==t||P[n].closed||e++})),{current:e,maxVisible:n}}function i(t){E.hasOwnProperty(t.options.queue)||(E[t.options.queue]={maxVisible:x,queue:[]}),E[t.options.queue].queue.push(t)}function r(t){if(E.hasOwnProperty(t.options.queue)){var e=[];Object.keys(E[t.options.queue].queue).forEach(function(n){E[t.options.queue].queue[n].id!==t.id&&e.push(E[t.options.queue].queue[n])}),E[t.options.queue].queue=e}}function s(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"global";if(E.hasOwnProperty(t)){var e=E[t].queue.shift();e&&e.show()}}function u(){Object.keys(E).forEach(function(t){s(t)})}function a(t){var e=k.generateID("ghost"),n=document.createElement("div");n.setAttribute("id",e),k.css(n,{height:k.outerHeight(t.barDom)+"px"}),t.barDom.insertAdjacentHTML("afterend",n.outerHTML),k.remove(t.barDom),n=document.getElementById(e),k.addClass(n,"noty_fix_effects_height"),k.addListener(n,k.animationEndEvents,function(){k.remove(n)})}function c(t){m(t);var e='
'+t.options.text+"
"+d(t)+'
';t.barDom=document.createElement("div"),t.barDom.setAttribute("id",t.id),k.addClass(t.barDom,"noty_bar noty_type__"+t.options.type+" noty_theme__"+t.options.theme),t.barDom.innerHTML=e,b(t,"onTemplate")}function l(t){return!(!t.options.buttons||!Object.keys(t.options.buttons).length)}function d(t){if(l(t)){var e=document.createElement("div");return k.addClass(e,"noty_buttons"),Object.keys(t.options.buttons).forEach(function(n){e.appendChild(t.options.buttons[n].dom)}),t.options.buttons.forEach(function(t){e.appendChild(t.dom)}),e.outerHTML}return""}function f(t){t.options.modal&&(0===C&&p(),e.DocModalCount=C+=1)}function h(t){if(t.options.modal&&C>0&&(e.DocModalCount=C-=1,C<=0)){var n=document.querySelector(".noty_modal");n&&(k.removeClass(n,"noty_modal_open"),k.addClass(n,"noty_modal_close"),k.addListener(n,k.animationEndEvents,function(){k.remove(n)}))}}function p(){var t=document.querySelector("body"),e=document.createElement("div");k.addClass(e,"noty_modal"),t.insertBefore(e,t.firstChild),k.addClass(e,"noty_modal_open"),k.addListener(e,k.animationEndEvents,function(){k.removeClass(e,"noty_modal_open")})}function m(t){if(t.options.container)return void(t.layoutDom=document.querySelector(t.options.container));var e="noty_layout__"+t.options.layout;t.layoutDom=document.querySelector("div#"+e),t.layoutDom||(t.layoutDom=document.createElement("div"),t.layoutDom.setAttribute("id",e),t.layoutDom.setAttribute("role","alert"),t.layoutDom.setAttribute("aria-live","polite"),k.addClass(t.layoutDom,"noty_layout"),document.querySelector("body").appendChild(t.layoutDom))}function v(t){t.options.timeout&&(t.options.progressBar&&t.progressDom&&k.css(t.progressDom,{transition:"width "+t.options.timeout+"ms linear",width:"0%"}),clearTimeout(t.closeTimer),t.closeTimer=setTimeout(function(){t.close()},t.options.timeout))}function y(t){t.options.timeout&&t.closeTimer&&(clearTimeout(t.closeTimer),t.closeTimer=-1,t.options.progressBar&&t.progressDom&&k.css(t.progressDom,{transition:"width 0ms linear",width:"100%"}))}function b(t,e){t.listeners.hasOwnProperty(e)&&t.listeners[e].forEach(function(e){"function"==typeof e&&e.apply(t)})}function w(t){b(t,"afterShow"),v(t),k.addListener(t.barDom,"mouseenter",function(){y(t)}),k.addListener(t.barDom,"mouseleave",function(){v(t)})}function g(t){delete P[t.id],t.closing=!1,b(t,"afterClose"),k.remove(t.barDom),0!==t.layoutDom.querySelectorAll(".noty_bar").length||t.options.container||k.remove(t.layoutDom),(k.inArray("docVisible",t.options.titleCount.conditions)||k.inArray("docHidden",t.options.titleCount.conditions))&&D.decrement(),s(t.options.queue)}Object.defineProperty(e,"__esModule",{value:!0}),e.Defaults=e.Store=e.Queues=e.DefaultMaxVisible=e.docTitle=e.DocModalCount=e.PageHidden=void 0,e.getQueueCounts=o,e.addToQueue=i,e.removeFromQueue=r,e.queueRender=s,e.queueRenderAll=u,e.ghostFix=a,e.build=c,e.hasButtons=l,e.handleModal=f,e.handleModalClose=h,e.queueClose=v,e.dequeueClose=y,e.fire=b,e.openFlow=w,e.closeFlow=g;var _=n(0),k=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(_),C=(e.PageHidden=!1,e.DocModalCount=0),S={originalTitle:null,count:0,changed:!1,timer:-1},D=e.docTitle={increment:function(){S.count++,D._update()},decrement:function(){if(--S.count<=0)return void D._clear();D._update()},_update:function(){var t=document.title;S.changed?document.title="("+S.count+") "+S.originalTitle:(S.originalTitle=t,document.title="("+S.count+") "+t,S.changed=!0)},_clear:function(){S.changed&&(S.count=0,document.title=S.originalTitle,S.changed=!1)}},x=e.DefaultMaxVisible=5,E=e.Queues={global:{maxVisible:x,queue:[]}},P=e.Store={};e.Defaults={type:"alert",layout:"topRight",theme:"mint",text:"",timeout:!1,progressBar:!0,closeWith:["click"],animation:{open:"noty_effects_open",close:"noty_effects_close"},id:!1,force:!1,killer:!1,queue:"global",container:!1,buttons:[],callbacks:{beforeShow:null,onShow:null,afterShow:null,onClose:null,afterClose:null,onClick:null,onHover:null,onTemplate:null},sounds:{sources:[],volume:1,conditions:[]},titleCount:{conditions:[]},modal:!1,visibilityControl:!1}},function(t,e,n){"use strict";function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0}),e.NotyButton=void 0;var i=n(0),r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(i);e.NotyButton=function t(e,n,i){var s=this,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return o(this,t),this.dom=document.createElement("button"),this.dom.innerHTML=e,this.id=u.id=u.id||r.generateID("button"),this.cb=i,Object.keys(u).forEach(function(t){s.dom.setAttribute(t,u[t])}),r.addClass(this.dom,n||"noty_btn"),this}},function(t,e,n){"use strict";function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:"/service-worker.js";return o(this,t),this.subData={},this.workerPath=e,this.listeners={onPermissionGranted:[],onPermissionDenied:[],onSubscriptionSuccess:[],onSubscriptionCancel:[],onWorkerError:[],onWorkerSuccess:[],onWorkerNotSupported:[]},this}return i(t,[{key:"on",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){};return"function"==typeof e&&this.listeners.hasOwnProperty(t)&&this.listeners[t].push(e),this}},{key:"fire",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.listeners.hasOwnProperty(t)&&this.listeners[t].forEach(function(t){"function"==typeof t&&t.apply(e,n)})}},{key:"create",value:function(){console.log("NOT IMPLEMENTED YET")}},{key:"isSupported",value:function(){var t=!1;try{t=window.Notification||window.webkitNotifications||navigator.mozNotification||window.external&&void 0!==window.external.msIsSiteMode()}catch(t){}return t}},{key:"getPermissionStatus",value:function(){var t="default";if(window.Notification&&window.Notification.permissionLevel)t=window.Notification.permissionLevel;else if(window.webkitNotifications&&window.webkitNotifications.checkPermission)switch(window.webkitNotifications.checkPermission()){case 1:t="default";break;case 0:t="granted";break;default:t="denied"}else window.Notification&&window.Notification.permission?t=window.Notification.permission:navigator.mozNotification?t="granted":window.external&&void 0!==window.external.msIsSiteMode()&&(t=window.external.msIsSiteMode()?"granted":"default");return t.toString().toLowerCase()}},{key:"getEndpoint",value:function(t){var e=t.endpoint,n=t.subscriptionId;return n&&-1===e.indexOf(n)&&(e+="/"+n),e}},{key:"isSWRegistered",value:function(){try{return"activated"===navigator.serviceWorker.controller.state}catch(t){return!1}}},{key:"unregisterWorker",value:function(){var t=this;"serviceWorker"in navigator&&navigator.serviceWorker.getRegistrations().then(function(e){var n=!0,o=!1,i=void 0;try{for(var r,s=e[Symbol.iterator]();!(n=(r=s.next()).done);n=!0){r.value.unregister(),t.fire("onSubscriptionCancel")}}catch(t){o=!0,i=t}finally{try{!n&&s.return&&s.return()}finally{if(o)throw i}}})}},{key:"requestSubscription",value:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],n=this,o=this.getPermissionStatus(),i=function(o){"granted"===o?(t.fire("onPermissionGranted"),"serviceWorker"in navigator?navigator.serviceWorker.register(t.workerPath).then(function(){navigator.serviceWorker.ready.then(function(t){n.fire("onWorkerSuccess"),t.pushManager.subscribe({userVisibleOnly:e}).then(function(t){var e=t.getKey("p256dh"),o=t.getKey("auth");n.subData={endpoint:n.getEndpoint(t),p256dh:e?window.btoa(String.fromCharCode.apply(null,new Uint8Array(e))):null,auth:o?window.btoa(String.fromCharCode.apply(null,new Uint8Array(o))):null},n.fire("onSubscriptionSuccess",[n.subData])}).catch(function(t){n.fire("onWorkerError",[t])})})}):n.fire("onWorkerNotSupported")):"denied"===o&&(t.fire("onPermissionDenied"),t.unregisterWorker())};"default"===o?window.Notification&&window.Notification.requestPermission?window.Notification.requestPermission(i):window.webkitNotifications&&window.webkitNotifications.checkPermission&&window.webkitNotifications.requestPermission(i):i(o)}}]),t}()},function(t,e,n){(function(e,o){/*! - * @overview es6-promise - a tiny implementation of Promises/A+. - * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) - * @license Licensed under MIT license - * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE - * @version 4.1.1 - */ -!function(e,n){t.exports=n()}(0,function(){"use strict";function t(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}function i(t){return"function"==typeof t}function r(t){z=t}function s(t){U=t}function u(){return void 0!==R?function(){R(c)}:a()}function a(){var t=setTimeout;return function(){return t(c,1)}}function c(){for(var t=0;t0&&void 0!==arguments[0]?arguments[0]:{};return i(this,t),this.options=c.deepExtend({},d.Defaults,e),d.Store[this.options.id]?d.Store[this.options.id]:(this.id=this.options.id||c.generateID("bar"),this.closeTimer=-1,this.barDom=null,this.layoutDom=null,this.progressDom=null,this.showing=!1,this.shown=!1,this.closed=!1,this.closing=!1,this.killable=this.options.timeout||this.options.closeWith.length>0,this.hasSound=this.options.sounds.sources.length>0,this.soundPlayed=!1,this.listeners={beforeShow:[],onShow:[],afterShow:[],onClose:[],afterClose:[],onClick:[],onHover:[],onTemplate:[]},this.promises={show:null,close:null},this.on("beforeShow",this.options.callbacks.beforeShow),this.on("onShow",this.options.callbacks.onShow),this.on("afterShow",this.options.callbacks.afterShow),this.on("onClose",this.options.callbacks.onClose),this.on("afterClose",this.options.callbacks.afterClose),this.on("onClick",this.options.callbacks.onClick),this.on("onHover",this.options.callbacks.onHover),this.on("onTemplate",this.options.callbacks.onTemplate),this)}return r(t,[{key:"on",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){};return"function"==typeof e&&this.listeners.hasOwnProperty(t)&&this.listeners[t].push(e),this}},{key:"show",value:function(){var e=this;if(this.showing||this.shown)return this;!0===this.options.killer?t.closeAll():"string"==typeof this.options.killer&&t.closeAll(this.options.killer);var n=d.getQueueCounts(this.options.queue);if(n.current>=n.maxVisible||d.PageHidden&&this.options.visibilityControl)return d.addToQueue(this),d.PageHidden&&this.hasSound&&c.inArray("docHidden",this.options.sounds.conditions)&&c.createAudioElements(this),d.PageHidden&&c.inArray("docHidden",this.options.titleCount.conditions)&&d.docTitle.increment(),this;if(d.Store[this.id]=this,d.fire(this,"beforeShow"),this.showing=!0,this.closing)return this.showing=!1,this;if(d.build(this),d.handleModal(this),this.options.force?this.layoutDom.insertBefore(this.barDom,this.layoutDom.firstChild):this.layoutDom.appendChild(this.barDom),this.hasSound&&!this.soundPlayed&&c.inArray("docVisible",this.options.sounds.conditions)&&c.createAudioElements(this),c.inArray("docVisible",this.options.titleCount.conditions)&&d.docTitle.increment(),this.shown=!0,this.closed=!1,d.hasButtons(this)&&Object.keys(this.options.buttons).forEach(function(t){var n=e.barDom.querySelector("#"+e.options.buttons[t].id);c.addListener(n,"click",function(n){c.stopPropagation(n),e.options.buttons[t].cb(e)})}),this.progressDom=this.barDom.querySelector(".noty_progressbar"),c.inArray("click",this.options.closeWith)&&(c.addClass(this.barDom,"noty_close_with_click"),c.addListener(this.barDom,"click",function(t){c.stopPropagation(t),d.fire(e,"onClick"),e.close()},!1)),c.addListener(this.barDom,"mouseenter",function(){d.fire(e,"onHover")},!1),this.options.timeout&&c.addClass(this.barDom,"noty_has_timeout"),this.options.progressBar&&c.addClass(this.barDom,"noty_has_progressbar"),c.inArray("button",this.options.closeWith)){c.addClass(this.barDom,"noty_close_with_button");var o=document.createElement("div");c.addClass(o,"noty_close_button"),o.innerHTML="×",this.barDom.appendChild(o),c.addListener(o,"click",function(t){c.stopPropagation(t),e.close()},!1)}return d.fire(this,"onShow"),null===this.options.animation.open?this.promises.show=new u.default(function(t){t()}):"function"==typeof this.options.animation.open?this.promises.show=new u.default(this.options.animation.open.bind(this)):(c.addClass(this.barDom,this.options.animation.open),this.promises.show=new u.default(function(t){c.addListener(e.barDom,c.animationEndEvents,function(){c.removeClass(e.barDom,e.options.animation.open),t()})})),this.promises.show.then(function(){var t=e;setTimeout(function(){d.openFlow(t)},100)}),this}},{key:"stop",value:function(){return d.dequeueClose(this),this}},{key:"resume",value:function(){return d.queueClose(this),this}},{key:"setTimeout",value:function(t){function e(e){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}(function(t){if(this.stop(),this.options.timeout=t,this.barDom){this.options.timeout?c.addClass(this.barDom,"noty_has_timeout"):c.removeClass(this.barDom,"noty_has_timeout");var e=this;setTimeout(function(){e.resume()},100)}return this})},{key:"setText",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.barDom&&(this.barDom.querySelector(".noty_body").innerHTML=t),e&&(this.options.text=t),this}},{key:"setType",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.barDom){c.classList(this.barDom).split(" ").forEach(function(t){"noty_type__"===t.substring(0,11)&&c.removeClass(e.barDom,t)}),c.addClass(this.barDom,"noty_type__"+t)}return n&&(this.options.type=t),this}},{key:"setTheme",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.barDom){c.classList(this.barDom).split(" ").forEach(function(t){"noty_theme__"===t.substring(0,12)&&c.removeClass(e.barDom,t)}),c.addClass(this.barDom,"noty_theme__"+t)}return n&&(this.options.theme=t),this}},{key:"close",value:function(){var t=this;return this.closed?this:this.shown?(d.fire(this,"onClose"),this.closing=!0,null===this.options.animation.close||!1===this.options.animation.close?this.promises.close=new u.default(function(t){t()}):"function"==typeof this.options.animation.close?this.promises.close=new u.default(this.options.animation.close.bind(this)):(c.addClass(this.barDom,this.options.animation.close),this.promises.close=new u.default(function(e){c.addListener(t.barDom,c.animationEndEvents,function(){t.options.force?c.remove(t.barDom):d.ghostFix(t),e()})})),this.promises.close.then(function(){d.closeFlow(t),d.handleModalClose(t)}),this.closed=!0,this):(d.removeFromQueue(this),this)}}],[{key:"closeAll",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return Object.keys(d.Store).forEach(function(e){t?d.Store[e].options.queue===t&&d.Store[e].killable&&d.Store[e].close():d.Store[e].killable&&d.Store[e].close()}),this}},{key:"clearQueue",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"global";return d.Queues.hasOwnProperty(t)&&(d.Queues[t].queue=[]),this}},{key:"overrideDefaults",value:function(t){return d.Defaults=c.deepExtend({},d.Defaults,t),this}},{key:"setMaxVisible",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d.DefaultMaxVisible,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"global";return d.Queues.hasOwnProperty(e)||(d.Queues[e]={maxVisible:t,queue:[]}),d.Queues[e].maxVisible=t,this}},{key:"button",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new f.NotyButton(t,e,n,o)}},{key:"version",value:function(){return"3.2.0-beta"}},{key:"Push",value:function(t){return new h.Push(t)}},{key:"Queues",get:function(){return d.Queues}},{key:"PageHidden",get:function(){return d.PageHidden}}]),t}();e.default=p,"undefined"!=typeof window&&c.visibilityChangeFlow(),t.exports=e.default},function(t,e){function n(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function i(t){if(l===setTimeout)return setTimeout(t,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(t,0);try{return l(t,0)}catch(e){try{return l.call(null,t,0)}catch(e){return l.call(this,t,0)}}}function r(t){if(d===clearTimeout)return clearTimeout(t);if((d===o||!d)&&clearTimeout)return d=clearTimeout,clearTimeout(t);try{return d(t)}catch(e){try{return d.call(null,t)}catch(e){return d.call(this,t)}}}function s(){m&&h&&(m=!1,h.length?p=h.concat(p):v=-1,p.length&&u())}function u(){if(!m){var t=i(s);m=!0;for(var e=p.length;e;){for(h=p,p=[];++v1)for(var n=1;n 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n var id = 'noty_' + prefix + '_';\n\n id += 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = Math.random() * 16 | 0;\n var v = c === 'x' ? r : r & 0x3 | 0x8;\n return v.toString(16);\n });\n\n return id;\n}\n\nfunction outerHeight(el) {\n var height = el.offsetHeight;\n var style = window.getComputedStyle(el);\n\n height += parseInt(style.marginTop) + parseInt(style.marginBottom);\n return height;\n}\n\nvar css = exports.css = function () {\n var cssPrefixes = ['Webkit', 'O', 'Moz', 'ms'];\n var cssProps = {};\n\n function camelCase(string) {\n return string.replace(/^-ms-/, 'ms-').replace(/-([\\da-z])/gi, function (match, letter) {\n return letter.toUpperCase();\n });\n }\n\n function getVendorProp(name) {\n var style = document.body.style;\n if (name in style) return name;\n\n var i = cssPrefixes.length;\n var capName = name.charAt(0).toUpperCase() + name.slice(1);\n var vendorName = void 0;\n\n while (i--) {\n vendorName = cssPrefixes[i] + capName;\n if (vendorName in style) return vendorName;\n }\n\n return name;\n }\n\n function getStyleProp(name) {\n name = camelCase(name);\n return cssProps[name] || (cssProps[name] = getVendorProp(name));\n }\n\n function applyCss(element, prop, value) {\n prop = getStyleProp(prop);\n element.style[prop] = value;\n }\n\n return function (element, properties) {\n var args = arguments;\n var prop = void 0;\n var value = void 0;\n\n if (args.length === 2) {\n for (prop in properties) {\n if (properties.hasOwnProperty(prop)) {\n value = properties[prop];\n if (value !== undefined && properties.hasOwnProperty(prop)) {\n applyCss(element, prop, value);\n }\n }\n }\n } else {\n applyCss(element, args[1], args[2]);\n }\n };\n}();\n\nfunction addListener(el, events, cb) {\n var useCapture = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n events = events.split(' ');\n for (var i = 0; i < events.length; i++) {\n if (document.addEventListener) {\n el.addEventListener(events[i], cb, useCapture);\n } else if (document.attachEvent) {\n el.attachEvent('on' + events[i], cb);\n }\n }\n}\n\nfunction hasClass(element, name) {\n var list = typeof element === 'string' ? element : classList(element);\n return list.indexOf(' ' + name + ' ') >= 0;\n}\n\nfunction addClass(element, name) {\n var oldList = classList(element);\n var newList = oldList + name;\n\n if (hasClass(oldList, name)) return;\n\n // Trim the opening space.\n element.className = newList.substring(1);\n}\n\nfunction removeClass(element, name) {\n var oldList = classList(element);\n var newList = void 0;\n\n if (!hasClass(element, name)) return;\n\n // Replace the class name.\n newList = oldList.replace(' ' + name + ' ', ' ');\n\n // Trim the opening and closing spaces.\n element.className = newList.substring(1, newList.length - 1);\n}\n\nfunction remove(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element);\n }\n}\n\nfunction classList(element) {\n return (' ' + (element && element.className || '') + ' ').replace(/\\s+/gi, ' ');\n}\n\nfunction visibilityChangeFlow() {\n var hidden = void 0;\n var visibilityChange = void 0;\n if (typeof document.hidden !== 'undefined') {\n // Opera 12.10 and Firefox 18 and later support\n hidden = 'hidden';\n visibilityChange = 'visibilitychange';\n } else if (typeof document.msHidden !== 'undefined') {\n hidden = 'msHidden';\n visibilityChange = 'msvisibilitychange';\n } else if (typeof document.webkitHidden !== 'undefined') {\n hidden = 'webkitHidden';\n visibilityChange = 'webkitvisibilitychange';\n }\n\n function onVisibilityChange() {\n API.PageHidden = document[hidden];\n handleVisibilityChange();\n }\n\n function onBlur() {\n API.PageHidden = true;\n handleVisibilityChange();\n }\n\n function onFocus() {\n API.PageHidden = false;\n handleVisibilityChange();\n }\n\n function handleVisibilityChange() {\n if (API.PageHidden) stopAll();else resumeAll();\n }\n\n function stopAll() {\n setTimeout(function () {\n Object.keys(API.Store).forEach(function (id) {\n if (API.Store.hasOwnProperty(id)) {\n if (API.Store[id].options.visibilityControl) {\n API.Store[id].stop();\n }\n }\n });\n }, 100);\n }\n\n function resumeAll() {\n setTimeout(function () {\n Object.keys(API.Store).forEach(function (id) {\n if (API.Store.hasOwnProperty(id)) {\n if (API.Store[id].options.visibilityControl) {\n API.Store[id].resume();\n }\n }\n });\n API.queueRenderAll();\n }, 100);\n }\n\n if (visibilityChange) {\n addListener(document, visibilityChange, onVisibilityChange);\n }\n\n addListener(window, 'blur', onBlur);\n addListener(window, 'focus', onFocus);\n}\n\nfunction createAudioElements(ref) {\n if (ref.hasSound) {\n var audioElement = document.createElement('audio');\n\n ref.options.sounds.sources.forEach(function (s) {\n var source = document.createElement('source');\n source.src = s;\n source.type = 'audio/' + getExtension(s);\n audioElement.appendChild(source);\n });\n\n if (ref.barDom) {\n ref.barDom.appendChild(audioElement);\n } else {\n document.querySelector('body').appendChild(audioElement);\n }\n\n audioElement.volume = ref.options.sounds.volume;\n\n if (!ref.soundPlayed) {\n audioElement.play();\n ref.soundPlayed = true;\n }\n\n audioElement.onended = function () {\n remove(audioElement);\n };\n }\n}\n\nfunction getExtension(fileName) {\n return fileName.match(/\\.([^.]+)$/)[1];\n}\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Defaults = exports.Store = exports.Queues = exports.DefaultMaxVisible = exports.docTitle = exports.DocModalCount = exports.PageHidden = undefined;\nexports.getQueueCounts = getQueueCounts;\nexports.addToQueue = addToQueue;\nexports.removeFromQueue = removeFromQueue;\nexports.queueRender = queueRender;\nexports.queueRenderAll = queueRenderAll;\nexports.ghostFix = ghostFix;\nexports.build = build;\nexports.hasButtons = hasButtons;\nexports.handleModal = handleModal;\nexports.handleModalClose = handleModalClose;\nexports.queueClose = queueClose;\nexports.dequeueClose = dequeueClose;\nexports.fire = fire;\nexports.openFlow = openFlow;\nexports.closeFlow = closeFlow;\n\nvar _utils = __webpack_require__(0);\n\nvar Utils = _interopRequireWildcard(_utils);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar PageHidden = exports.PageHidden = false;\nvar DocModalCount = exports.DocModalCount = 0;\n\nvar DocTitleProps = {\n originalTitle: null,\n count: 0,\n changed: false,\n timer: -1\n};\n\nvar docTitle = exports.docTitle = {\n increment: function increment() {\n DocTitleProps.count++;\n\n docTitle._update();\n },\n\n decrement: function decrement() {\n DocTitleProps.count--;\n\n if (DocTitleProps.count <= 0) {\n docTitle._clear();\n return;\n }\n\n docTitle._update();\n },\n\n _update: function _update() {\n var title = document.title;\n\n if (!DocTitleProps.changed) {\n DocTitleProps.originalTitle = title;\n document.title = '(' + DocTitleProps.count + ') ' + title;\n DocTitleProps.changed = true;\n } else {\n document.title = '(' + DocTitleProps.count + ') ' + DocTitleProps.originalTitle;\n }\n },\n\n _clear: function _clear() {\n if (DocTitleProps.changed) {\n DocTitleProps.count = 0;\n document.title = DocTitleProps.originalTitle;\n DocTitleProps.changed = false;\n }\n }\n};\n\nvar DefaultMaxVisible = exports.DefaultMaxVisible = 5;\n\nvar Queues = exports.Queues = {\n global: {\n maxVisible: DefaultMaxVisible,\n queue: []\n }\n};\n\nvar Store = exports.Store = {};\n\nvar Defaults = exports.Defaults = {\n type: 'alert',\n layout: 'topRight',\n theme: 'mint',\n text: '',\n timeout: false,\n progressBar: true,\n closeWith: ['click'],\n animation: {\n open: 'noty_effects_open',\n close: 'noty_effects_close'\n },\n id: false,\n force: false,\n killer: false,\n queue: 'global',\n container: false,\n buttons: [],\n callbacks: {\n beforeShow: null,\n onShow: null,\n afterShow: null,\n onClose: null,\n afterClose: null,\n onClick: null,\n onHover: null,\n onTemplate: null\n },\n sounds: {\n sources: [],\n volume: 1,\n conditions: []\n },\n titleCount: {\n conditions: []\n },\n modal: false,\n visibilityControl: false\n\n /**\r\n * @param {string} queueName\r\n * @return {object}\r\n */\n};function getQueueCounts() {\n var queueName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'global';\n\n var count = 0;\n var max = DefaultMaxVisible;\n\n if (Queues.hasOwnProperty(queueName)) {\n max = Queues[queueName].maxVisible;\n Object.keys(Store).forEach(function (i) {\n if (Store[i].options.queue === queueName && !Store[i].closed) count++;\n });\n }\n\n return {\n current: count,\n maxVisible: max\n };\n}\n\n/**\r\n * @param {Noty} ref\r\n * @return {void}\r\n */\nfunction addToQueue(ref) {\n if (!Queues.hasOwnProperty(ref.options.queue)) {\n Queues[ref.options.queue] = { maxVisible: DefaultMaxVisible, queue: [] };\n }\n\n Queues[ref.options.queue].queue.push(ref);\n}\n\n/**\r\n * @param {Noty} ref\r\n * @return {void}\r\n */\nfunction removeFromQueue(ref) {\n if (Queues.hasOwnProperty(ref.options.queue)) {\n var queue = [];\n Object.keys(Queues[ref.options.queue].queue).forEach(function (i) {\n if (Queues[ref.options.queue].queue[i].id !== ref.id) {\n queue.push(Queues[ref.options.queue].queue[i]);\n }\n });\n Queues[ref.options.queue].queue = queue;\n }\n}\n\n/**\r\n * @param {string} queueName\r\n * @return {void}\r\n */\nfunction queueRender() {\n var queueName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'global';\n\n if (Queues.hasOwnProperty(queueName)) {\n var noty = Queues[queueName].queue.shift();\n\n if (noty) noty.show();\n }\n}\n\n/**\r\n * @return {void}\r\n */\nfunction queueRenderAll() {\n Object.keys(Queues).forEach(function (queueName) {\n queueRender(queueName);\n });\n}\n\n/**\r\n * @param {Noty} ref\r\n * @return {void}\r\n */\nfunction ghostFix(ref) {\n var ghostID = Utils.generateID('ghost');\n var ghost = document.createElement('div');\n ghost.setAttribute('id', ghostID);\n Utils.css(ghost, {\n height: Utils.outerHeight(ref.barDom) + 'px'\n });\n\n ref.barDom.insertAdjacentHTML('afterend', ghost.outerHTML);\n\n Utils.remove(ref.barDom);\n ghost = document.getElementById(ghostID);\n Utils.addClass(ghost, 'noty_fix_effects_height');\n Utils.addListener(ghost, Utils.animationEndEvents, function () {\n Utils.remove(ghost);\n });\n}\n\n/**\r\n * @param {Noty} ref\r\n * @return {void}\r\n */\nfunction build(ref) {\n findOrCreateContainer(ref);\n\n var markup = '
' + ref.options.text + '
' + buildButtons(ref) + '
';\n\n ref.barDom = document.createElement('div');\n ref.barDom.setAttribute('id', ref.id);\n Utils.addClass(ref.barDom, 'noty_bar noty_type__' + ref.options.type + ' noty_theme__' + ref.options.theme);\n\n ref.barDom.innerHTML = markup;\n\n fire(ref, 'onTemplate');\n}\n\n/**\r\n * @param {Noty} ref\r\n * @return {boolean}\r\n */\nfunction hasButtons(ref) {\n return !!(ref.options.buttons && Object.keys(ref.options.buttons).length);\n}\n\n/**\r\n * @param {Noty} ref\r\n * @return {string}\r\n */\nfunction buildButtons(ref) {\n if (hasButtons(ref)) {\n var buttons = document.createElement('div');\n Utils.addClass(buttons, 'noty_buttons');\n\n Object.keys(ref.options.buttons).forEach(function (key) {\n buttons.appendChild(ref.options.buttons[key].dom);\n });\n\n ref.options.buttons.forEach(function (btn) {\n buttons.appendChild(btn.dom);\n });\n return buttons.outerHTML;\n }\n return '';\n}\n\n/**\r\n * @param {Noty} ref\r\n * @return {void}\r\n */\nfunction handleModal(ref) {\n if (ref.options.modal) {\n if (DocModalCount === 0) {\n createModal(ref);\n }\n\n exports.DocModalCount = DocModalCount += 1;\n }\n}\n\n/**\r\n * @param {Noty} ref\r\n * @return {void}\r\n */\nfunction handleModalClose(ref) {\n if (ref.options.modal && DocModalCount > 0) {\n exports.DocModalCount = DocModalCount -= 1;\n\n if (DocModalCount <= 0) {\n var modal = document.querySelector('.noty_modal');\n\n if (modal) {\n Utils.removeClass(modal, 'noty_modal_open');\n Utils.addClass(modal, 'noty_modal_close');\n Utils.addListener(modal, Utils.animationEndEvents, function () {\n Utils.remove(modal);\n });\n }\n }\n }\n}\n\n/**\r\n * @return {void}\r\n */\nfunction createModal() {\n var body = document.querySelector('body');\n var modal = document.createElement('div');\n Utils.addClass(modal, 'noty_modal');\n body.insertBefore(modal, body.firstChild);\n Utils.addClass(modal, 'noty_modal_open');\n\n Utils.addListener(modal, Utils.animationEndEvents, function () {\n Utils.removeClass(modal, 'noty_modal_open');\n });\n}\n\n/**\r\n * @param {Noty} ref\r\n * @return {void}\r\n */\nfunction findOrCreateContainer(ref) {\n if (ref.options.container) {\n ref.layoutDom = document.querySelector(ref.options.container);\n return;\n }\n\n var layoutID = 'noty_layout__' + ref.options.layout;\n ref.layoutDom = document.querySelector('div#' + layoutID);\n\n if (!ref.layoutDom) {\n ref.layoutDom = document.createElement('div');\n ref.layoutDom.setAttribute('id', layoutID);\n ref.layoutDom.setAttribute('role', 'alert');\n ref.layoutDom.setAttribute('aria-live', 'polite');\n Utils.addClass(ref.layoutDom, 'noty_layout');\n document.querySelector('body').appendChild(ref.layoutDom);\n }\n}\n\n/**\r\n * @param {Noty} ref\r\n * @return {void}\r\n */\nfunction queueClose(ref) {\n if (ref.options.timeout) {\n if (ref.options.progressBar && ref.progressDom) {\n Utils.css(ref.progressDom, {\n transition: 'width ' + ref.options.timeout + 'ms linear',\n width: '0%'\n });\n }\n\n clearTimeout(ref.closeTimer);\n\n ref.closeTimer = setTimeout(function () {\n ref.close();\n }, ref.options.timeout);\n }\n}\n\n/**\r\n * @param {Noty} ref\r\n * @return {void}\r\n */\nfunction dequeueClose(ref) {\n if (ref.options.timeout && ref.closeTimer) {\n clearTimeout(ref.closeTimer);\n ref.closeTimer = -1;\n\n if (ref.options.progressBar && ref.progressDom) {\n Utils.css(ref.progressDom, {\n transition: 'width 0ms linear',\n width: '100%'\n });\n }\n }\n}\n\n/**\r\n * @param {Noty} ref\r\n * @param {string} eventName\r\n * @return {void}\r\n */\nfunction fire(ref, eventName) {\n if (ref.listeners.hasOwnProperty(eventName)) {\n ref.listeners[eventName].forEach(function (cb) {\n if (typeof cb === 'function') {\n cb.apply(ref);\n }\n });\n }\n}\n\n/**\r\n * @param {Noty} ref\r\n * @return {void}\r\n */\nfunction openFlow(ref) {\n fire(ref, 'afterShow');\n queueClose(ref);\n\n Utils.addListener(ref.barDom, 'mouseenter', function () {\n dequeueClose(ref);\n });\n\n Utils.addListener(ref.barDom, 'mouseleave', function () {\n queueClose(ref);\n });\n}\n\n/**\r\n * @param {Noty} ref\r\n * @return {void}\r\n */\nfunction closeFlow(ref) {\n delete Store[ref.id];\n ref.closing = false;\n fire(ref, 'afterClose');\n\n Utils.remove(ref.barDom);\n\n if (ref.layoutDom.querySelectorAll('.noty_bar').length === 0 && !ref.options.container) {\n Utils.remove(ref.layoutDom);\n }\n\n if (Utils.inArray('docVisible', ref.options.titleCount.conditions) || Utils.inArray('docHidden', ref.options.titleCount.conditions)) {\n docTitle.decrement();\n }\n\n queueRender(ref.options.queue);\n}\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NotyButton = undefined;\n\nvar _utils = __webpack_require__(0);\n\nvar Utils = _interopRequireWildcard(_utils);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar NotyButton = exports.NotyButton = function NotyButton(html, classes, cb) {\n var _this = this;\n\n var attributes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, NotyButton);\n\n this.dom = document.createElement('button');\n this.dom.innerHTML = html;\n this.id = attributes.id = attributes.id || Utils.generateID('button');\n this.cb = cb;\n Object.keys(attributes).forEach(function (propertyName) {\n _this.dom.setAttribute(propertyName, attributes[propertyName]);\n });\n Utils.addClass(this.dom, classes || 'noty_btn');\n\n return this;\n};\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Push = exports.Push = function () {\n function Push() {\n var workerPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '/service-worker.js';\n\n _classCallCheck(this, Push);\n\n this.subData = {};\n this.workerPath = workerPath;\n this.listeners = {\n onPermissionGranted: [],\n onPermissionDenied: [],\n onSubscriptionSuccess: [],\n onSubscriptionCancel: [],\n onWorkerError: [],\n onWorkerSuccess: [],\n onWorkerNotSupported: []\n };\n return this;\n }\n\n /**\r\n * @param {string} eventName\r\n * @param {function} cb\r\n * @return {Push}\r\n */\n\n\n _createClass(Push, [{\n key: 'on',\n value: function on(eventName) {\n var cb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};\n\n if (typeof cb === 'function' && this.listeners.hasOwnProperty(eventName)) {\n this.listeners[eventName].push(cb);\n }\n\n return this;\n }\n }, {\n key: 'fire',\n value: function fire(eventName) {\n var _this = this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n if (this.listeners.hasOwnProperty(eventName)) {\n this.listeners[eventName].forEach(function (cb) {\n if (typeof cb === 'function') {\n cb.apply(_this, params);\n }\n });\n }\n }\n }, {\n key: 'create',\n value: function create() {\n console.log('NOT IMPLEMENTED YET');\n }\n\n /**\r\n * @return {boolean}\r\n */\n\n }, {\n key: 'isSupported',\n value: function isSupported() {\n var result = false;\n\n try {\n result = window.Notification || window.webkitNotifications || navigator.mozNotification || window.external && window.external.msIsSiteMode() !== undefined;\n } catch (e) {}\n\n return result;\n }\n\n /**\r\n * @return {string}\r\n */\n\n }, {\n key: 'getPermissionStatus',\n value: function getPermissionStatus() {\n var perm = 'default';\n\n if (window.Notification && window.Notification.permissionLevel) {\n perm = window.Notification.permissionLevel;\n } else if (window.webkitNotifications && window.webkitNotifications.checkPermission) {\n switch (window.webkitNotifications.checkPermission()) {\n case 1:\n perm = 'default';\n break;\n case 0:\n perm = 'granted';\n break;\n default:\n perm = 'denied';\n }\n } else if (window.Notification && window.Notification.permission) {\n perm = window.Notification.permission;\n } else if (navigator.mozNotification) {\n perm = 'granted';\n } else if (window.external && window.external.msIsSiteMode() !== undefined) {\n perm = window.external.msIsSiteMode() ? 'granted' : 'default';\n }\n\n return perm.toString().toLowerCase();\n }\n\n /**\r\n * @return {string}\r\n */\n\n }, {\n key: 'getEndpoint',\n value: function getEndpoint(subscription) {\n var endpoint = subscription.endpoint;\n var subscriptionId = subscription.subscriptionId;\n\n // fix for Chrome < 45\n if (subscriptionId && endpoint.indexOf(subscriptionId) === -1) {\n endpoint += '/' + subscriptionId;\n }\n\n return endpoint;\n }\n\n /**\r\n * @return {boolean}\r\n */\n\n }, {\n key: 'isSWRegistered',\n value: function isSWRegistered() {\n try {\n return navigator.serviceWorker.controller.state === 'activated';\n } catch (e) {\n return false;\n }\n }\n\n /**\r\n * @return {void}\r\n */\n\n }, {\n key: 'unregisterWorker',\n value: function unregisterWorker() {\n var self = this;\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.getRegistrations().then(function (registrations) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = registrations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var registration = _step.value;\n\n registration.unregister();\n self.fire('onSubscriptionCancel');\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n });\n }\n }\n\n /**\r\n * @return {void}\r\n */\n\n }, {\n key: 'requestSubscription',\n value: function requestSubscription() {\n var _this2 = this;\n\n var userVisibleOnly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n var self = this;\n var current = this.getPermissionStatus();\n var cb = function cb(result) {\n if (result === 'granted') {\n _this2.fire('onPermissionGranted');\n\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.register(_this2.workerPath).then(function () {\n navigator.serviceWorker.ready.then(function (serviceWorkerRegistration) {\n self.fire('onWorkerSuccess');\n serviceWorkerRegistration.pushManager.subscribe({\n userVisibleOnly: userVisibleOnly\n }).then(function (subscription) {\n var key = subscription.getKey('p256dh');\n var token = subscription.getKey('auth');\n\n self.subData = {\n endpoint: self.getEndpoint(subscription),\n p256dh: key ? window.btoa(String.fromCharCode.apply(null, new Uint8Array(key))) : null,\n auth: token ? window.btoa(String.fromCharCode.apply(null, new Uint8Array(token))) : null\n };\n\n self.fire('onSubscriptionSuccess', [self.subData]);\n }).catch(function (err) {\n self.fire('onWorkerError', [err]);\n });\n });\n });\n } else {\n self.fire('onWorkerNotSupported');\n }\n } else if (result === 'denied') {\n _this2.fire('onPermissionDenied');\n _this2.unregisterWorker();\n }\n };\n\n if (current === 'default') {\n if (window.Notification && window.Notification.requestPermission) {\n window.Notification.requestPermission(cb);\n } else if (window.webkitNotifications && window.webkitNotifications.checkPermission) {\n window.webkitNotifications.requestPermission(cb);\n }\n } else {\n cb(current);\n }\n }\n }]);\n\n return Push;\n}();\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process, global) {var require;/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license Licensed under MIT license\n * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version 4.1.1\n */\n\n(function (global, factory) {\n\t true ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.ES6Promise = factory());\n}(this, (function () { 'use strict';\n\nfunction objectOrFunction(x) {\n var type = typeof x;\n return x !== null && (type === 'object' || type === 'function');\n}\n\nfunction isFunction(x) {\n return typeof x === 'function';\n}\n\nvar _isArray = undefined;\nif (Array.isArray) {\n _isArray = Array.isArray;\n} else {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n}\n\nvar isArray = _isArray;\n\nvar len = 0;\nvar vertxNext = undefined;\nvar customSchedulerFn = undefined;\n\nvar asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n};\n\nfunction setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n}\n\nfunction setAsap(asapFn) {\n asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && ({}).toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n}\n\n// vertx\nfunction useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function () {\n vertxNext(flush);\n };\n }\n\n return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n}\n\n// web worker\nfunction useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n}\n\nfunction useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n\n callback(arg);\n\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n}\n\nfunction attemptVertx() {\n try {\n var r = require;\n var vertx = __webpack_require__(9);\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n}\n\nvar scheduleFlush = undefined;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && \"function\" === 'function') {\n scheduleFlush = attemptVertx();\n} else {\n scheduleFlush = useSetTimeout();\n}\n\nfunction then(onFulfillment, onRejection) {\n var _arguments = arguments;\n\n var parent = this;\n\n var child = new this.constructor(noop);\n\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n\n var _state = parent._state;\n\n if (_state) {\n (function () {\n var callback = _arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n })();\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n}\n\n/**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.resolve(1);\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n*/\nfunction resolve$1(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n resolve(promise, object);\n return promise;\n}\n\nvar PROMISE_ID = Math.random().toString(36).substring(16);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nvar GET_THEN_ERROR = new ErrorObject();\n\nfunction selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction getThen(promise) {\n try {\n return promise.then;\n } catch (error) {\n GET_THEN_ERROR.error = error;\n return GET_THEN_ERROR;\n }\n}\n\nfunction tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {\n try {\n then$$1.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n}\n\nfunction handleForeignThenable(promise, thenable, then$$1) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then$$1, thenable, function (value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n\n reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n reject(promise, error);\n }\n }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function (value) {\n return resolve(promise, value);\n }, function (reason) {\n return reject(promise, reason);\n });\n }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then$$1) {\n if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then$$1 === GET_THEN_ERROR) {\n reject(promise, GET_THEN_ERROR.error);\n GET_THEN_ERROR.error = null;\n } else if (then$$1 === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then$$1)) {\n handleForeignThenable(promise, maybeThenable, then$$1);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n}\n\nfunction resolve(promise, value) {\n if (promise === value) {\n reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n handleMaybeThenable(promise, value, getThen(value));\n } else {\n fulfill(promise, value);\n }\n}\n\nfunction publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n}\n\nfunction fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n\n asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n\n parent._onerror = null;\n\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n}\n\nfunction publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) {\n return;\n }\n\n var child = undefined,\n callback = undefined,\n detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n}\n\nfunction ErrorObject() {\n this.error = null;\n}\n\nvar TRY_CATCH_ERROR = new ErrorObject();\n\nfunction tryCatch(callback, detail) {\n try {\n return callback(detail);\n } catch (e) {\n TRY_CATCH_ERROR.error = e;\n return TRY_CATCH_ERROR;\n }\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value = undefined,\n error = undefined,\n succeeded = undefined,\n failed = undefined;\n\n if (hasCallback) {\n value = tryCatch(callback, detail);\n\n if (value === TRY_CATCH_ERROR) {\n failed = true;\n error = value.error;\n value.error = null;\n } else {\n succeeded = true;\n }\n\n if (promise === value) {\n reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n succeeded = true;\n }\n\n if (promise._state !== PENDING) {\n // noop\n } else if (hasCallback && succeeded) {\n resolve(promise, value);\n } else if (failed) {\n reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n reject(promise, value);\n }\n}\n\nfunction initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n resolve(promise, value);\n }, function rejectPromise(reason) {\n reject(promise, reason);\n });\n } catch (e) {\n reject(promise, e);\n }\n}\n\nvar id = 0;\nfunction nextId() {\n return id++;\n}\n\nfunction makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n}\n\nfunction Enumerator$1(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n\n if (isArray(input)) {\n this.length = input.length;\n this._remaining = input.length;\n\n this._result = new Array(this.length);\n\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n this._enumerate(input);\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n reject(this.promise, validationError());\n }\n}\n\nfunction validationError() {\n return new Error('Array Methods must be provided an Array');\n}\n\nEnumerator$1.prototype._enumerate = function (input) {\n for (var i = 0; this._state === PENDING && i < input.length; i++) {\n this._eachEntry(input[i], i);\n }\n};\n\nEnumerator$1.prototype._eachEntry = function (entry, i) {\n var c = this._instanceConstructor;\n var resolve$$1 = c.resolve;\n\n if (resolve$$1 === resolve$1) {\n var _then = getThen(entry);\n\n if (_then === then && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c === Promise$2) {\n var promise = new c(noop);\n handleMaybeThenable(promise, entry, _then);\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c(function (resolve$$1) {\n return resolve$$1(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve$$1(entry), i);\n }\n};\n\nEnumerator$1.prototype._settledAt = function (state, i, value) {\n var promise = this.promise;\n\n if (promise._state === PENDING) {\n this._remaining--;\n\n if (state === REJECTED) {\n reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n};\n\nEnumerator$1.prototype._willSettleAt = function (promise, i) {\n var enumerator = this;\n\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n};\n\n/**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n\n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n\n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n*/\nfunction all$1(entries) {\n return new Enumerator$1(this, entries).promise;\n}\n\n/**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n\n Example:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n\n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n\n An example real-world use case is implementing timeouts:\n\n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n\n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n*/\nfunction race$1(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n}\n\n/**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n*/\nfunction reject$1(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n reject(promise, reason);\n return promise;\n}\n\nfunction needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n\n Terminology\n -----------\n\n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n\n A promise can be in one of three states: pending, fulfilled, or rejected.\n\n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n\n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n\n\n Basic Usage:\n ------------\n\n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n\n // on failure\n reject(reason);\n });\n\n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Advanced Usage:\n ---------------\n\n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n\n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n\n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n\n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n\n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Unlike callbacks, promises are great composable primitives.\n\n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {function} resolver\n Useful for tooling.\n @constructor\n*/\nfunction Promise$2(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise$2 ? initializePromise(this, resolver) : needsNew();\n }\n}\n\nPromise$2.all = all$1;\nPromise$2.race = race$1;\nPromise$2.resolve = resolve$1;\nPromise$2.reject = reject$1;\nPromise$2._setScheduler = setScheduler;\nPromise$2._setAsap = setAsap;\nPromise$2._asap = asap;\n\nPromise$2.prototype = {\n constructor: Promise$2,\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n \n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n \n Chaining\n --------\n \n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n \n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n \n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n \n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n \n Assimilation\n ------------\n \n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n \n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n \n If the assimliated promise rejects, then the downstream promise will also reject.\n \n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n \n Simple Example\n --------------\n \n Synchronous Example\n \n ```javascript\n let result;\n \n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n \n Errback Example\n \n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n \n Promise Example;\n \n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n \n Advanced Example\n --------------\n \n Synchronous Example\n \n ```javascript\n let author, books;\n \n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n \n Errback Example\n \n ```js\n \n function foundBooks(books) {\n \n }\n \n function failure(reason) {\n \n }\n \n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n \n Promise Example;\n \n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n \n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n then: then,\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n \n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n \n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n \n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n \n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n 'catch': function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\n/*global self*/\nfunction polyfill$1() {\n var local = undefined;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise$2;\n}\n\n// Strange compat..\nPromise$2.polyfill = polyfill$1;\nPromise$2.Promise = Promise$2;\n\nreturn Promise$2;\n\n})));\n\n//# sourceMappingURL=es6-promise.map\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(7), __webpack_require__(8)))\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /* global VERSION */\n\n__webpack_require__(5);\n\nvar _es6Promise = __webpack_require__(4);\n\nvar _es6Promise2 = _interopRequireDefault(_es6Promise);\n\nvar _utils = __webpack_require__(0);\n\nvar Utils = _interopRequireWildcard(_utils);\n\nvar _api = __webpack_require__(1);\n\nvar API = _interopRequireWildcard(_api);\n\nvar _button = __webpack_require__(2);\n\nvar _push = __webpack_require__(3);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Noty = function () {\n /**\n * @param {object} options\n * @return {Noty}\n */\n function Noty() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Noty);\n\n this.options = Utils.deepExtend({}, API.Defaults, options);\n\n if (API.Store[this.options.id]) {\n return API.Store[this.options.id];\n }\n\n this.id = this.options.id || Utils.generateID('bar');\n this.closeTimer = -1;\n this.barDom = null;\n this.layoutDom = null;\n this.progressDom = null;\n this.showing = false;\n this.shown = false;\n this.closed = false;\n this.closing = false;\n this.killable = this.options.timeout || this.options.closeWith.length > 0;\n this.hasSound = this.options.sounds.sources.length > 0;\n this.soundPlayed = false;\n this.listeners = {\n beforeShow: [],\n onShow: [],\n afterShow: [],\n onClose: [],\n afterClose: [],\n onClick: [],\n onHover: [],\n onTemplate: []\n };\n this.promises = {\n show: null,\n close: null\n };\n this.on('beforeShow', this.options.callbacks.beforeShow);\n this.on('onShow', this.options.callbacks.onShow);\n this.on('afterShow', this.options.callbacks.afterShow);\n this.on('onClose', this.options.callbacks.onClose);\n this.on('afterClose', this.options.callbacks.afterClose);\n this.on('onClick', this.options.callbacks.onClick);\n this.on('onHover', this.options.callbacks.onHover);\n this.on('onTemplate', this.options.callbacks.onTemplate);\n\n return this;\n }\n\n /**\n * @param {string} eventName\n * @param {function} cb\n * @return {Noty}\n */\n\n\n _createClass(Noty, [{\n key: 'on',\n value: function on(eventName) {\n var cb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};\n\n if (typeof cb === 'function' && this.listeners.hasOwnProperty(eventName)) {\n this.listeners[eventName].push(cb);\n }\n\n return this;\n }\n\n /**\n * @return {Noty}\n */\n\n }, {\n key: 'show',\n value: function show() {\n var _this = this;\n\n if (this.showing || this.shown) {\n return this; // preventing multiple show\n }\n\n if (this.options.killer === true) {\n Noty.closeAll();\n } else if (typeof this.options.killer === 'string') {\n Noty.closeAll(this.options.killer);\n }\n\n var queueCounts = API.getQueueCounts(this.options.queue);\n\n if (queueCounts.current >= queueCounts.maxVisible || API.PageHidden && this.options.visibilityControl) {\n API.addToQueue(this);\n\n if (API.PageHidden && this.hasSound && Utils.inArray('docHidden', this.options.sounds.conditions)) {\n Utils.createAudioElements(this);\n }\n\n if (API.PageHidden && Utils.inArray('docHidden', this.options.titleCount.conditions)) {\n API.docTitle.increment();\n }\n\n return this;\n }\n\n API.Store[this.id] = this;\n\n API.fire(this, 'beforeShow');\n\n this.showing = true;\n\n if (this.closing) {\n this.showing = false;\n return this;\n }\n\n API.build(this);\n API.handleModal(this);\n\n if (this.options.force) {\n this.layoutDom.insertBefore(this.barDom, this.layoutDom.firstChild);\n } else {\n this.layoutDom.appendChild(this.barDom);\n }\n\n if (this.hasSound && !this.soundPlayed && Utils.inArray('docVisible', this.options.sounds.conditions)) {\n Utils.createAudioElements(this);\n }\n\n if (Utils.inArray('docVisible', this.options.titleCount.conditions)) {\n API.docTitle.increment();\n }\n\n this.shown = true;\n this.closed = false;\n\n // bind button events if any\n if (API.hasButtons(this)) {\n Object.keys(this.options.buttons).forEach(function (key) {\n var btn = _this.barDom.querySelector('#' + _this.options.buttons[key].id);\n Utils.addListener(btn, 'click', function (e) {\n Utils.stopPropagation(e);\n _this.options.buttons[key].cb(_this);\n });\n });\n }\n\n this.progressDom = this.barDom.querySelector('.noty_progressbar');\n\n if (Utils.inArray('click', this.options.closeWith)) {\n Utils.addClass(this.barDom, 'noty_close_with_click');\n Utils.addListener(this.barDom, 'click', function (e) {\n Utils.stopPropagation(e);\n API.fire(_this, 'onClick');\n _this.close();\n }, false);\n }\n\n Utils.addListener(this.barDom, 'mouseenter', function () {\n API.fire(_this, 'onHover');\n }, false);\n\n if (this.options.timeout) Utils.addClass(this.barDom, 'noty_has_timeout');\n if (this.options.progressBar) {\n Utils.addClass(this.barDom, 'noty_has_progressbar');\n }\n\n if (Utils.inArray('button', this.options.closeWith)) {\n Utils.addClass(this.barDom, 'noty_close_with_button');\n\n var closeButton = document.createElement('div');\n Utils.addClass(closeButton, 'noty_close_button');\n closeButton.innerHTML = '×';\n this.barDom.appendChild(closeButton);\n\n Utils.addListener(closeButton, 'click', function (e) {\n Utils.stopPropagation(e);\n _this.close();\n }, false);\n }\n\n API.fire(this, 'onShow');\n\n if (this.options.animation.open === null) {\n this.promises.show = new _es6Promise2.default(function (resolve) {\n resolve();\n });\n } else if (typeof this.options.animation.open === 'function') {\n this.promises.show = new _es6Promise2.default(this.options.animation.open.bind(this));\n } else {\n Utils.addClass(this.barDom, this.options.animation.open);\n this.promises.show = new _es6Promise2.default(function (resolve) {\n Utils.addListener(_this.barDom, Utils.animationEndEvents, function () {\n Utils.removeClass(_this.barDom, _this.options.animation.open);\n resolve();\n });\n });\n }\n\n this.promises.show.then(function () {\n var _t = _this;\n setTimeout(function () {\n API.openFlow(_t);\n }, 100);\n });\n\n return this;\n }\n\n /**\n * @return {Noty}\n */\n\n }, {\n key: 'stop',\n value: function stop() {\n API.dequeueClose(this);\n return this;\n }\n\n /**\n * @return {Noty}\n */\n\n }, {\n key: 'resume',\n value: function resume() {\n API.queueClose(this);\n return this;\n }\n\n /**\n * @param {int|boolean} ms\n * @return {Noty}\n */\n\n }, {\n key: 'setTimeout',\n value: function (_setTimeout) {\n function setTimeout(_x) {\n return _setTimeout.apply(this, arguments);\n }\n\n setTimeout.toString = function () {\n return _setTimeout.toString();\n };\n\n return setTimeout;\n }(function (ms) {\n this.stop();\n this.options.timeout = ms;\n\n if (this.barDom) {\n if (this.options.timeout) {\n Utils.addClass(this.barDom, 'noty_has_timeout');\n } else {\n Utils.removeClass(this.barDom, 'noty_has_timeout');\n }\n\n var _t = this;\n setTimeout(function () {\n // ugly fix for progressbar display bug\n _t.resume();\n }, 100);\n }\n\n return this;\n })\n\n /**\n * @param {string} html\n * @param {boolean} optionsOverride\n * @return {Noty}\n */\n\n }, {\n key: 'setText',\n value: function setText(html) {\n var optionsOverride = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this.barDom) {\n this.barDom.querySelector('.noty_body').innerHTML = html;\n }\n\n if (optionsOverride) this.options.text = html;\n\n return this;\n }\n\n /**\n * @param {string} type\n * @param {boolean} optionsOverride\n * @return {Noty}\n */\n\n }, {\n key: 'setType',\n value: function setType(type) {\n var _this2 = this;\n\n var optionsOverride = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this.barDom) {\n var classList = Utils.classList(this.barDom).split(' ');\n\n classList.forEach(function (c) {\n if (c.substring(0, 11) === 'noty_type__') {\n Utils.removeClass(_this2.barDom, c);\n }\n });\n\n Utils.addClass(this.barDom, 'noty_type__' + type);\n }\n\n if (optionsOverride) this.options.type = type;\n\n return this;\n }\n\n /**\n * @param {string} theme\n * @param {boolean} optionsOverride\n * @return {Noty}\n */\n\n }, {\n key: 'setTheme',\n value: function setTheme(theme) {\n var _this3 = this;\n\n var optionsOverride = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this.barDom) {\n var classList = Utils.classList(this.barDom).split(' ');\n\n classList.forEach(function (c) {\n if (c.substring(0, 12) === 'noty_theme__') {\n Utils.removeClass(_this3.barDom, c);\n }\n });\n\n Utils.addClass(this.barDom, 'noty_theme__' + theme);\n }\n\n if (optionsOverride) this.options.theme = theme;\n\n return this;\n }\n\n /**\n * @return {Noty}\n */\n\n }, {\n key: 'close',\n value: function close() {\n var _this4 = this;\n\n if (this.closed) return this;\n\n if (!this.shown) {\n // it's in the queue\n API.removeFromQueue(this);\n return this;\n }\n\n API.fire(this, 'onClose');\n\n this.closing = true;\n\n if (this.options.animation.close === null || this.options.animation.close === false) {\n this.promises.close = new _es6Promise2.default(function (resolve) {\n resolve();\n });\n } else if (typeof this.options.animation.close === 'function') {\n this.promises.close = new _es6Promise2.default(this.options.animation.close.bind(this));\n } else {\n Utils.addClass(this.barDom, this.options.animation.close);\n this.promises.close = new _es6Promise2.default(function (resolve) {\n Utils.addListener(_this4.barDom, Utils.animationEndEvents, function () {\n if (_this4.options.force) {\n Utils.remove(_this4.barDom);\n } else {\n API.ghostFix(_this4);\n }\n resolve();\n });\n });\n }\n\n this.promises.close.then(function () {\n API.closeFlow(_this4);\n API.handleModalClose(_this4);\n });\n\n this.closed = true;\n\n return this;\n }\n\n // API functions\n\n /**\n * @param {boolean|string} queueName\n * @return {Noty}\n */\n\n }], [{\n key: 'closeAll',\n value: function closeAll() {\n var queueName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n Object.keys(API.Store).forEach(function (id) {\n if (queueName) {\n if (API.Store[id].options.queue === queueName && API.Store[id].killable) {\n API.Store[id].close();\n }\n } else if (API.Store[id].killable) {\n API.Store[id].close();\n }\n });\n return this;\n }\n\n /**\n * @param {string} queueName\n * @return {Noty}\n */\n\n }, {\n key: 'clearQueue',\n value: function clearQueue() {\n var queueName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'global';\n\n if (API.Queues.hasOwnProperty(queueName)) {\n API.Queues[queueName].queue = [];\n }\n return this;\n }\n\n /**\n * @return {API.Queues}\n */\n\n }, {\n key: 'overrideDefaults',\n\n\n /**\n * @param {Object} obj\n * @return {Noty}\n */\n value: function overrideDefaults(obj) {\n API.Defaults = Utils.deepExtend({}, API.Defaults, obj);\n return this;\n }\n\n /**\n * @param {int} amount\n * @param {string} queueName\n * @return {Noty}\n */\n\n }, {\n key: 'setMaxVisible',\n value: function setMaxVisible() {\n var amount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : API.DefaultMaxVisible;\n var queueName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'global';\n\n if (!API.Queues.hasOwnProperty(queueName)) {\n API.Queues[queueName] = { maxVisible: amount, queue: [] };\n }\n\n API.Queues[queueName].maxVisible = amount;\n return this;\n }\n\n /**\n * @param {string} innerHtml\n * @param {String} classes\n * @param {Function} cb\n * @param {Object} attributes\n * @return {NotyButton}\n */\n\n }, {\n key: 'button',\n value: function button(innerHtml) {\n var classes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var cb = arguments[2];\n var attributes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n return new _button.NotyButton(innerHtml, classes, cb, attributes);\n }\n\n /**\n * @return {string}\n */\n\n }, {\n key: 'version',\n value: function version() {\n return \"3.2.0-beta\";\n }\n\n /**\n * @param {String} workerPath\n * @return {Push}\n */\n\n }, {\n key: 'Push',\n value: function Push(workerPath) {\n return new _push.Push(workerPath);\n }\n }, {\n key: 'Queues',\n get: function get() {\n return API.Queues;\n }\n\n /**\n * @return {API.PageHidden}\n */\n\n }, {\n key: 'PageHidden',\n get: function get() {\n return API.PageHidden;\n }\n }]);\n\n return Noty;\n}();\n\n// Document visibility change controller\n\n\nexports.default = Noty;\nif (typeof window !== 'undefined') {\n Utils.visibilityChangeFlow();\n}\nmodule.exports = exports['default'];\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n/* (ignored) */\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// noty.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 6);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap d3b233870119224fe21e","import * as API from 'api'\r\n\r\nexport const animationEndEvents = 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend'\r\n\r\nexport function inArray (needle, haystack, argStrict) {\r\n let key\r\n let strict = !!argStrict\r\n\r\n if (strict) {\r\n for (key in haystack) {\r\n if (haystack.hasOwnProperty(key) && haystack[key] === needle) {\r\n return true\r\n }\r\n }\r\n } else {\r\n for (key in haystack) {\r\n if (haystack.hasOwnProperty(key) && haystack[key] === needle) {\r\n return true\r\n }\r\n }\r\n }\r\n return false\r\n}\r\n\r\nexport function stopPropagation (evt) {\r\n evt = evt || window.event\r\n\r\n if (typeof evt.stopPropagation !== 'undefined') {\r\n evt.stopPropagation()\r\n } else {\r\n evt.cancelBubble = true\r\n }\r\n}\r\n\r\nexport const deepExtend = function (out) {\r\n out = out || {}\r\n\r\n for (let i = 1; i < arguments.length; i++) {\r\n let obj = arguments[i]\r\n\r\n if (!obj) continue\r\n\r\n for (let key in obj) {\r\n if (obj.hasOwnProperty(key)) {\r\n if (Array.isArray(obj[key])) {\r\n out[key] = obj[key]\r\n } else if (typeof obj[key] === 'object' && obj[key] !== null) {\r\n out[key] = deepExtend(out[key], obj[key])\r\n } else {\r\n out[key] = obj[key]\r\n }\r\n }\r\n }\r\n }\r\n\r\n return out\r\n}\r\n\r\nexport function generateID (prefix = '') {\r\n let id = `noty_${prefix}_`\r\n\r\n id += 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n let r = Math.random() * 16 | 0\r\n let v = c === 'x' ? r : r & 0x3 | 0x8\r\n return v.toString(16)\r\n })\r\n\r\n return id\r\n}\r\n\r\nexport function outerHeight (el) {\r\n let height = el.offsetHeight\r\n let style = window.getComputedStyle(el)\r\n\r\n height += parseInt(style.marginTop) + parseInt(style.marginBottom)\r\n return height\r\n}\r\n\r\nexport let css = (function () {\r\n let cssPrefixes = ['Webkit', 'O', 'Moz', 'ms']\r\n let cssProps = {}\r\n\r\n function camelCase (string) {\r\n return string\r\n .replace(/^-ms-/, 'ms-')\r\n .replace(/-([\\da-z])/gi, function (match, letter) {\r\n return letter.toUpperCase()\r\n })\r\n }\r\n\r\n function getVendorProp (name) {\r\n let style = document.body.style\r\n if (name in style) return name\r\n\r\n let i = cssPrefixes.length\r\n let capName = name.charAt(0).toUpperCase() + name.slice(1)\r\n let vendorName\r\n\r\n while (i--) {\r\n vendorName = cssPrefixes[i] + capName\r\n if (vendorName in style) return vendorName\r\n }\r\n\r\n return name\r\n }\r\n\r\n function getStyleProp (name) {\r\n name = camelCase(name)\r\n return cssProps[name] || (cssProps[name] = getVendorProp(name))\r\n }\r\n\r\n function applyCss (element, prop, value) {\r\n prop = getStyleProp(prop)\r\n element.style[prop] = value\r\n }\r\n\r\n return function (element, properties) {\r\n let args = arguments\r\n let prop\r\n let value\r\n\r\n if (args.length === 2) {\r\n for (prop in properties) {\r\n if (properties.hasOwnProperty(prop)) {\r\n value = properties[prop]\r\n if (value !== undefined && properties.hasOwnProperty(prop)) {\r\n applyCss(element, prop, value)\r\n }\r\n }\r\n }\r\n } else {\r\n applyCss(element, args[1], args[2])\r\n }\r\n }\r\n})()\r\n\r\nexport function addListener (el, events, cb, useCapture = false) {\r\n events = events.split(' ')\r\n for (let i = 0; i < events.length; i++) {\r\n if (document.addEventListener) {\r\n el.addEventListener(events[i], cb, useCapture)\r\n } else if (document.attachEvent) {\r\n el.attachEvent('on' + events[i], cb)\r\n }\r\n }\r\n}\r\n\r\nexport function hasClass (element, name) {\r\n let list = typeof element === 'string' ? element : classList(element)\r\n return list.indexOf(' ' + name + ' ') >= 0\r\n}\r\n\r\nexport function addClass (element, name) {\r\n let oldList = classList(element)\r\n let newList = oldList + name\r\n\r\n if (hasClass(oldList, name)) return\r\n\r\n // Trim the opening space.\r\n element.className = newList.substring(1)\r\n}\r\n\r\nexport function removeClass (element, name) {\r\n let oldList = classList(element)\r\n let newList\r\n\r\n if (!hasClass(element, name)) return\r\n\r\n // Replace the class name.\r\n newList = oldList.replace(' ' + name + ' ', ' ')\r\n\r\n // Trim the opening and closing spaces.\r\n element.className = newList.substring(1, newList.length - 1)\r\n}\r\n\r\nexport function remove (element) {\r\n if (element.parentNode) {\r\n element.parentNode.removeChild(element)\r\n }\r\n}\r\n\r\nexport function classList (element) {\r\n return (' ' + ((element && element.className) || '') + ' ').replace(\r\n /\\s+/gi,\r\n ' '\r\n )\r\n}\r\n\r\nexport function visibilityChangeFlow () {\r\n let hidden\r\n let visibilityChange\r\n if (typeof document.hidden !== 'undefined') {\r\n // Opera 12.10 and Firefox 18 and later support\r\n hidden = 'hidden'\r\n visibilityChange = 'visibilitychange'\r\n } else if (typeof document.msHidden !== 'undefined') {\r\n hidden = 'msHidden'\r\n visibilityChange = 'msvisibilitychange'\r\n } else if (typeof document.webkitHidden !== 'undefined') {\r\n hidden = 'webkitHidden'\r\n visibilityChange = 'webkitvisibilitychange'\r\n }\r\n\r\n function onVisibilityChange () {\r\n API.PageHidden = document[hidden]\r\n handleVisibilityChange()\r\n }\r\n\r\n function onBlur () {\r\n API.PageHidden = true\r\n handleVisibilityChange()\r\n }\r\n\r\n function onFocus () {\r\n API.PageHidden = false\r\n handleVisibilityChange()\r\n }\r\n\r\n function handleVisibilityChange () {\r\n if (API.PageHidden) stopAll()\r\n else resumeAll()\r\n }\r\n\r\n function stopAll () {\r\n setTimeout(\r\n function () {\r\n Object.keys(API.Store).forEach(id => {\r\n if (API.Store.hasOwnProperty(id)) {\r\n if (API.Store[id].options.visibilityControl) {\r\n API.Store[id].stop()\r\n }\r\n }\r\n })\r\n },\r\n 100\r\n )\r\n }\r\n\r\n function resumeAll () {\r\n setTimeout(\r\n function () {\r\n Object.keys(API.Store).forEach(id => {\r\n if (API.Store.hasOwnProperty(id)) {\r\n if (API.Store[id].options.visibilityControl) {\r\n API.Store[id].resume()\r\n }\r\n }\r\n })\r\n API.queueRenderAll()\r\n },\r\n 100\r\n )\r\n }\r\n\r\n if (visibilityChange) {\r\n addListener(document, visibilityChange, onVisibilityChange)\r\n }\r\n\r\n addListener(window, 'blur', onBlur)\r\n addListener(window, 'focus', onFocus)\r\n}\r\n\r\nexport function createAudioElements (ref) {\r\n if (ref.hasSound) {\r\n const audioElement = document.createElement('audio')\r\n\r\n ref.options.sounds.sources.forEach(s => {\r\n const source = document.createElement('source')\r\n source.src = s\r\n source.type = `audio/${getExtension(s)}`\r\n audioElement.appendChild(source)\r\n })\r\n\r\n if (ref.barDom) {\r\n ref.barDom.appendChild(audioElement)\r\n } else {\r\n document.querySelector('body').appendChild(audioElement)\r\n }\r\n\r\n audioElement.volume = ref.options.sounds.volume\r\n\r\n if (!ref.soundPlayed) {\r\n audioElement.play()\r\n ref.soundPlayed = true\r\n }\r\n\r\n audioElement.onended = function () {\r\n remove(audioElement)\r\n }\r\n }\r\n}\r\n\r\nfunction getExtension (fileName) {\r\n return fileName.match(/\\.([^.]+)$/)[1]\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils.js","import * as Utils from 'utils'\r\n\r\nexport let PageHidden = false\r\nexport let DocModalCount = 0\r\n\r\nconst DocTitleProps = {\r\n originalTitle: null,\r\n count: 0,\r\n changed: false,\r\n timer: -1\r\n}\r\n\r\nexport const docTitle = {\r\n increment: () => {\r\n DocTitleProps.count++\r\n\r\n docTitle._update()\r\n },\r\n\r\n decrement: () => {\r\n DocTitleProps.count--\r\n\r\n if (DocTitleProps.count <= 0) {\r\n docTitle._clear()\r\n return\r\n }\r\n\r\n docTitle._update()\r\n },\r\n\r\n _update: () => {\r\n let title = document.title\r\n\r\n if (!DocTitleProps.changed) {\r\n DocTitleProps.originalTitle = title\r\n document.title = `(${DocTitleProps.count}) ${title}`\r\n DocTitleProps.changed = true\r\n } else {\r\n document.title = `(${DocTitleProps.count}) ${DocTitleProps.originalTitle}`\r\n }\r\n },\r\n\r\n _clear: () => {\r\n if (DocTitleProps.changed) {\r\n DocTitleProps.count = 0\r\n document.title = DocTitleProps.originalTitle\r\n DocTitleProps.changed = false\r\n }\r\n }\r\n}\r\n\r\nexport const DefaultMaxVisible = 5\r\n\r\nexport const Queues = {\r\n global: {\r\n maxVisible: DefaultMaxVisible,\r\n queue: []\r\n }\r\n}\r\n\r\nexport const Store = {}\r\n\r\nexport let Defaults = {\r\n type: 'alert',\r\n layout: 'topRight',\r\n theme: 'mint',\r\n text: '',\r\n timeout: false,\r\n progressBar: true,\r\n closeWith: ['click'],\r\n animation: {\r\n open: 'noty_effects_open',\r\n close: 'noty_effects_close'\r\n },\r\n id: false,\r\n force: false,\r\n killer: false,\r\n queue: 'global',\r\n container: false,\r\n buttons: [],\r\n callbacks: {\r\n beforeShow: null,\r\n onShow: null,\r\n afterShow: null,\r\n onClose: null,\r\n afterClose: null,\r\n onClick: null,\r\n onHover: null,\r\n onTemplate: null\r\n },\r\n sounds: {\r\n sources: [],\r\n volume: 1,\r\n conditions: []\r\n },\r\n titleCount: {\r\n conditions: []\r\n },\r\n modal: false,\r\n visibilityControl: false\r\n}\r\n\r\n/**\r\n * @param {string} queueName\r\n * @return {object}\r\n */\r\nexport function getQueueCounts (queueName = 'global') {\r\n let count = 0\r\n let max = DefaultMaxVisible\r\n\r\n if (Queues.hasOwnProperty(queueName)) {\r\n max = Queues[queueName].maxVisible\r\n Object.keys(Store).forEach(i => {\r\n if (Store[i].options.queue === queueName && !Store[i].closed) count++\r\n })\r\n }\r\n\r\n return {\r\n current: count,\r\n maxVisible: max\r\n }\r\n}\r\n\r\n/**\r\n * @param {Noty} ref\r\n * @return {void}\r\n */\r\nexport function addToQueue (ref) {\r\n if (!Queues.hasOwnProperty(ref.options.queue)) {\r\n Queues[ref.options.queue] = {maxVisible: DefaultMaxVisible, queue: []}\r\n }\r\n\r\n Queues[ref.options.queue].queue.push(ref)\r\n}\r\n\r\n/**\r\n * @param {Noty} ref\r\n * @return {void}\r\n */\r\nexport function removeFromQueue (ref) {\r\n if (Queues.hasOwnProperty(ref.options.queue)) {\r\n const queue = []\r\n Object.keys(Queues[ref.options.queue].queue).forEach(i => {\r\n if (Queues[ref.options.queue].queue[i].id !== ref.id) {\r\n queue.push(Queues[ref.options.queue].queue[i])\r\n }\r\n })\r\n Queues[ref.options.queue].queue = queue\r\n }\r\n}\r\n\r\n/**\r\n * @param {string} queueName\r\n * @return {void}\r\n */\r\nexport function queueRender (queueName = 'global') {\r\n if (Queues.hasOwnProperty(queueName)) {\r\n const noty = Queues[queueName].queue.shift()\r\n\r\n if (noty) noty.show()\r\n }\r\n}\r\n\r\n/**\r\n * @return {void}\r\n */\r\nexport function queueRenderAll () {\r\n Object.keys(Queues).forEach(queueName => {\r\n queueRender(queueName)\r\n })\r\n}\r\n\r\n/**\r\n * @param {Noty} ref\r\n * @return {void}\r\n */\r\nexport function ghostFix (ref) {\r\n const ghostID = Utils.generateID('ghost')\r\n let ghost = document.createElement('div')\r\n ghost.setAttribute('id', ghostID)\r\n Utils.css(ghost, {\r\n height: Utils.outerHeight(ref.barDom) + 'px'\r\n })\r\n\r\n ref.barDom.insertAdjacentHTML('afterend', ghost.outerHTML)\r\n\r\n Utils.remove(ref.barDom)\r\n ghost = document.getElementById(ghostID)\r\n Utils.addClass(ghost, 'noty_fix_effects_height')\r\n Utils.addListener(ghost, Utils.animationEndEvents, () => {\r\n Utils.remove(ghost)\r\n })\r\n}\r\n\r\n/**\r\n * @param {Noty} ref\r\n * @return {void}\r\n */\r\nexport function build (ref) {\r\n findOrCreateContainer(ref)\r\n\r\n const markup = `
${ref.options.text}
${buildButtons(ref)}
`\r\n\r\n ref.barDom = document.createElement('div')\r\n ref.barDom.setAttribute('id', ref.id)\r\n Utils.addClass(\r\n ref.barDom,\r\n `noty_bar noty_type__${ref.options.type} noty_theme__${ref.options.theme}`\r\n )\r\n\r\n ref.barDom.innerHTML = markup\r\n\r\n fire(ref, 'onTemplate')\r\n}\r\n\r\n/**\r\n * @param {Noty} ref\r\n * @return {boolean}\r\n */\r\nexport function hasButtons (ref) {\r\n return !!(ref.options.buttons && Object.keys(ref.options.buttons).length)\r\n}\r\n\r\n/**\r\n * @param {Noty} ref\r\n * @return {string}\r\n */\r\nfunction buildButtons (ref) {\r\n if (hasButtons(ref)) {\r\n let buttons = document.createElement('div')\r\n Utils.addClass(buttons, 'noty_buttons')\r\n\r\n Object.keys(ref.options.buttons).forEach(key => {\r\n buttons.appendChild(ref.options.buttons[key].dom)\r\n })\r\n\r\n ref.options.buttons.forEach(btn => {\r\n buttons.appendChild(btn.dom)\r\n })\r\n return buttons.outerHTML\r\n }\r\n return ''\r\n}\r\n\r\n/**\r\n * @param {Noty} ref\r\n * @return {void}\r\n */\r\nexport function handleModal (ref) {\r\n if (ref.options.modal) {\r\n if (DocModalCount === 0) {\r\n createModal(ref)\r\n }\r\n\r\n DocModalCount++\r\n }\r\n}\r\n\r\n/**\r\n * @param {Noty} ref\r\n * @return {void}\r\n */\r\nexport function handleModalClose (ref) {\r\n if (ref.options.modal && DocModalCount > 0) {\r\n DocModalCount--\r\n\r\n if (DocModalCount <= 0) {\r\n const modal = document.querySelector('.noty_modal')\r\n\r\n if (modal) {\r\n Utils.removeClass(modal, 'noty_modal_open')\r\n Utils.addClass(modal, 'noty_modal_close')\r\n Utils.addListener(modal, Utils.animationEndEvents, () => {\r\n Utils.remove(modal)\r\n })\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * @return {void}\r\n */\r\nfunction createModal () {\r\n const body = document.querySelector('body')\r\n const modal = document.createElement('div')\r\n Utils.addClass(modal, 'noty_modal')\r\n body.insertBefore(modal, body.firstChild)\r\n Utils.addClass(modal, 'noty_modal_open')\r\n\r\n Utils.addListener(modal, Utils.animationEndEvents, () => {\r\n Utils.removeClass(modal, 'noty_modal_open')\r\n })\r\n}\r\n\r\n/**\r\n * @param {Noty} ref\r\n * @return {void}\r\n */\r\nfunction findOrCreateContainer (ref) {\r\n if (ref.options.container) {\r\n ref.layoutDom = document.querySelector(ref.options.container)\r\n return\r\n }\r\n\r\n const layoutID = `noty_layout__${ref.options.layout}`\r\n ref.layoutDom = document.querySelector(`div#${layoutID}`)\r\n\r\n if (!ref.layoutDom) {\r\n ref.layoutDom = document.createElement('div')\r\n ref.layoutDom.setAttribute('id', layoutID)\r\n ref.layoutDom.setAttribute('role', 'alert')\r\n ref.layoutDom.setAttribute('aria-live', 'polite')\r\n Utils.addClass(ref.layoutDom, 'noty_layout')\r\n document.querySelector('body').appendChild(ref.layoutDom)\r\n }\r\n}\r\n\r\n/**\r\n * @param {Noty} ref\r\n * @return {void}\r\n */\r\nexport function queueClose (ref) {\r\n if (ref.options.timeout) {\r\n if (ref.options.progressBar && ref.progressDom) {\r\n Utils.css(ref.progressDom, {\r\n transition: `width ${ref.options.timeout}ms linear`,\r\n width: '0%'\r\n })\r\n }\r\n\r\n clearTimeout(ref.closeTimer)\r\n\r\n ref.closeTimer = setTimeout(\r\n () => {\r\n ref.close()\r\n },\r\n ref.options.timeout\r\n )\r\n }\r\n}\r\n\r\n/**\r\n * @param {Noty} ref\r\n * @return {void}\r\n */\r\nexport function dequeueClose (ref) {\r\n if (ref.options.timeout && ref.closeTimer) {\r\n clearTimeout(ref.closeTimer)\r\n ref.closeTimer = -1\r\n\r\n if (ref.options.progressBar && ref.progressDom) {\r\n Utils.css(ref.progressDom, {\r\n transition: 'width 0ms linear',\r\n width: '100%'\r\n })\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * @param {Noty} ref\r\n * @param {string} eventName\r\n * @return {void}\r\n */\r\nexport function fire (ref, eventName) {\r\n if (ref.listeners.hasOwnProperty(eventName)) {\r\n ref.listeners[eventName].forEach(cb => {\r\n if (typeof cb === 'function') {\r\n cb.apply(ref)\r\n }\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * @param {Noty} ref\r\n * @return {void}\r\n */\r\nexport function openFlow (ref) {\r\n fire(ref, 'afterShow')\r\n queueClose(ref)\r\n\r\n Utils.addListener(ref.barDom, 'mouseenter', () => {\r\n dequeueClose(ref)\r\n })\r\n\r\n Utils.addListener(ref.barDom, 'mouseleave', () => {\r\n queueClose(ref)\r\n })\r\n}\r\n\r\n/**\r\n * @param {Noty} ref\r\n * @return {void}\r\n */\r\nexport function closeFlow (ref) {\r\n delete Store[ref.id]\r\n ref.closing = false\r\n fire(ref, 'afterClose')\r\n\r\n Utils.remove(ref.barDom)\r\n\r\n if (\r\n ref.layoutDom.querySelectorAll('.noty_bar').length === 0 &&\r\n !ref.options.container\r\n ) {\r\n Utils.remove(ref.layoutDom)\r\n }\r\n\r\n if (\r\n Utils.inArray('docVisible', ref.options.titleCount.conditions) ||\r\n Utils.inArray('docHidden', ref.options.titleCount.conditions)\r\n ) {\r\n docTitle.decrement()\r\n }\r\n\r\n queueRender(ref.options.queue)\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/api.js","import * as Utils from 'utils'\r\n\r\nexport class NotyButton {\r\n constructor (html, classes, cb, attributes = {}) {\r\n this.dom = document.createElement('button')\r\n this.dom.innerHTML = html\r\n this.id = (attributes.id = attributes.id || Utils.generateID('button'))\r\n this.cb = cb\r\n Object.keys(attributes).forEach(propertyName => {\r\n this.dom.setAttribute(propertyName, attributes[propertyName])\r\n })\r\n Utils.addClass(this.dom, classes || 'noty_btn')\r\n\r\n return this\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/button.js","export class Push {\r\n constructor (workerPath = '/service-worker.js') {\r\n this.subData = {}\r\n this.workerPath = workerPath\r\n this.listeners = {\r\n onPermissionGranted: [],\r\n onPermissionDenied: [],\r\n onSubscriptionSuccess: [],\r\n onSubscriptionCancel: [],\r\n onWorkerError: [],\r\n onWorkerSuccess: [],\r\n onWorkerNotSupported: []\r\n }\r\n return this\r\n }\r\n\r\n /**\r\n * @param {string} eventName\r\n * @param {function} cb\r\n * @return {Push}\r\n */\r\n on (eventName, cb = () => {}) {\r\n if (typeof cb === 'function' && this.listeners.hasOwnProperty(eventName)) {\r\n this.listeners[eventName].push(cb)\r\n }\r\n\r\n return this\r\n }\r\n\r\n fire (eventName, params = []) {\r\n if (this.listeners.hasOwnProperty(eventName)) {\r\n this.listeners[eventName].forEach(cb => {\r\n if (typeof cb === 'function') {\r\n cb.apply(this, params)\r\n }\r\n })\r\n }\r\n }\r\n\r\n create () {\r\n console.log('NOT IMPLEMENTED YET')\r\n }\r\n\r\n /**\r\n * @return {boolean}\r\n */\r\n isSupported () {\r\n let result = false\r\n\r\n try {\r\n result = window.Notification ||\r\n window.webkitNotifications ||\r\n navigator.mozNotification ||\r\n (window.external && window.external.msIsSiteMode() !== undefined)\r\n } catch (e) {}\r\n\r\n return result\r\n }\r\n\r\n /**\r\n * @return {string}\r\n */\r\n getPermissionStatus () {\r\n let perm = 'default'\r\n\r\n if (window.Notification && window.Notification.permissionLevel) {\r\n perm = window.Notification.permissionLevel\r\n } else if (\r\n window.webkitNotifications && window.webkitNotifications.checkPermission\r\n ) {\r\n switch (window.webkitNotifications.checkPermission()) {\r\n case 1:\r\n perm = 'default'\r\n break\r\n case 0:\r\n perm = 'granted'\r\n break\r\n default:\r\n perm = 'denied'\r\n }\r\n } else if (window.Notification && window.Notification.permission) {\r\n perm = window.Notification.permission\r\n } else if (navigator.mozNotification) {\r\n perm = 'granted'\r\n } else if (\r\n window.external && window.external.msIsSiteMode() !== undefined\r\n ) {\r\n perm = window.external.msIsSiteMode() ? 'granted' : 'default'\r\n }\r\n\r\n return perm.toString().toLowerCase()\r\n }\r\n\r\n /**\r\n * @return {string}\r\n */\r\n getEndpoint (subscription) {\r\n let endpoint = subscription.endpoint\r\n const subscriptionId = subscription.subscriptionId\r\n\r\n // fix for Chrome < 45\r\n if (subscriptionId && endpoint.indexOf(subscriptionId) === -1) {\r\n endpoint += '/' + subscriptionId\r\n }\r\n\r\n return endpoint\r\n }\r\n\r\n /**\r\n * @return {boolean}\r\n */\r\n isSWRegistered () {\r\n try {\r\n return navigator.serviceWorker.controller.state === 'activated'\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n\r\n /**\r\n * @return {void}\r\n */\r\n unregisterWorker () {\r\n const self = this\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.getRegistrations().then(function (registrations) {\r\n for (let registration of registrations) {\r\n registration.unregister()\r\n self.fire('onSubscriptionCancel')\r\n }\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * @return {void}\r\n */\r\n requestSubscription (userVisibleOnly = true) {\r\n const self = this\r\n const current = this.getPermissionStatus()\r\n const cb = result => {\r\n if (result === 'granted') {\r\n this.fire('onPermissionGranted')\r\n\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.register(this.workerPath).then(function () {\r\n navigator.serviceWorker.ready.then(\r\n function (serviceWorkerRegistration) {\r\n self.fire('onWorkerSuccess')\r\n serviceWorkerRegistration.pushManager\r\n .subscribe({\r\n userVisibleOnly: userVisibleOnly\r\n })\r\n .then(function (subscription) {\r\n const key = subscription.getKey('p256dh')\r\n const token = subscription.getKey('auth')\r\n\r\n self.subData = {\r\n endpoint: self.getEndpoint(subscription),\r\n p256dh: key\r\n ? window.btoa(\r\n String.fromCharCode.apply(null, new Uint8Array(key))\r\n )\r\n : null,\r\n auth: token\r\n ? window.btoa(\r\n String.fromCharCode.apply(\r\n null,\r\n new Uint8Array(token)\r\n )\r\n )\r\n : null\r\n }\r\n\r\n self.fire('onSubscriptionSuccess', [self.subData])\r\n })\r\n .catch(function (err) {\r\n self.fire('onWorkerError', [err])\r\n })\r\n }\r\n )\r\n })\r\n } else {\r\n self.fire('onWorkerNotSupported')\r\n }\r\n } else if (result === 'denied') {\r\n this.fire('onPermissionDenied')\r\n this.unregisterWorker()\r\n }\r\n }\r\n\r\n if (current === 'default') {\r\n if (window.Notification && window.Notification.requestPermission) {\r\n window.Notification.requestPermission(cb)\r\n } else if (\r\n window.webkitNotifications && window.webkitNotifications.checkPermission\r\n ) {\r\n window.webkitNotifications.requestPermission(cb)\r\n }\r\n } else {\r\n cb(current)\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/push.js","/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license Licensed under MIT license\n * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version 4.1.1\n */\n\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.ES6Promise = factory());\n}(this, (function () { 'use strict';\n\nfunction objectOrFunction(x) {\n var type = typeof x;\n return x !== null && (type === 'object' || type === 'function');\n}\n\nfunction isFunction(x) {\n return typeof x === 'function';\n}\n\nvar _isArray = undefined;\nif (Array.isArray) {\n _isArray = Array.isArray;\n} else {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n}\n\nvar isArray = _isArray;\n\nvar len = 0;\nvar vertxNext = undefined;\nvar customSchedulerFn = undefined;\n\nvar asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n};\n\nfunction setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n}\n\nfunction setAsap(asapFn) {\n asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && ({}).toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n}\n\n// vertx\nfunction useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function () {\n vertxNext(flush);\n };\n }\n\n return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n}\n\n// web worker\nfunction useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n}\n\nfunction useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n\n callback(arg);\n\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n}\n\nfunction attemptVertx() {\n try {\n var r = require;\n var vertx = r('vertx');\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n}\n\nvar scheduleFlush = undefined;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && typeof require === 'function') {\n scheduleFlush = attemptVertx();\n} else {\n scheduleFlush = useSetTimeout();\n}\n\nfunction then(onFulfillment, onRejection) {\n var _arguments = arguments;\n\n var parent = this;\n\n var child = new this.constructor(noop);\n\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n\n var _state = parent._state;\n\n if (_state) {\n (function () {\n var callback = _arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n })();\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n}\n\n/**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.resolve(1);\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n*/\nfunction resolve$1(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n resolve(promise, object);\n return promise;\n}\n\nvar PROMISE_ID = Math.random().toString(36).substring(16);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nvar GET_THEN_ERROR = new ErrorObject();\n\nfunction selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction getThen(promise) {\n try {\n return promise.then;\n } catch (error) {\n GET_THEN_ERROR.error = error;\n return GET_THEN_ERROR;\n }\n}\n\nfunction tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {\n try {\n then$$1.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n}\n\nfunction handleForeignThenable(promise, thenable, then$$1) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then$$1, thenable, function (value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n\n reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n reject(promise, error);\n }\n }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function (value) {\n return resolve(promise, value);\n }, function (reason) {\n return reject(promise, reason);\n });\n }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then$$1) {\n if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then$$1 === GET_THEN_ERROR) {\n reject(promise, GET_THEN_ERROR.error);\n GET_THEN_ERROR.error = null;\n } else if (then$$1 === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then$$1)) {\n handleForeignThenable(promise, maybeThenable, then$$1);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n}\n\nfunction resolve(promise, value) {\n if (promise === value) {\n reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n handleMaybeThenable(promise, value, getThen(value));\n } else {\n fulfill(promise, value);\n }\n}\n\nfunction publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n}\n\nfunction fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n\n asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n\n parent._onerror = null;\n\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n}\n\nfunction publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) {\n return;\n }\n\n var child = undefined,\n callback = undefined,\n detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n}\n\nfunction ErrorObject() {\n this.error = null;\n}\n\nvar TRY_CATCH_ERROR = new ErrorObject();\n\nfunction tryCatch(callback, detail) {\n try {\n return callback(detail);\n } catch (e) {\n TRY_CATCH_ERROR.error = e;\n return TRY_CATCH_ERROR;\n }\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value = undefined,\n error = undefined,\n succeeded = undefined,\n failed = undefined;\n\n if (hasCallback) {\n value = tryCatch(callback, detail);\n\n if (value === TRY_CATCH_ERROR) {\n failed = true;\n error = value.error;\n value.error = null;\n } else {\n succeeded = true;\n }\n\n if (promise === value) {\n reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n succeeded = true;\n }\n\n if (promise._state !== PENDING) {\n // noop\n } else if (hasCallback && succeeded) {\n resolve(promise, value);\n } else if (failed) {\n reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n reject(promise, value);\n }\n}\n\nfunction initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n resolve(promise, value);\n }, function rejectPromise(reason) {\n reject(promise, reason);\n });\n } catch (e) {\n reject(promise, e);\n }\n}\n\nvar id = 0;\nfunction nextId() {\n return id++;\n}\n\nfunction makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n}\n\nfunction Enumerator$1(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n\n if (isArray(input)) {\n this.length = input.length;\n this._remaining = input.length;\n\n this._result = new Array(this.length);\n\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n this._enumerate(input);\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n reject(this.promise, validationError());\n }\n}\n\nfunction validationError() {\n return new Error('Array Methods must be provided an Array');\n}\n\nEnumerator$1.prototype._enumerate = function (input) {\n for (var i = 0; this._state === PENDING && i < input.length; i++) {\n this._eachEntry(input[i], i);\n }\n};\n\nEnumerator$1.prototype._eachEntry = function (entry, i) {\n var c = this._instanceConstructor;\n var resolve$$1 = c.resolve;\n\n if (resolve$$1 === resolve$1) {\n var _then = getThen(entry);\n\n if (_then === then && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c === Promise$2) {\n var promise = new c(noop);\n handleMaybeThenable(promise, entry, _then);\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c(function (resolve$$1) {\n return resolve$$1(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve$$1(entry), i);\n }\n};\n\nEnumerator$1.prototype._settledAt = function (state, i, value) {\n var promise = this.promise;\n\n if (promise._state === PENDING) {\n this._remaining--;\n\n if (state === REJECTED) {\n reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n};\n\nEnumerator$1.prototype._willSettleAt = function (promise, i) {\n var enumerator = this;\n\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n};\n\n/**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n\n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n\n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n*/\nfunction all$1(entries) {\n return new Enumerator$1(this, entries).promise;\n}\n\n/**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n\n Example:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n\n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n\n An example real-world use case is implementing timeouts:\n\n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n\n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n*/\nfunction race$1(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n}\n\n/**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n*/\nfunction reject$1(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n reject(promise, reason);\n return promise;\n}\n\nfunction needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n\n Terminology\n -----------\n\n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n\n A promise can be in one of three states: pending, fulfilled, or rejected.\n\n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n\n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n\n\n Basic Usage:\n ------------\n\n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n\n // on failure\n reject(reason);\n });\n\n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Advanced Usage:\n ---------------\n\n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n\n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n\n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n\n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n\n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Unlike callbacks, promises are great composable primitives.\n\n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {function} resolver\n Useful for tooling.\n @constructor\n*/\nfunction Promise$2(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise$2 ? initializePromise(this, resolver) : needsNew();\n }\n}\n\nPromise$2.all = all$1;\nPromise$2.race = race$1;\nPromise$2.resolve = resolve$1;\nPromise$2.reject = reject$1;\nPromise$2._setScheduler = setScheduler;\nPromise$2._setAsap = setAsap;\nPromise$2._asap = asap;\n\nPromise$2.prototype = {\n constructor: Promise$2,\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n \n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n \n Chaining\n --------\n \n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n \n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n \n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n \n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n \n Assimilation\n ------------\n \n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n \n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n \n If the assimliated promise rejects, then the downstream promise will also reject.\n \n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n \n Simple Example\n --------------\n \n Synchronous Example\n \n ```javascript\n let result;\n \n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n \n Errback Example\n \n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n \n Promise Example;\n \n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n \n Advanced Example\n --------------\n \n Synchronous Example\n \n ```javascript\n let author, books;\n \n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n \n Errback Example\n \n ```js\n \n function foundBooks(books) {\n \n }\n \n function failure(reason) {\n \n }\n \n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n \n Promise Example;\n \n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n \n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n then: then,\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n \n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n \n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n \n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n \n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n 'catch': function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\n/*global self*/\nfunction polyfill$1() {\n var local = undefined;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise$2;\n}\n\n// Strange compat..\nPromise$2.polyfill = polyfill$1;\nPromise$2.Promise = Promise$2;\n\nreturn Promise$2;\n\n})));\n\n//# sourceMappingURL=es6-promise.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/es6-promise/dist/es6-promise.js\n// module id = 4\n// module chunks = 0","/* global VERSION */\n\nimport 'noty.scss'\nimport Promise from 'es6-promise'\nimport * as Utils from 'utils'\nimport * as API from 'api'\nimport { NotyButton } from 'button'\nimport { Push } from 'push'\n\nexport default class Noty {\n /**\n * @param {object} options\n * @return {Noty}\n */\n constructor (options = {}) {\n this.options = Utils.deepExtend({}, API.Defaults, options)\n\n if (API.Store[this.options.id]) {\n return API.Store[this.options.id]\n }\n\n this.id = this.options.id || Utils.generateID('bar')\n this.closeTimer = -1\n this.barDom = null\n this.layoutDom = null\n this.progressDom = null\n this.showing = false\n this.shown = false\n this.closed = false\n this.closing = false\n this.killable = this.options.timeout || this.options.closeWith.length > 0\n this.hasSound = this.options.sounds.sources.length > 0\n this.soundPlayed = false\n this.listeners = {\n beforeShow: [],\n onShow: [],\n afterShow: [],\n onClose: [],\n afterClose: [],\n onClick: [],\n onHover: [],\n onTemplate: []\n }\n this.promises = {\n show: null,\n close: null\n }\n this.on('beforeShow', this.options.callbacks.beforeShow)\n this.on('onShow', this.options.callbacks.onShow)\n this.on('afterShow', this.options.callbacks.afterShow)\n this.on('onClose', this.options.callbacks.onClose)\n this.on('afterClose', this.options.callbacks.afterClose)\n this.on('onClick', this.options.callbacks.onClick)\n this.on('onHover', this.options.callbacks.onHover)\n this.on('onTemplate', this.options.callbacks.onTemplate)\n\n return this\n }\n\n /**\n * @param {string} eventName\n * @param {function} cb\n * @return {Noty}\n */\n on (eventName, cb = () => {}) {\n if (typeof cb === 'function' && this.listeners.hasOwnProperty(eventName)) {\n this.listeners[eventName].push(cb)\n }\n\n return this\n }\n\n /**\n * @return {Noty}\n */\n show () {\n if (this.showing || this.shown) {\n return this // preventing multiple show\n }\n\n if (this.options.killer === true) {\n Noty.closeAll()\n } else if (typeof this.options.killer === 'string') {\n Noty.closeAll(this.options.killer)\n }\n\n let queueCounts = API.getQueueCounts(this.options.queue)\n\n if (\n queueCounts.current >= queueCounts.maxVisible ||\n (API.PageHidden && this.options.visibilityControl)\n ) {\n API.addToQueue(this)\n\n if (\n API.PageHidden &&\n this.hasSound &&\n Utils.inArray('docHidden', this.options.sounds.conditions)\n ) {\n Utils.createAudioElements(this)\n }\n\n if (\n API.PageHidden &&\n Utils.inArray('docHidden', this.options.titleCount.conditions)\n ) {\n API.docTitle.increment()\n }\n\n return this\n }\n\n API.Store[this.id] = this\n\n API.fire(this, 'beforeShow')\n\n this.showing = true\n\n if (this.closing) {\n this.showing = false\n return this\n }\n\n API.build(this)\n API.handleModal(this)\n\n if (this.options.force) {\n this.layoutDom.insertBefore(this.barDom, this.layoutDom.firstChild)\n } else {\n this.layoutDom.appendChild(this.barDom)\n }\n\n if (\n this.hasSound &&\n !this.soundPlayed &&\n Utils.inArray('docVisible', this.options.sounds.conditions)\n ) {\n Utils.createAudioElements(this)\n }\n\n if (Utils.inArray('docVisible', this.options.titleCount.conditions)) {\n API.docTitle.increment()\n }\n\n this.shown = true\n this.closed = false\n\n // bind button events if any\n if (API.hasButtons(this)) {\n Object.keys(this.options.buttons).forEach(key => {\n const btn = this.barDom.querySelector(\n `#${this.options.buttons[key].id}`\n )\n Utils.addListener(btn, 'click', e => {\n Utils.stopPropagation(e)\n this.options.buttons[key].cb(this)\n })\n })\n }\n\n this.progressDom = this.barDom.querySelector('.noty_progressbar')\n\n if (Utils.inArray('click', this.options.closeWith)) {\n Utils.addClass(this.barDom, 'noty_close_with_click')\n Utils.addListener(\n this.barDom,\n 'click',\n e => {\n Utils.stopPropagation(e)\n API.fire(this, 'onClick')\n this.close()\n },\n false\n )\n }\n\n Utils.addListener(\n this.barDom,\n 'mouseenter',\n () => {\n API.fire(this, 'onHover')\n },\n false\n )\n\n if (this.options.timeout) Utils.addClass(this.barDom, 'noty_has_timeout')\n if (this.options.progressBar) {\n Utils.addClass(this.barDom, 'noty_has_progressbar')\n }\n\n if (Utils.inArray('button', this.options.closeWith)) {\n Utils.addClass(this.barDom, 'noty_close_with_button')\n\n const closeButton = document.createElement('div')\n Utils.addClass(closeButton, 'noty_close_button')\n closeButton.innerHTML = '×'\n this.barDom.appendChild(closeButton)\n\n Utils.addListener(\n closeButton,\n 'click',\n e => {\n Utils.stopPropagation(e)\n this.close()\n },\n false\n )\n }\n\n API.fire(this, 'onShow')\n\n if (this.options.animation.open === null) {\n this.promises.show = new Promise(resolve => {\n resolve()\n })\n } else if (typeof this.options.animation.open === 'function') {\n this.promises.show = new Promise(this.options.animation.open.bind(this))\n } else {\n Utils.addClass(this.barDom, this.options.animation.open)\n this.promises.show = new Promise(resolve => {\n Utils.addListener(this.barDom, Utils.animationEndEvents, () => {\n Utils.removeClass(this.barDom, this.options.animation.open)\n resolve()\n })\n })\n }\n\n this.promises.show.then(() => {\n const _t = this\n setTimeout(\n () => {\n API.openFlow(_t)\n },\n 100\n )\n })\n\n return this\n }\n\n /**\n * @return {Noty}\n */\n stop () {\n API.dequeueClose(this)\n return this\n }\n\n /**\n * @return {Noty}\n */\n resume () {\n API.queueClose(this)\n return this\n }\n\n /**\n * @param {int|boolean} ms\n * @return {Noty}\n */\n setTimeout (ms) {\n this.stop()\n this.options.timeout = ms\n\n if (this.barDom) {\n if (this.options.timeout) {\n Utils.addClass(this.barDom, 'noty_has_timeout')\n } else {\n Utils.removeClass(this.barDom, 'noty_has_timeout')\n }\n\n const _t = this\n setTimeout(\n function () {\n // ugly fix for progressbar display bug\n _t.resume()\n },\n 100\n )\n }\n\n return this\n }\n\n /**\n * @param {string} html\n * @param {boolean} optionsOverride\n * @return {Noty}\n */\n setText (html, optionsOverride = false) {\n if (this.barDom) {\n this.barDom.querySelector('.noty_body').innerHTML = html\n }\n\n if (optionsOverride) this.options.text = html\n\n return this\n }\n\n /**\n * @param {string} type\n * @param {boolean} optionsOverride\n * @return {Noty}\n */\n setType (type, optionsOverride = false) {\n if (this.barDom) {\n let classList = Utils.classList(this.barDom).split(' ')\n\n classList.forEach(c => {\n if (c.substring(0, 11) === 'noty_type__') {\n Utils.removeClass(this.barDom, c)\n }\n })\n\n Utils.addClass(this.barDom, `noty_type__${type}`)\n }\n\n if (optionsOverride) this.options.type = type\n\n return this\n }\n\n /**\n * @param {string} theme\n * @param {boolean} optionsOverride\n * @return {Noty}\n */\n setTheme (theme, optionsOverride = false) {\n if (this.barDom) {\n let classList = Utils.classList(this.barDom).split(' ')\n\n classList.forEach(c => {\n if (c.substring(0, 12) === 'noty_theme__') {\n Utils.removeClass(this.barDom, c)\n }\n })\n\n Utils.addClass(this.barDom, `noty_theme__${theme}`)\n }\n\n if (optionsOverride) this.options.theme = theme\n\n return this\n }\n\n /**\n * @return {Noty}\n */\n close () {\n if (this.closed) return this\n\n if (!this.shown) {\n // it's in the queue\n API.removeFromQueue(this)\n return this\n }\n\n API.fire(this, 'onClose')\n\n this.closing = true\n\n if (this.options.animation.close === null || this.options.animation.close === false) {\n this.promises.close = new Promise(resolve => {\n resolve()\n })\n } else if (typeof this.options.animation.close === 'function') {\n this.promises.close = new Promise(\n this.options.animation.close.bind(this)\n )\n } else {\n Utils.addClass(this.barDom, this.options.animation.close)\n this.promises.close = new Promise(resolve => {\n Utils.addListener(this.barDom, Utils.animationEndEvents, () => {\n if (this.options.force) {\n Utils.remove(this.barDom)\n } else {\n API.ghostFix(this)\n }\n resolve()\n })\n })\n }\n\n this.promises.close.then(() => {\n API.closeFlow(this)\n API.handleModalClose(this)\n })\n\n this.closed = true\n\n return this\n }\n\n // API functions\n\n /**\n * @param {boolean|string} queueName\n * @return {Noty}\n */\n static closeAll (queueName = false) {\n Object.keys(API.Store).forEach(id => {\n if (queueName) {\n if (\n API.Store[id].options.queue === queueName && API.Store[id].killable\n ) {\n API.Store[id].close()\n }\n } else if (API.Store[id].killable) {\n API.Store[id].close()\n }\n })\n return this\n }\n\n /**\n * @param {string} queueName\n * @return {Noty}\n */\n static clearQueue (queueName = 'global') {\n if (API.Queues.hasOwnProperty(queueName)) {\n API.Queues[queueName].queue = []\n }\n return this\n }\n\n /**\n * @return {API.Queues}\n */\n static get Queues () {\n return API.Queues\n }\n\n /**\n * @return {API.PageHidden}\n */\n static get PageHidden () {\n return API.PageHidden\n }\n\n /**\n * @param {Object} obj\n * @return {Noty}\n */\n static overrideDefaults (obj) {\n API.Defaults = Utils.deepExtend({}, API.Defaults, obj)\n return this\n }\n\n /**\n * @param {int} amount\n * @param {string} queueName\n * @return {Noty}\n */\n static setMaxVisible (amount = API.DefaultMaxVisible, queueName = 'global') {\n if (!API.Queues.hasOwnProperty(queueName)) {\n API.Queues[queueName] = {maxVisible: amount, queue: []}\n }\n\n API.Queues[queueName].maxVisible = amount\n return this\n }\n\n /**\n * @param {string} innerHtml\n * @param {String} classes\n * @param {Function} cb\n * @param {Object} attributes\n * @return {NotyButton}\n */\n static button (innerHtml, classes = null, cb, attributes = {}) {\n return new NotyButton(innerHtml, classes, cb, attributes)\n }\n\n /**\n * @return {string}\n */\n static version () {\n return VERSION\n }\n\n /**\n * @param {String} workerPath\n * @return {Push}\n */\n static Push (workerPath) {\n return new Push(workerPath)\n }\n}\n\n// Document visibility change controller\nif (typeof window !== 'undefined') {\n Utils.visibilityChangeFlow()\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/process/browser.js\n// module id = 7\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 8\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/site/trunk/js/simplemde/simplemde.min.css b/site/trunk/js/simplemde/simplemde.min.css deleted file mode 100644 index d62f4d7..0000000 --- a/site/trunk/js/simplemde/simplemde.min.css +++ /dev/null @@ -1,7 +0,0 @@ -/** - * simplemde v1.11.2 - * Copyright Next Step Webs, Inc. - * @link https://github.com/NextStepWebs/simplemde-markdown-editor - * @license MIT - */ -.CodeMirror{color:#000}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-animate-fat-cursor{width:auto;border:0;-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite;background-color:#7e7}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-ruler{border-left:1px solid #ccc;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;height:100%;outline:0;position:relative}.CodeMirror-sizer{position:relative;border-right:30px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-30px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:0 0!important;border:none!important;-webkit-user-select:none;-moz-user-select:none;user-select:none}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:0 0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:none;font-variant-ligatures:none}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;overflow:auto}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected,.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background:#ffa;background:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:''}span.CodeMirror-selectedtext{background:0 0}.CodeMirror{height:auto;min-height:300px;border:1px solid #ddd;border-bottom-left-radius:4px;border-bottom-right-radius:4px;padding:10px;font:inherit;z-index:1}.CodeMirror-scroll{min-height:300px}.CodeMirror-fullscreen{background:#fff;position:fixed!important;top:50px;left:0;right:0;bottom:0;height:auto;z-index:9}.CodeMirror-sided{width:50%!important}.editor-toolbar{position:relative;opacity:.6;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;padding:0 10px;border-top:1px solid #bbb;border-left:1px solid #bbb;border-right:1px solid #bbb;border-top-left-radius:4px;border-top-right-radius:4px}.editor-toolbar:after,.editor-toolbar:before{display:block;content:' ';height:1px}.editor-toolbar:before{margin-bottom:8px}.editor-toolbar:after{margin-top:8px}.editor-toolbar:hover,.editor-wrapper input.title:focus,.editor-wrapper input.title:hover{opacity:.8}.editor-toolbar.fullscreen{width:100%;height:50px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;padding-top:10px;padding-bottom:10px;box-sizing:border-box;background:#fff;border:0;position:fixed;top:0;left:0;opacity:1;z-index:9}.editor-toolbar.fullscreen::before{width:20px;height:50px;background:-moz-linear-gradient(left,rgba(255,255,255,1) 0,rgba(255,255,255,0) 100%);background:-webkit-gradient(linear,left top,right top,color-stop(0,rgba(255,255,255,1)),color-stop(100%,rgba(255,255,255,0)));background:-webkit-linear-gradient(left,rgba(255,255,255,1) 0,rgba(255,255,255,0) 100%);background:-o-linear-gradient(left,rgba(255,255,255,1) 0,rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left,rgba(255,255,255,1) 0,rgba(255,255,255,0) 100%);background:linear-gradient(to right,rgba(255,255,255,1) 0,rgba(255,255,255,0) 100%);position:fixed;top:0;left:0;margin:0;padding:0}.editor-toolbar.fullscreen::after{width:20px;height:50px;background:-moz-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,1) 100%);background:-webkit-gradient(linear,left top,right top,color-stop(0,rgba(255,255,255,0)),color-stop(100%,rgba(255,255,255,1)));background:-webkit-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,1) 100%);background:-o-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,1) 100%);background:-ms-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,1) 100%);background:linear-gradient(to right,rgba(255,255,255,0) 0,rgba(255,255,255,1) 100%);position:fixed;top:0;right:0;margin:0;padding:0}.editor-toolbar a{display:inline-block;text-align:center;text-decoration:none!important;color:#2c3e50!important;width:30px;height:30px;margin:0;border:1px solid transparent;border-radius:3px;cursor:pointer}.editor-toolbar a.active,.editor-toolbar a:hover{background:#fcfcfc;border-color:#95a5a6}.editor-toolbar a:before{line-height:30px}.editor-toolbar i.separator{display:inline-block;width:0;border-left:1px solid #d9d9d9;border-right:1px solid #fff;color:transparent;text-indent:-10px;margin:0 6px}.editor-toolbar a.fa-header-x:after{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:65%;vertical-align:text-bottom;position:relative;top:2px}.editor-toolbar a.fa-header-1:after{content:"1"}.editor-toolbar a.fa-header-2:after{content:"2"}.editor-toolbar a.fa-header-3:after{content:"3"}.editor-toolbar a.fa-header-bigger:after{content:"▲"}.editor-toolbar a.fa-header-smaller:after{content:"▼"}.editor-toolbar.disabled-for-preview a:not(.no-disable){pointer-events:none;background:#fff;border-color:transparent;text-shadow:inherit}@media only screen and (max-width:700px){.editor-toolbar a.no-mobile{display:none}}.editor-statusbar{padding:8px 10px;font-size:12px;color:#959694;text-align:right}.editor-statusbar span{display:inline-block;min-width:4em;margin-left:1em}.editor-preview,.editor-preview-side{padding:10px;background:#fafafa;overflow:auto;display:none;box-sizing:border-box}.editor-statusbar .lines:before{content:'lines: '}.editor-statusbar .words:before{content:'words: '}.editor-statusbar .characters:before{content:'characters: '}.editor-preview{position:absolute;width:100%;height:100%;top:0;left:0;z-index:7}.editor-preview-side{position:fixed;bottom:0;width:50%;top:50px;right:0;z-index:9;border:1px solid #ddd}.editor-preview-active,.editor-preview-active-side{display:block}.editor-preview-side>p,.editor-preview>p{margin-top:0}.editor-preview pre,.editor-preview-side pre{background:#eee;margin-bottom:10px}.editor-preview table td,.editor-preview table th,.editor-preview-side table td,.editor-preview-side table th{border:1px solid #ddd;padding:5px}.CodeMirror .CodeMirror-code .cm-tag{color:#63a35c}.CodeMirror .CodeMirror-code .cm-attribute{color:#795da3}.CodeMirror .CodeMirror-code .cm-string{color:#183691}.CodeMirror .CodeMirror-selected{background:#d9d9d9}.CodeMirror .CodeMirror-code .cm-header-1{font-size:200%;line-height:200%}.CodeMirror .CodeMirror-code .cm-header-2{font-size:160%;line-height:160%}.CodeMirror .CodeMirror-code .cm-header-3{font-size:125%;line-height:125%}.CodeMirror .CodeMirror-code .cm-header-4{font-size:110%;line-height:110%}.CodeMirror .CodeMirror-code .cm-comment{background:rgba(0,0,0,.05);border-radius:2px}.CodeMirror .CodeMirror-code .cm-link{color:#7f8c8d}.CodeMirror .CodeMirror-code .cm-url{color:#aab2b3}.CodeMirror .CodeMirror-code .cm-strikethrough{text-decoration:line-through}.CodeMirror .CodeMirror-placeholder{opacity:.5}.CodeMirror .cm-spell-error:not(.cm-url):not(.cm-comment):not(.cm-tag):not(.cm-word){background:rgba(255,0,0,.15)} \ No newline at end of file diff --git a/site/trunk/js/simplemde/simplemde.min.js b/site/trunk/js/simplemde/simplemde.min.js deleted file mode 100644 index 50c624f..0000000 --- a/site/trunk/js/simplemde/simplemde.min.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * simplemde v1.11.2 - * Copyright Next Step Webs, Inc. - * @link https://github.com/NextStepWebs/simplemde-markdown-editor - * @license MIT - */ -!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.SimpleMDE=e()}}(function(){var e;return function t(e,n,r){function i(a,l){if(!n[a]){if(!e[a]){var s="function"==typeof require&&require;if(!l&&s)return s(a,!0);if(o)return o(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[a]={exports:{}};e[a][0].call(u.exports,function(t){var n=e[a][1][t];return i(n?n:t)},u,u.exports,t,e,n,r)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;at;++t)s[t]=e[t],c[e.charCodeAt(t)]=t;c["-".charCodeAt(0)]=62,c["_".charCodeAt(0)]=63}function i(e){var t,n,r,i,o,a,l=e.length;if(l%4>0)throw new Error("Invalid string. Length must be a multiple of 4");o="="===e[l-2]?2:"="===e[l-1]?1:0,a=new u(3*l/4-o),r=o>0?l-4:l;var s=0;for(t=0,n=0;r>t;t+=4,n+=3)i=c[e.charCodeAt(t)]<<18|c[e.charCodeAt(t+1)]<<12|c[e.charCodeAt(t+2)]<<6|c[e.charCodeAt(t+3)],a[s++]=i>>16&255,a[s++]=i>>8&255,a[s++]=255&i;return 2===o?(i=c[e.charCodeAt(t)]<<2|c[e.charCodeAt(t+1)]>>4,a[s++]=255&i):1===o&&(i=c[e.charCodeAt(t)]<<10|c[e.charCodeAt(t+1)]<<4|c[e.charCodeAt(t+2)]>>2,a[s++]=i>>8&255,a[s++]=255&i),a}function o(e){return s[e>>18&63]+s[e>>12&63]+s[e>>6&63]+s[63&e]}function a(e,t,n){for(var r,i=[],a=t;n>a;a+=3)r=(e[a]<<16)+(e[a+1]<<8)+e[a+2],i.push(o(r));return i.join("")}function l(e){for(var t,n=e.length,r=n%3,i="",o=[],l=16383,c=0,u=n-r;u>c;c+=l)o.push(a(e,c,c+l>u?u:c+l));return 1===r?(t=e[n-1],i+=s[t>>2],i+=s[t<<4&63],i+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],i+=s[t>>10],i+=s[t>>4&63],i+=s[t<<2&63],i+="="),o.push(i),o.join("")}n.toByteArray=i,n.fromByteArray=l;var s=[],c=[],u="undefined"!=typeof Uint8Array?Uint8Array:Array;r()},{}],2:[function(e,t,n){},{}],3:[function(e,t,n){(function(t){"use strict";function r(){try{var e=new Uint8Array(1);return e.foo=function(){return 42},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(t){return!1}}function i(){return a.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function o(e,t){if(i()=t?o(e,t):void 0!==n?"string"==typeof r?o(e,t).fill(n,r):o(e,t).fill(n):o(e,t)}function u(e,t){if(s(t),e=o(e,0>t?0:0|m(t)),!a.TYPED_ARRAY_SUPPORT)for(var n=0;t>n;n++)e[n]=0;return e}function f(e,t,n){if("string"==typeof n&&""!==n||(n="utf8"),!a.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|v(t,n);return e=o(e,r),e.write(t,n),e}function h(e,t){var n=0|m(t.length);e=o(e,n);for(var r=0;n>r;r+=1)e[r]=255&t[r];return e}function d(e,t,n,r){if(t.byteLength,0>n||t.byteLength=i())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i().toString(16)+" bytes");return 0|e}function g(e){return+e!=e&&(e=0),a.alloc(+e)}function v(e,t){if(a.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"binary":case"raw":case"raws":return n;case"utf8":case"utf-8":case void 0:return q(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return $(e).length;default:if(r)return q(e).length;t=(""+t).toLowerCase(),r=!0}}function y(e,t,n){var r=!1;if((void 0===t||0>t)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),0>=n)return"";if(n>>>=0,t>>>=0,t>=n)return"";for(e||(e="utf8");;)switch(e){case"hex":return I(this,t,n);case"utf8":case"utf-8":return N(this,t,n);case"ascii":return E(this,t,n);case"binary":return O(this,t,n);case"base64":return M(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function x(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function b(e,t,n,r){function i(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}var o=1,a=e.length,l=t.length;if(void 0!==r&&(r=String(r).toLowerCase(),"ucs2"===r||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;o=2,a/=2,l/=2,n/=2}for(var s=-1,c=0;a>n+c;c++)if(i(e,n+c)===i(t,-1===s?0:c-s)){if(-1===s&&(s=c),c-s+1===l)return(n+s)*o}else-1!==s&&(c-=c-s),s=-1;return-1}function w(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r),r>i&&(r=i)):r=i;var o=t.length;if(o%2!==0)throw new Error("Invalid hex string");r>o/2&&(r=o/2);for(var a=0;r>a;a++){var l=parseInt(t.substr(2*a,2),16);if(isNaN(l))return a;e[n+a]=l}return a}function k(e,t,n,r){return V(q(t,e.length-n),e,n,r)}function S(e,t,n,r){return V(G(t),e,n,r)}function C(e,t,n,r){return S(e,t,n,r)}function L(e,t,n,r){return V($(t),e,n,r)}function T(e,t,n,r){return V(Y(t,e.length-n),e,n,r)}function M(e,t,n){return 0===t&&n===e.length?X.fromByteArray(e):X.fromByteArray(e.slice(t,n))}function N(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;n>i;){var o=e[i],a=null,l=o>239?4:o>223?3:o>191?2:1;if(n>=i+l){var s,c,u,f;switch(l){case 1:128>o&&(a=o);break;case 2:s=e[i+1],128===(192&s)&&(f=(31&o)<<6|63&s,f>127&&(a=f));break;case 3:s=e[i+1],c=e[i+2],128===(192&s)&&128===(192&c)&&(f=(15&o)<<12|(63&s)<<6|63&c,f>2047&&(55296>f||f>57343)&&(a=f));break;case 4:s=e[i+1],c=e[i+2],u=e[i+3],128===(192&s)&&128===(192&c)&&128===(192&u)&&(f=(15&o)<<18|(63&s)<<12|(63&c)<<6|63&u,f>65535&&1114112>f&&(a=f))}}null===a?(a=65533,l=1):a>65535&&(a-=65536,r.push(a>>>10&1023|55296),a=56320|1023&a),r.push(a),i+=l}return A(r)}function A(e){var t=e.length;if(Q>=t)return String.fromCharCode.apply(String,e);for(var n="",r=0;t>r;)n+=String.fromCharCode.apply(String,e.slice(r,r+=Q));return n}function E(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;n>i;i++)r+=String.fromCharCode(127&e[i]);return r}function O(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;n>i;i++)r+=String.fromCharCode(e[i]);return r}function I(e,t,n){var r=e.length;(!t||0>t)&&(t=0),(!n||0>n||n>r)&&(n=r);for(var i="",o=t;n>o;o++)i+=U(e[o]);return i}function P(e,t,n){for(var r=e.slice(t,n),i="",o=0;oe)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function D(e,t,n,r,i,o){if(!a.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||o>t)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function H(e,t,n,r){0>t&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);o>i;i++)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function W(e,t,n,r){0>t&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);o>i;i++)e[n+i]=t>>>8*(r?i:3-i)&255}function B(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError("Index out of range");if(0>n)throw new RangeError("Index out of range")}function _(e,t,n,r,i){return i||B(e,t,n,4,3.4028234663852886e38,-3.4028234663852886e38),Z.write(e,t,n,r,23,4),n+4}function F(e,t,n,r,i){return i||B(e,t,n,8,1.7976931348623157e308,-1.7976931348623157e308),Z.write(e,t,n,r,52,8),n+8}function z(e){if(e=j(e).replace(ee,""),e.length<2)return"";for(;e.length%4!==0;)e+="=";return e}function j(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function U(e){return 16>e?"0"+e.toString(16):e.toString(16)}function q(e,t){t=t||1/0;for(var n,r=e.length,i=null,o=[],a=0;r>a;a++){if(n=e.charCodeAt(a),n>55295&&57344>n){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(56320>n){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=(i-55296<<10|n-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,128>n){if((t-=1)<0)break;o.push(n)}else if(2048>n){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(65536>n){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(1114112>n))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function G(e){for(var t=[],n=0;n>8,i=n%256,o.push(i),o.push(r);return o}function $(e){return X.toByteArray(z(e))}function V(e,t,n,r){for(var i=0;r>i&&!(i+n>=t.length||i>=e.length);i++)t[i+n]=e[i];return i}function K(e){return e!==e}var X=e("base64-js"),Z=e("ieee754"),J=e("isarray");n.Buffer=a,n.SlowBuffer=g,n.INSPECT_MAX_BYTES=50,a.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:r(),n.kMaxLength=i(),a.poolSize=8192,a._augment=function(e){return e.__proto__=a.prototype,e},a.from=function(e,t,n){return l(null,e,t,n)},a.TYPED_ARRAY_SUPPORT&&(a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&a[Symbol.species]===a&&Object.defineProperty(a,Symbol.species,{value:null,configurable:!0})),a.alloc=function(e,t,n){return c(null,e,t,n)},a.allocUnsafe=function(e){return u(null,e)},a.allocUnsafeSlow=function(e){return u(null,e)},a.isBuffer=function(e){return!(null==e||!e._isBuffer)},a.compare=function(e,t){if(!a.isBuffer(e)||!a.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);o>i;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return r>n?-1:n>r?1:0},a.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(e,t){if(!J(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return a.alloc(0);var n;if(void 0===t)for(t=0,n=0;nt;t+=2)x(this,t,t+1);return this},a.prototype.swap32=function(){var e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;e>t;t+=4)x(this,t,t+3),x(this,t+1,t+2);return this},a.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?N(this,0,e):y.apply(this,arguments)},a.prototype.equals=function(e){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e?!0:0===a.compare(this,e)},a.prototype.inspect=function(){var e="",t=n.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(e+=" ... ")),""},a.prototype.compare=function(e,t,n,r,i){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),0>t||n>e.length||0>r||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,i>>>=0,this===e)return 0;for(var o=i-r,l=n-t,s=Math.min(o,l),c=this.slice(r,i),u=e.slice(t,n),f=0;s>f;++f)if(c[f]!==u[f]){o=c[f],l=u[f];break}return l>o?-1:o>l?1:0},a.prototype.indexOf=function(e,t,n){if("string"==typeof t?(n=t,t=0):t>2147483647?t=2147483647:-2147483648>t&&(t=-2147483648),t>>=0,0===this.length)return-1;if(t>=this.length)return-1;if(0>t&&(t=Math.max(this.length+t,0)),"string"==typeof e&&(e=a.from(e,n)),a.isBuffer(e))return 0===e.length?-1:b(this,e,t,n);if("number"==typeof e)return a.TYPED_ARRAY_SUPPORT&&"function"===Uint8Array.prototype.indexOf?Uint8Array.prototype.indexOf.call(this,e,t):b(this,[e],t,n);throw new TypeError("val must be string, number or Buffer")},a.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},a.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t=0|t,isFinite(n)?(n=0|n,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(0>n||0>t)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return w(this,e,t,n);case"utf8":case"utf-8":return k(this,e,t,n);case"ascii":return S(this,e,t,n);case"binary":return C(this,e,t,n);case"base64":return L(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;a.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,0>e?(e+=n,0>e&&(e=0)):e>n&&(e=n),0>t?(t+=n,0>t&&(t=0)):t>n&&(t=n),e>t&&(t=e);var r;if(a.TYPED_ARRAY_SUPPORT)r=this.subarray(e,t),r.__proto__=a.prototype;else{var i=t-e;r=new a(i,void 0);for(var o=0;i>o;o++)r[o]=this[o+e]}return r},a.prototype.readUIntLE=function(e,t,n){e=0|e,t=0|t,n||R(e,t,this.length);for(var r=this[e],i=1,o=0;++o0&&(i*=256);)r+=this[e+--t]*i;return r},a.prototype.readUInt8=function(e,t){return t||R(e,1,this.length),this[e]},a.prototype.readUInt16LE=function(e,t){return t||R(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUInt16BE=function(e,t){return t||R(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUInt32LE=function(e,t){return t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},a.prototype.readUInt32BE=function(e,t){return t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readIntLE=function(e,t,n){e=0|e,t=0|t,n||R(e,t,this.length);for(var r=this[e],i=1,o=0;++o=i&&(r-=Math.pow(2,8*t)),r},a.prototype.readIntBE=function(e,t,n){e=0|e,t=0|t,n||R(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o},a.prototype.readInt8=function(e,t){return t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},a.prototype.readInt16LE=function(e,t){t||R(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt16BE=function(e,t){t||R(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt32LE=function(e,t){return t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,t){return t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readFloatLE=function(e,t){return t||R(e,4,this.length),Z.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,t){return t||R(e,4,this.length),Z.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,t){return t||R(e,8,this.length),Z.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,t){return t||R(e,8,this.length),Z.read(this,e,!1,52,8)},a.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t=0|t,n=0|n,!r){var i=Math.pow(2,8*n)-1;D(this,e,t,n,i,0)}var o=1,a=0;for(this[t]=255&e;++a=0&&(a*=256);)this[t+o]=e/a&255;return t+n},a.prototype.writeUInt8=function(e,t,n){return e=+e,t=0|t,n||D(this,e,t,1,255,0),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},a.prototype.writeUInt16LE=function(e,t,n){return e=+e,t=0|t,n||D(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):H(this,e,t,!0),t+2},a.prototype.writeUInt16BE=function(e,t,n){return e=+e,t=0|t,n||D(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):H(this,e,t,!1),t+2},a.prototype.writeUInt32LE=function(e,t,n){return e=+e,t=0|t,n||D(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):W(this,e,t,!0),t+4},a.prototype.writeUInt32BE=function(e,t,n){return e=+e,t=0|t,n||D(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):W(this,e,t,!1),t+4},a.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t=0|t,!r){var i=Math.pow(2,8*n-1);D(this,e,t,n,i-1,-i)}var o=0,a=1,l=0;for(this[t]=255&e;++oe&&0===l&&0!==this[t+o-1]&&(l=1),this[t+o]=(e/a>>0)-l&255;return t+n},a.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t=0|t,!r){var i=Math.pow(2,8*n-1);D(this,e,t,n,i-1,-i)}var o=n-1,a=1,l=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)0>e&&0===l&&0!==this[t+o+1]&&(l=1),this[t+o]=(e/a>>0)-l&255;return t+n},a.prototype.writeInt8=function(e,t,n){return e=+e,t=0|t,n||D(this,e,t,1,127,-128),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),0>e&&(e=255+e+1),this[t]=255&e,t+1},a.prototype.writeInt16LE=function(e,t,n){return e=+e,t=0|t,n||D(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):H(this,e,t,!0),t+2},a.prototype.writeInt16BE=function(e,t,n){return e=+e,t=0|t,n||D(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):H(this,e,t,!1),t+2},a.prototype.writeInt32LE=function(e,t,n){return e=+e,t=0|t,n||D(this,e,t,4,2147483647,-2147483648),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):W(this,e,t,!0),t+4},a.prototype.writeInt32BE=function(e,t,n){return e=+e,t=0|t,n||D(this,e,t,4,2147483647,-2147483648),0>e&&(e=4294967295+e+1),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):W(this,e,t,!1),t+4},a.prototype.writeFloatLE=function(e,t,n){return _(this,e,t,!0,n)},a.prototype.writeFloatBE=function(e,t,n){return _(this,e,t,!1,n)},a.prototype.writeDoubleLE=function(e,t,n){return F(this,e,t,!0,n)},a.prototype.writeDoubleBE=function(e,t,n){return F(this,e,t,!1,n)},a.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&n>r&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(0>t)throw new RangeError("targetStart out of bounds");if(0>n||n>=this.length)throw new RangeError("sourceStart out of bounds");if(0>r)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-tn&&r>t)for(i=o-1;i>=0;i--)e[i+t]=this[i+n];else if(1e3>o||!a.TYPED_ARRAY_SUPPORT)for(i=0;o>i;i++)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+o),t);return o},a.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);256>i&&(e=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!a.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e=255&e);if(0>t||this.length=n)return this;t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0);var o;if("number"==typeof e)for(o=t;n>o;o++)this[o]=e;else{var l=a.isBuffer(e)?e:q(new a(e,r).toString()),s=l.length;for(o=0;n-t>o;o++)this[o+t]=l[o%s]}return this};var ee=/[^+\/0-9A-Za-z-_]/g}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"base64-js":1,ieee754:15,isarray:16}],4:[function(e,t,n){"use strict";function r(e){return e=e||{},"function"!=typeof e.codeMirrorInstance||"function"!=typeof e.codeMirrorInstance.defineMode?void console.log("CodeMirror Spell Checker: You must provide an instance of CodeMirror via the option `codeMirrorInstance`"):(String.prototype.includes||(String.prototype.includes=function(){return-1!==String.prototype.indexOf.apply(this,arguments)}),void e.codeMirrorInstance.defineMode("spell-checker",function(t){if(!r.aff_loading){r.aff_loading=!0;var n=new XMLHttpRequest;n.open("GET","https://cdn.jsdelivr.net/codemirror.spell-checker/latest/en_US.aff",!0),n.onload=function(){4===n.readyState&&200===n.status&&(r.aff_data=n.responseText,r.num_loaded++,2==r.num_loaded&&(r.typo=new i("en_US",r.aff_data,r.dic_data,{platform:"any"})))},n.send(null)}if(!r.dic_loading){r.dic_loading=!0;var o=new XMLHttpRequest;o.open("GET","https://cdn.jsdelivr.net/codemirror.spell-checker/latest/en_US.dic",!0),o.onload=function(){4===o.readyState&&200===o.status&&(r.dic_data=o.responseText,r.num_loaded++,2==r.num_loaded&&(r.typo=new i("en_US",r.aff_data,r.dic_data,{platform:"any"})))},o.send(null)}var a='!"#$%&()*+,-./:;<=>?@[\\]^_`{|}~ ',l={token:function(e){var t=e.peek(),n="";if(a.includes(t))return e.next(),null;for(;null!=(t=e.peek())&&!a.includes(t);)n+=t,e.next();return r.typo&&!r.typo.check(n)?"spell-error":null}},s=e.codeMirrorInstance.getMode(t,t.backdrop||"text/plain");return e.codeMirrorInstance.overlayMode(s,l,!0)}))}var i=e("typo-js");r.num_loaded=0,r.aff_loading=!1,r.dic_loading=!1,r.aff_data="",r.dic_data="",r.typo,t.exports=r},{"typo-js":18}],5:[function(t,n,r){!function(i){"object"==typeof r&&"object"==typeof n?i(t("../../lib/codemirror")):"function"==typeof e&&e.amd?e(["../../lib/codemirror"],i):i(CodeMirror)}(function(e){"use strict";function t(e){var t=e.getWrapperElement();e.state.fullScreenRestore={scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,width:t.style.width,height:t.style.height},t.style.width="",t.style.height="auto",t.className+=" CodeMirror-fullscreen",document.documentElement.style.overflow="hidden",e.refresh()}function n(e){var t=e.getWrapperElement();t.className=t.className.replace(/\s*CodeMirror-fullscreen\b/,""),document.documentElement.style.overflow="";var n=e.state.fullScreenRestore;t.style.width=n.width,t.style.height=n.height,window.scrollTo(n.scrollLeft,n.scrollTop),e.refresh()}e.defineOption("fullScreen",!1,function(r,i,o){o==e.Init&&(o=!1),!o!=!i&&(i?t(r):n(r))})})},{"../../lib/codemirror":10}],6:[function(t,n,r){!function(i){"object"==typeof r&&"object"==typeof n?i(t("../../lib/codemirror")):"function"==typeof e&&e.amd?e(["../../lib/codemirror"],i):i(CodeMirror)}(function(e){function t(e){e.state.placeholder&&(e.state.placeholder.parentNode.removeChild(e.state.placeholder),e.state.placeholder=null)}function n(e){t(e);var n=e.state.placeholder=document.createElement("pre");n.style.cssText="height: 0; overflow: visible",n.className="CodeMirror-placeholder";var r=e.getOption("placeholder");"string"==typeof r&&(r=document.createTextNode(r)),n.appendChild(r),e.display.lineSpace.insertBefore(n,e.display.lineSpace.firstChild)}function r(e){o(e)&&n(e)}function i(e){var r=e.getWrapperElement(),i=o(e);r.className=r.className.replace(" CodeMirror-empty","")+(i?" CodeMirror-empty":""),i?n(e):t(e)}function o(e){return 1===e.lineCount()&&""===e.getLine(0)}e.defineOption("placeholder","",function(n,o,a){var l=a&&a!=e.Init;if(o&&!l)n.on("blur",r),n.on("change",i),n.on("swapDoc",i),i(n);else if(!o&&l){n.off("blur",r),n.off("change",i),n.off("swapDoc",i),t(n);var s=n.getWrapperElement();s.className=s.className.replace(" CodeMirror-empty","")}o&&!n.hasFocus()&&r(n)})})},{"../../lib/codemirror":10}],7:[function(t,n,r){!function(i){"object"==typeof r&&"object"==typeof n?i(t("../../lib/codemirror")):"function"==typeof e&&e.amd?e(["../../lib/codemirror"],i):i(CodeMirror)}(function(e){"use strict";var t=/^(\s*)(>[> ]*|[*+-]\s|(\d+)([.)]))(\s*)/,n=/^(\s*)(>[> ]*|[*+-]|(\d+)[.)])(\s*)$/,r=/[*+-]\s/;e.commands.newlineAndIndentContinueMarkdownList=function(i){if(i.getOption("disableInput"))return e.Pass;for(var o=i.listSelections(),a=[],l=0;l")>=0?d[2]:parseInt(d[3],10)+1+d[4];a[l]="\n"+p+g+m}}i.replaceSelections(a)}})},{"../../lib/codemirror":10}],8:[function(t,n,r){!function(i){"object"==typeof r&&"object"==typeof n?i(t("../../lib/codemirror")):"function"==typeof e&&e.amd?e(["../../lib/codemirror"],i):i(CodeMirror)}(function(e){"use strict";e.overlayMode=function(t,n,r){return{startState:function(){return{base:e.startState(t),overlay:e.startState(n),basePos:0,baseCur:null,overlayPos:0,overlayCur:null,streamSeen:null}},copyState:function(r){return{base:e.copyState(t,r.base),overlay:e.copyState(n,r.overlay),basePos:r.basePos,baseCur:null,overlayPos:r.overlayPos,overlayCur:null}},token:function(e,i){return(e!=i.streamSeen||Math.min(i.basePos,i.overlayPos)=n.line,d=h?n:s(f,0),p=e.markText(u,d,{className:o});if(null==r?i.push(p):i.splice(r++,0,p),h)break;a=f}}function i(e){for(var t=e.state.markedSelection,n=0;n1)return o(e);var t=e.getCursor("start"),n=e.getCursor("end"),a=e.state.markedSelection;if(!a.length)return r(e,t,n);var s=a[0].find(),u=a[a.length-1].find();if(!s||!u||n.line-t.line=0||c(n,s.from)<=0)return o(e);for(;c(t,s.from)>0;)a.shift().clear(),s=a[0].find();for(c(t,s.from)<0&&(s.to.line-t.line0&&(n.line-u.from.linebo&&setTimeout(function(){s.display.input.reset(!0)},20),jt(this),Ki(),bt(this),this.curOp.forceUpdate=!0,Xr(this,i),r.autofocus&&!Ao||s.hasFocus()?setTimeout(Bi(vn,this),20):yn(this);for(var u in ta)ta.hasOwnProperty(u)&&ta[u](this,r[u],na);k(this),r.finishInit&&r.finishInit(this);for(var f=0;fbo&&(r.gutters.style.zIndex=-1,r.scroller.style.paddingRight=0),wo||go&&Ao||(r.scroller.draggable=!0),e&&(e.appendChild?e.appendChild(r.wrapper):e(r.wrapper)),r.viewFrom=r.viewTo=t.first,r.reportedViewFrom=r.reportedViewTo=t.first,r.view=[],r.renderedView=null,r.externalMeasured=null,r.viewOffset=0,r.lastWrapHeight=r.lastWrapWidth=0,r.updateLineNumbers=null,r.nativeBarWidth=r.barHeight=r.barWidth=0,r.scrollbarsClipped=!1,r.lineNumWidth=r.lineNumInnerWidth=r.lineNumChars=null,r.alignWidgets=!1,r.cachedCharWidth=r.cachedTextHeight=r.cachedPaddingH=null, -r.maxLine=null,r.maxLineLength=0,r.maxLineChanged=!1,r.wheelDX=r.wheelDY=r.wheelStartX=r.wheelStartY=null,r.shift=!1,r.selForContextMenu=null,r.activeTouch=null,n.init(r)}function n(t){t.doc.mode=e.getMode(t.options,t.doc.modeOption),r(t)}function r(e){e.doc.iter(function(e){e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null)}),e.doc.frontier=e.doc.first,_e(e,100),e.state.modeGen++,e.curOp&&Dt(e)}function i(e){e.options.lineWrapping?(Ja(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(Za(e.display.wrapper,"CodeMirror-wrap"),h(e)),a(e),Dt(e),lt(e),setTimeout(function(){y(e)},100)}function o(e){var t=yt(e.display),n=e.options.lineWrapping,r=n&&Math.max(5,e.display.scroller.clientWidth/xt(e.display)-3);return function(i){if(kr(e.doc,i))return 0;var o=0;if(i.widgets)for(var a=0;at.maxLineLength&&(t.maxLineLength=n,t.maxLine=e)})}function d(e){var t=Pi(e.gutters,"CodeMirror-linenumbers");-1==t&&e.lineNumbers?e.gutters=e.gutters.concat(["CodeMirror-linenumbers"]):t>-1&&!e.lineNumbers&&(e.gutters=e.gutters.slice(0),e.gutters.splice(t,1))}function p(e){var t=e.display,n=t.gutters.offsetWidth,r=Math.round(e.doc.height+qe(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+Ye(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}function m(e,t,n){this.cm=n;var r=this.vert=ji("div",[ji("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),i=this.horiz=ji("div",[ji("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");e(r),e(i),Ea(r,"scroll",function(){r.clientHeight&&t(r.scrollTop,"vertical")}),Ea(i,"scroll",function(){i.clientWidth&&t(i.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,xo&&8>bo&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")}function g(){}function v(t){t.display.scrollbars&&(t.display.scrollbars.clear(),t.display.scrollbars.addClass&&Za(t.display.wrapper,t.display.scrollbars.addClass)),t.display.scrollbars=new e.scrollbarModel[t.options.scrollbarStyle](function(e){t.display.wrapper.insertBefore(e,t.display.scrollbarFiller),Ea(e,"mousedown",function(){t.state.focused&&setTimeout(function(){t.display.input.focus()},0)}),e.setAttribute("cm-not-content","true")},function(e,n){"horizontal"==n?on(t,e):rn(t,e)},t),t.display.scrollbars.addClass&&Ja(t.display.wrapper,t.display.scrollbars.addClass)}function y(e,t){t||(t=p(e));var n=e.display.barWidth,r=e.display.barHeight;x(e,t);for(var i=0;4>i&&n!=e.display.barWidth||r!=e.display.barHeight;i++)n!=e.display.barWidth&&e.options.lineWrapping&&O(e),x(e,p(e)),n=e.display.barWidth,r=e.display.barHeight}function x(e,t){var n=e.display,r=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=r.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+"px",n.heightForcer.style.borderBottom=r.bottom+"px solid transparent",r.right&&r.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=r.bottom+"px",n.scrollbarFiller.style.width=r.right+"px"):n.scrollbarFiller.style.display="",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=r.bottom+"px",n.gutterFiller.style.width=t.gutterWidth+"px"):n.gutterFiller.style.display=""}function b(e,t,n){var r=n&&null!=n.top?Math.max(0,n.top):e.scroller.scrollTop;r=Math.floor(r-Ue(e));var i=n&&null!=n.bottom?n.bottom:r+e.wrapper.clientHeight,o=ni(t,r),a=ni(t,i);if(n&&n.ensure){var l=n.ensure.from.line,s=n.ensure.to.line;o>l?(o=l,a=ni(t,ri(Zr(t,l))+e.wrapper.clientHeight)):Math.min(s,t.lastLine())>=a&&(o=ni(t,ri(Zr(t,s))-e.wrapper.clientHeight),a=s)}return{from:o,to:Math.max(a,o+1)}}function w(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var r=C(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,o=r+"px",a=0;a=n.viewFrom&&t.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==zt(e))return!1;k(e)&&(Wt(e),t.dims=P(e));var i=r.first+r.size,o=Math.max(t.visible.from-e.options.viewportMargin,r.first),a=Math.min(i,t.visible.to+e.options.viewportMargin);n.viewFroma&&n.viewTo-a<20&&(a=Math.min(i,n.viewTo)),Wo&&(o=br(e.doc,o),a=wr(e.doc,a));var l=o!=n.viewFrom||a!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;Ft(e,o,a),n.viewOffset=ri(Zr(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+"px";var s=zt(e);if(!l&&0==s&&!t.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var c=Gi();return s>4&&(n.lineDiv.style.display="none"),R(e,n.updateLineNumbers,t.dims),s>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,c&&Gi()!=c&&c.offsetHeight&&c.focus(),Ui(n.cursorDiv),Ui(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,l&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,_e(e,400)),n.updateLineNumbers=null,!0}function N(e,t){for(var n=t.viewport,r=!0;(r&&e.options.lineWrapping&&t.oldDisplayWidth!=$e(e)||(n&&null!=n.top&&(n={top:Math.min(e.doc.height+qe(e.display)-Ve(e),n.top)}),t.visible=b(e.display,e.doc,n),!(t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)))&&M(e,t);r=!1){O(e);var i=p(e);Re(e),y(e,i),E(e,i)}t.signal(e,"update",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function A(e,t){var n=new L(e,t);if(M(e,n)){O(e),N(e,n);var r=p(e);Re(e),y(e,r),E(e,r),n.finish()}}function E(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+Ye(e)+"px"}function O(e){for(var t=e.display,n=t.lineDiv.offsetTop,r=0;rbo){var a=o.node.offsetTop+o.node.offsetHeight;i=a-n,n=a}else{var l=o.node.getBoundingClientRect();i=l.bottom-l.top}var s=o.line.height-i;if(2>i&&(i=yt(t)),(s>.001||-.001>s)&&(ei(o.line,i),I(o.line),o.rest))for(var c=0;c=t&&f.lineNumber;f.changes&&(Pi(f.changes,"gutter")>-1&&(h=!1),D(e,f,c,n)),h&&(Ui(f.lineNumber),f.lineNumber.appendChild(document.createTextNode(S(e.options,c)))),l=f.node.nextSibling}else{var d=U(e,f,c,n);a.insertBefore(d,l)}c+=f.size}for(;l;)l=r(l)}function D(e,t,n,r){for(var i=0;ibo&&(e.node.style.zIndex=2)),e.node}function W(e){var t=e.bgClass?e.bgClass+" "+(e.line.bgClass||""):e.line.bgClass;if(t&&(t+=" CodeMirror-linebackground"),e.background)t?e.background.className=t:(e.background.parentNode.removeChild(e.background),e.background=null);else if(t){var n=H(e);e.background=n.insertBefore(ji("div",null,t),n.firstChild)}}function B(e,t){var n=e.display.externalMeasured;return n&&n.line==t.line?(e.display.externalMeasured=null,t.measure=n.measure,n.built):Br(e,t)}function _(e,t){var n=t.text.className,r=B(e,t);t.text==t.node&&(t.node=r.pre),t.text.parentNode.replaceChild(r.pre,t.text),t.text=r.pre,r.bgClass!=t.bgClass||r.textClass!=t.textClass?(t.bgClass=r.bgClass,t.textClass=r.textClass,F(t)):n&&(t.text.className=n)}function F(e){W(e),e.line.wrapClass?H(e).className=e.line.wrapClass:e.node!=e.text&&(e.node.className="");var t=e.textClass?e.textClass+" "+(e.line.textClass||""):e.line.textClass;e.text.className=t||""}function z(e,t,n,r){if(t.gutter&&(t.node.removeChild(t.gutter),t.gutter=null),t.gutterBackground&&(t.node.removeChild(t.gutterBackground),t.gutterBackground=null),t.line.gutterClass){var i=H(t);t.gutterBackground=ji("div",null,"CodeMirror-gutter-background "+t.line.gutterClass,"left: "+(e.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+"px; width: "+r.gutterTotalWidth+"px"),i.insertBefore(t.gutterBackground,t.text)}var o=t.line.gutterMarkers;if(e.options.lineNumbers||o){var i=H(t),a=t.gutter=ji("div",null,"CodeMirror-gutter-wrapper","left: "+(e.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+"px");if(e.display.input.setUneditable(a),i.insertBefore(a,t.text),t.line.gutterClass&&(a.className+=" "+t.line.gutterClass),!e.options.lineNumbers||o&&o["CodeMirror-linenumbers"]||(t.lineNumber=a.appendChild(ji("div",S(e.options,n),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+r.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+e.display.lineNumInnerWidth+"px"))),o)for(var l=0;l1)if(Fo&&Fo.text.join("\n")==t){if(r.ranges.length%Fo.text.length==0){s=[];for(var c=0;c=0;c--){var u=r.ranges[c],f=u.from(),h=u.to();u.empty()&&(n&&n>0?f=Bo(f.line,f.ch-n):e.state.overwrite&&!a?h=Bo(h.line,Math.min(Zr(o,h.line).text.length,h.ch+Ii(l).length)):Fo&&Fo.lineWise&&Fo.text.join("\n")==t&&(f=h=Bo(f.line,0)));var d=e.curOp.updateInput,p={from:f,to:h,text:s?s[c%s.length]:l,origin:i||(a?"paste":e.state.cutIncoming?"cut":"+input")};Tn(e.doc,p),Ci(e,"inputRead",e,p)}t&&!a&&Q(e,t),Bn(e),e.curOp.updateInput=d,e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=!1}function J(e,t){var n=e.clipboardData&&e.clipboardData.getData("text/plain");return n?(e.preventDefault(),t.isReadOnly()||t.options.disableInput||At(t,function(){Z(t,n,0,null,"paste")}),!0):void 0}function Q(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,r=n.ranges.length-1;r>=0;r--){var i=n.ranges[r];if(!(i.head.ch>100||r&&n.ranges[r-1].head.line==i.head.line)){var o=e.getModeAt(i.head),a=!1;if(o.electricChars){for(var l=0;l-1){a=Fn(e,i.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(Zr(e.doc,i.head.line).text.slice(0,i.head.ch))&&(a=Fn(e,i.head.line,"smart"));a&&Ci(e,"electricInput",e,i.head.line)}}}function ee(e){for(var t=[],n=[],r=0;ri?c.map:u[i],a=0;ai?e.line:e.rest[i]),f=o[a]+r;return(0>r||l!=t)&&(f=o[a+(r?1:0)]),Bo(s,f)}}}var i=e.text.firstChild,o=!1;if(!t||!Va(i,t))return ae(Bo(ti(e.line),0),!0);if(t==i&&(o=!0,t=i.childNodes[n],n=0,!t)){var a=e.rest?Ii(e.rest):e.line;return ae(Bo(ti(a),a.text.length),o)}var l=3==t.nodeType?t:null,s=t;for(l||1!=t.childNodes.length||3!=t.firstChild.nodeType||(l=t.firstChild,n&&(n=l.nodeValue.length));s.parentNode!=i;)s=s.parentNode;var c=e.measure,u=c.maps,f=r(l,s,n);if(f)return ae(f,o);for(var h=s.nextSibling,d=l?l.nodeValue.length-n:0;h;h=h.nextSibling){if(f=r(h,h.firstChild,0))return ae(Bo(f.line,f.ch-d),o);d+=h.textContent.length}for(var p=s.previousSibling,d=n;p;p=p.previousSibling){if(f=r(p,p.firstChild,-1))return ae(Bo(f.line,f.ch+d),o);d+=h.textContent.length}}function ce(e,t,n,r,i){function o(e){return function(t){return t.id==e}}function a(t){if(1==t.nodeType){var n=t.getAttribute("cm-text");if(null!=n)return""==n&&(n=t.textContent.replace(/\u200b/g,"")),void(l+=n);var u,f=t.getAttribute("cm-marker");if(f){var h=e.findMarks(Bo(r,0),Bo(i+1,0),o(+f));return void(h.length&&(u=h[0].find())&&(l+=Jr(e.doc,u.from,u.to).join(c)))}if("false"==t.getAttribute("contenteditable"))return;for(var d=0;d=0){var a=K(o.from(),i.from()),l=V(o.to(),i.to()),s=o.empty()?i.from()==i.head:o.from()==o.head;t>=r&&--t,e.splice(--r,2,new fe(s?l:a,s?a:l))}}return new ue(e,t)}function de(e,t){return new ue([new fe(e,t||e)],0)}function pe(e,t){return Math.max(e.first,Math.min(t,e.first+e.size-1))}function me(e,t){if(t.linen?Bo(n,Zr(e,n).text.length):ge(t,Zr(e,t.line).text.length)}function ge(e,t){var n=e.ch;return null==n||n>t?Bo(e.line,t):0>n?Bo(e.line,0):e}function ve(e,t){return t>=e.first&&t=t.ch:l.to>t.ch))){if(i&&(Pa(s,"beforeCursorEnter"),s.explicitlyCleared)){if(o.markedSpans){--a;continue}break}if(!s.atomic)continue;if(n){var c,u=s.find(0>r?1:-1);if((0>r?s.inclusiveRight:s.inclusiveLeft)&&(u=Pe(e,u,-r,u&&u.line==t.line?o:null)),u&&u.line==t.line&&(c=_o(u,n))&&(0>r?0>c:c>0))return Oe(e,u,t,r,i)}var f=s.find(0>r?-1:1);return(0>r?s.inclusiveLeft:s.inclusiveRight)&&(f=Pe(e,f,r,f.line==t.line?o:null)),f?Oe(e,f,t,r,i):null}}return t}function Ie(e,t,n,r,i){var o=r||1,a=Oe(e,t,n,o,i)||!i&&Oe(e,t,n,o,!0)||Oe(e,t,n,-o,i)||!i&&Oe(e,t,n,-o,!0);return a?a:(e.cantEdit=!0,Bo(e.first,0))}function Pe(e,t,n,r){return 0>n&&0==t.ch?t.line>e.first?me(e,Bo(t.line-1)):null:n>0&&t.ch==(r||Zr(e,t.line)).text.length?t.line=e.display.viewTo||l.to().linet&&(t=0),t=Math.round(t),r=Math.round(r),l.appendChild(ji("div",null,"CodeMirror-selected","position: absolute; left: "+e+"px; top: "+t+"px; width: "+(null==n?u-e:n)+"px; height: "+(r-t)+"px"))}function i(t,n,i){function o(n,r){return ht(e,Bo(t,n),"div",f,r)}var l,s,f=Zr(a,t),h=f.text.length;return eo(ii(f),n||0,null==i?h:i,function(e,t,a){var f,d,p,m=o(e,"left");if(e==t)f=m,d=p=m.left;else{if(f=o(t-1,"right"),"rtl"==a){var g=m;m=f,f=g}d=m.left,p=f.right}null==n&&0==e&&(d=c),f.top-m.top>3&&(r(d,m.top,null,m.bottom),d=c,m.bottoms.bottom||f.bottom==s.bottom&&f.right>s.right)&&(s=f),c+1>d&&(d=c),r(d,f.top,p-d,f.bottom)}),{start:l,end:s}}var o=e.display,a=e.doc,l=document.createDocumentFragment(),s=Ge(e.display),c=s.left,u=Math.max(o.sizerWidth,$e(e)-o.sizer.offsetLeft)-s.right,f=t.from(),h=t.to();if(f.line==h.line)i(f.line,f.ch,h.ch);else{var d=Zr(a,f.line),p=Zr(a,h.line),m=yr(d)==yr(p),g=i(f.line,f.ch,m?d.text.length+1:null).end,v=i(h.line,m?0:null,h.ch).start;m&&(g.top0?t.blinker=setInterval(function(){t.cursorDiv.style.visibility=(n=!n)?"":"hidden"},e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function _e(e,t){e.doc.mode.startState&&e.doc.frontier=e.display.viewTo)){var n=+new Date+e.options.workTime,r=sa(t.mode,je(e,t.frontier)),i=[];t.iter(t.frontier,Math.min(t.first+t.size,e.display.viewTo+500),function(o){if(t.frontier>=e.display.viewFrom){var a=o.styles,l=o.text.length>e.options.maxHighlightLength,s=Rr(e,o,l?sa(t.mode,r):r,!0);o.styles=s.styles;var c=o.styleClasses,u=s.classes;u?o.styleClasses=u:c&&(o.styleClasses=null);for(var f=!a||a.length!=o.styles.length||c!=u&&(!c||!u||c.bgClass!=u.bgClass||c.textClass!=u.textClass),h=0;!f&&hn?(_e(e,e.options.workDelay),!0):void 0}),i.length&&At(e,function(){for(var t=0;ta;--l){if(l<=o.first)return o.first;var s=Zr(o,l-1);if(s.stateAfter&&(!n||l<=o.frontier))return l;var c=Fa(s.text,null,e.options.tabSize);(null==i||r>c)&&(i=l-1,r=c)}return i}function je(e,t,n){var r=e.doc,i=e.display;if(!r.mode.startState)return!0;var o=ze(e,t,n),a=o>r.first&&Zr(r,o-1).stateAfter;return a=a?sa(r.mode,a):ca(r.mode),r.iter(o,t,function(n){Hr(e,n.text,a);var l=o==t-1||o%5==0||o>=i.viewFrom&&o2&&o.push((s.bottom+c.top)/2-n.top)}}o.push(n.bottom-n.top)}}function Xe(e,t,n){if(e.line==t)return{map:e.measure.map,cache:e.measure.cache};for(var r=0;rn)return{map:e.measure.maps[r],cache:e.measure.caches[r],before:!0}}function Ze(e,t){t=yr(t);var n=ti(t),r=e.display.externalMeasured=new Pt(e.doc,t,n);r.lineN=n;var i=r.built=Br(e,r);return r.text=i.pre,qi(e.display.lineMeasure,i.pre),r}function Je(e,t,n,r){return tt(e,et(e,t),n,r)}function Qe(e,t){if(t>=e.display.viewFrom&&t=n.lineN&&tt?(i=0,o=1,a="left"):c>t?(i=t-s,o=i+1):(l==e.length-3||t==c&&e[l+3]>t)&&(o=c-s,i=o-1,t>=c&&(a="right")),null!=i){if(r=e[l+2],s==c&&n==(r.insertLeft?"left":"right")&&(a=n),"left"==n&&0==i)for(;l&&e[l-2]==e[l-3]&&e[l-1].insertLeft;)r=e[(l-=3)+2],a="left";if("right"==n&&i==c-s)for(;lu;u++){for(;l&&zi(t.line.text.charAt(o.coverStart+l));)--l;for(;o.coverStart+sbo&&0==l&&s==o.coverEnd-o.coverStart)i=a.parentNode.getBoundingClientRect();else if(xo&&e.options.lineWrapping){var f=qa(a,l,s).getClientRects();i=f.length?f["right"==r?f.length-1:0]:qo}else i=qa(a,l,s).getBoundingClientRect()||qo;if(i.left||i.right||0==l)break;s=l,l-=1,c="right"}xo&&11>bo&&(i=it(e.display.measure,i))}else{l>0&&(c=r="right");var f;i=e.options.lineWrapping&&(f=a.getClientRects()).length>1?f["right"==r?f.length-1:0]:a.getBoundingClientRect()}if(xo&&9>bo&&!l&&(!i||!i.left&&!i.right)){var h=a.parentNode.getClientRects()[0];i=h?{left:h.left,right:h.left+xt(e.display),top:h.top,bottom:h.bottom}:qo}for(var d=i.top-t.rect.top,p=i.bottom-t.rect.top,m=(d+p)/2,g=t.view.measure.heights,u=0;un.from?a(e-1):a(e,r)}r=r||Zr(e.doc,t.line),i||(i=et(e,r));var s=ii(r),c=t.ch;if(!s)return a(c);var u=co(s,c),f=l(c,u);return null!=al&&(f.other=l(c,al)),f}function pt(e,t){var n=0,t=me(e.doc,t);e.options.lineWrapping||(n=xt(e.display)*t.ch);var r=Zr(e.doc,t.line),i=ri(r)+Ue(e.display);return{left:n,right:n,top:i,bottom:i+r.height}}function mt(e,t,n,r){var i=Bo(e,t);return i.xRel=r,n&&(i.outside=!0),i}function gt(e,t,n){var r=e.doc;if(n+=e.display.viewOffset,0>n)return mt(r.first,0,!0,-1);var i=ni(r,n),o=r.first+r.size-1;if(i>o)return mt(r.first+r.size-1,Zr(r,o).text.length,!0,1);0>t&&(t=0);for(var a=Zr(r,i);;){var l=vt(e,a,i,t,n),s=gr(a),c=s&&s.find(0,!0);if(!s||!(l.ch>c.from.ch||l.ch==c.from.ch&&l.xRel>0))return l;i=ti(a=c.to.line)}}function vt(e,t,n,r,i){function o(r){var i=dt(e,Bo(n,r),"line",t,c);return l=!0,a>i.bottom?i.left-s:ag)return mt(n,d,v,1);for(;;){if(u?d==h||d==fo(t,h,1):1>=d-h){for(var y=p>r||g-r>=r-p?h:d,x=r-(y==h?p:g);zi(t.text.charAt(y));)++y;var b=mt(n,y,y==h?m:v,-1>x?-1:x>1?1:0);return b}var w=Math.ceil(f/2),k=h+w;if(u){k=h;for(var S=0;w>S;++S)k=fo(t,k,1)}var C=o(k);C>r?(d=k,g=C,(v=l)&&(g+=1e3),f=w):(h=k,p=C,m=l,f-=w)}}function yt(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==zo){zo=ji("pre");for(var t=0;49>t;++t)zo.appendChild(document.createTextNode("x")),zo.appendChild(ji("br"));zo.appendChild(document.createTextNode("x"))}qi(e.measure,zo);var n=zo.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),Ui(e.measure),n||1}function xt(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=ji("span","xxxxxxxxxx"),n=ji("pre",[t]);qi(e.measure,n);var r=t.getBoundingClientRect(),i=(r.right-r.left)/10;return i>2&&(e.cachedCharWidth=i),i||10}function bt(e){e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:null,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Yo},Go?Go.ops.push(e.curOp):e.curOp.ownsGroup=Go={ops:[e.curOp],delayedCallbacks:[]}}function wt(e){var t=e.delayedCallbacks,n=0;do{for(;n=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new L(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function Lt(e){e.updatedDisplay=e.mustUpdate&&M(e.cm,e.update)}function Tt(e){var t=e.cm,n=t.display;e.updatedDisplay&&O(t),e.barMeasure=p(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=Je(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+Ye(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-$e(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection(e.focus))}function Mt(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLefto;o=r){var a=new Pt(e.doc,Zr(e.doc,o),o);r=o+a.size,i.push(a)}return i}function Dt(e,t,n,r){null==t&&(t=e.doc.first),null==n&&(n=e.doc.first+e.doc.size),r||(r=0);var i=e.display;if(r&&nt)&&(i.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=i.viewTo)Wo&&br(e.doc,t)i.viewFrom?Wt(e):(i.viewFrom+=r,i.viewTo+=r);else if(t<=i.viewFrom&&n>=i.viewTo)Wt(e);else if(t<=i.viewFrom){var o=_t(e,n,n+r,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=r):Wt(e)}else if(n>=i.viewTo){var o=_t(e,t,t,-1);o?(i.view=i.view.slice(0,o.index),i.viewTo=o.lineN):Wt(e)}else{var a=_t(e,t,t,-1),l=_t(e,n,n+r,1);a&&l?(i.view=i.view.slice(0,a.index).concat(Rt(e,a.lineN,l.lineN)).concat(i.view.slice(l.index)),i.viewTo+=r):Wt(e)}var s=i.externalMeasured;s&&(n=i.lineN&&t=r.viewTo)){var o=r.view[Bt(e,t)];if(null!=o.node){var a=o.changes||(o.changes=[]);-1==Pi(a,n)&&a.push(n)}}}function Wt(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function Bt(e,t){if(t>=e.display.viewTo)return null;if(t-=e.display.viewFrom,0>t)return null;for(var n=e.display.view,r=0;rt)return r}function _t(e,t,n,r){var i,o=Bt(e,t),a=e.display.view;if(!Wo||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var l=0,s=e.display.viewFrom;o>l;l++)s+=a[l].size;if(s!=t){if(r>0){if(o==a.length-1)return null;i=s+a[o].size-t,o++}else i=s-t;t+=i,n+=i}for(;br(e.doc,n)!=n;){if(o==(0>r?0:a.length-1))return null;n+=r*a[o-(0>r?1:0)].size,o+=r}return{index:o,lineN:n}}function Ft(e,t,n){var r=e.display,i=r.view;0==i.length||t>=r.viewTo||n<=r.viewFrom?(r.view=Rt(e,t,n),r.viewFrom=t):(r.viewFrom>t?r.view=Rt(e,t,r.viewFrom).concat(r.view):r.viewFromn&&(r.view=r.view.slice(0,Bt(e,n)))),r.viewTo=n}function zt(e){for(var t=e.display.view,n=0,r=0;r400}var i=e.display;Ea(i.scroller,"mousedown",Et(e,$t)),xo&&11>bo?Ea(i.scroller,"dblclick",Et(e,function(t){if(!Ti(e,t)){var n=Yt(e,t);if(n&&!Jt(e,t)&&!Gt(e.display,t)){Ma(t);var r=e.findWordAt(n);be(e.doc,r.anchor,r.head)}}})):Ea(i.scroller,"dblclick",function(t){Ti(e,t)||Ma(t)}),Do||Ea(i.scroller,"contextmenu",function(t){xn(e,t)});var o,a={end:0};Ea(i.scroller,"touchstart",function(t){if(!Ti(e,t)&&!n(t)){clearTimeout(o);var r=+new Date;i.activeTouch={start:r,moved:!1,prev:r-a.end<=300?a:null},1==t.touches.length&&(i.activeTouch.left=t.touches[0].pageX,i.activeTouch.top=t.touches[0].pageY)}}),Ea(i.scroller,"touchmove",function(){i.activeTouch&&(i.activeTouch.moved=!0)}),Ea(i.scroller,"touchend",function(n){var o=i.activeTouch;if(o&&!Gt(i,n)&&null!=o.left&&!o.moved&&new Date-o.start<300){var a,l=e.coordsChar(i.activeTouch,"page");a=!o.prev||r(o,o.prev)?new fe(l,l):!o.prev.prev||r(o,o.prev.prev)?e.findWordAt(l):new fe(Bo(l.line,0),me(e.doc,Bo(l.line+1,0))),e.setSelection(a.anchor,a.head),e.focus(),Ma(n)}t()}),Ea(i.scroller,"touchcancel",t),Ea(i.scroller,"scroll",function(){i.scroller.clientHeight&&(rn(e,i.scroller.scrollTop),on(e,i.scroller.scrollLeft,!0),Pa(e,"scroll",e))}),Ea(i.scroller,"mousewheel",function(t){an(e,t)}),Ea(i.scroller,"DOMMouseScroll",function(t){an(e,t)}),Ea(i.wrapper,"scroll",function(){i.wrapper.scrollTop=i.wrapper.scrollLeft=0}),i.dragFunctions={enter:function(t){Ti(e,t)||Aa(t)},over:function(t){Ti(e,t)||(tn(e,t),Aa(t))},start:function(t){en(e,t)},drop:Et(e,Qt),leave:function(t){Ti(e,t)||nn(e)}};var l=i.input.getField();Ea(l,"keyup",function(t){pn.call(e,t)}),Ea(l,"keydown",Et(e,hn)),Ea(l,"keypress",Et(e,mn)),Ea(l,"focus",Bi(vn,e)),Ea(l,"blur",Bi(yn,e))}function Ut(t,n,r){var i=r&&r!=e.Init;if(!n!=!i){var o=t.display.dragFunctions,a=n?Ea:Ia;a(t.display.scroller,"dragstart",o.start),a(t.display.scroller,"dragenter",o.enter),a(t.display.scroller,"dragover",o.over),a(t.display.scroller,"dragleave",o.leave),a(t.display.scroller,"drop",o.drop)}}function qt(e){var t=e.display;t.lastWrapHeight==t.wrapper.clientHeight&&t.lastWrapWidth==t.wrapper.clientWidth||(t.cachedCharWidth=t.cachedTextHeight=t.cachedPaddingH=null,t.scrollbarsClipped=!1,e.setSize())}function Gt(e,t){for(var n=wi(t);n!=e.wrapper;n=n.parentNode)if(!n||1==n.nodeType&&"true"==n.getAttribute("cm-ignore-events")||n.parentNode==e.sizer&&n!=e.mover)return!0}function Yt(e,t,n,r){var i=e.display;if(!n&&"true"==wi(t).getAttribute("cm-not-content"))return null;var o,a,l=i.lineSpace.getBoundingClientRect();try{o=t.clientX-l.left,a=t.clientY-l.top}catch(t){return null}var s,c=gt(e,o,a);if(r&&1==c.xRel&&(s=Zr(e.doc,c.line).text).length==c.ch){var u=Fa(s,s.length,e.options.tabSize)-s.length;c=Bo(c.line,Math.max(0,Math.round((o-Ge(e.display).left)/xt(e.display))-u))}return c}function $t(e){var t=this,n=t.display;if(!(Ti(t,e)||n.activeTouch&&n.input.supportsTouch())){if(n.shift=e.shiftKey,Gt(n,e))return void(wo||(n.scroller.draggable=!1,setTimeout(function(){n.scroller.draggable=!0},100)));if(!Jt(t,e)){var r=Yt(t,e);switch(window.focus(),ki(e)){case 1:t.state.selectingText?t.state.selectingText(e):r?Vt(t,e,r):wi(e)==n.scroller&&Ma(e);break;case 2:wo&&(t.state.lastMiddleDown=+new Date),r&&be(t.doc,r),setTimeout(function(){n.input.focus()},20),Ma(e);break;case 3:Do?xn(t,e):gn(t)}}}}function Vt(e,t,n){xo?setTimeout(Bi(X,e),0):e.curOp.focus=Gi();var r,i=+new Date;Uo&&Uo.time>i-400&&0==_o(Uo.pos,n)?r="triple":jo&&jo.time>i-400&&0==_o(jo.pos,n)?(r="double",Uo={time:i,pos:n}):(r="single",jo={time:i,pos:n});var o,a=e.doc.sel,l=Eo?t.metaKey:t.ctrlKey;e.options.dragDrop&&el&&!e.isReadOnly()&&"single"==r&&(o=a.contains(n))>-1&&(_o((o=a.ranges[o]).from(),n)<0||n.xRel>0)&&(_o(o.to(),n)>0||n.xRel<0)?Kt(e,t,n,l):Xt(e,t,n,r,l)}function Kt(e,t,n,r){var i=e.display,o=+new Date,a=Et(e,function(l){wo&&(i.scroller.draggable=!1),e.state.draggingText=!1,Ia(document,"mouseup",a),Ia(i.scroller,"drop",a),Math.abs(t.clientX-l.clientX)+Math.abs(t.clientY-l.clientY)<10&&(Ma(l),!r&&+new Date-200=p;p++){var v=Zr(c,p).text,y=za(v,s,o);s==d?i.push(new fe(Bo(p,y),Bo(p,y))):v.length>y&&i.push(new fe(Bo(p,y),Bo(p,za(v,d,o))))}i.length||i.push(new fe(n,n)),Te(c,he(h.ranges.slice(0,f).concat(i),f),{origin:"*mouse",scroll:!1}),e.scrollIntoView(t)}else{var x=u,b=x.anchor,w=t;if("single"!=r){if("double"==r)var k=e.findWordAt(t);else var k=new fe(Bo(t.line,0),me(c,Bo(t.line+1,0)));_o(k.anchor,b)>0?(w=k.head,b=K(x.from(),k.anchor)):(w=k.anchor,b=V(x.to(),k.head))}var i=h.ranges.slice(0);i[f]=new fe(me(c,b),w),Te(c,he(i,f),Ba)}}function a(t){var n=++y,i=Yt(e,t,!0,"rect"==r);if(i)if(0!=_o(i,g)){e.curOp.focus=Gi(),o(i);var l=b(s,c);(i.line>=l.to||i.linev.bottom?20:0;u&&setTimeout(Et(e,function(){y==n&&(s.scroller.scrollTop+=u,a(t))}),50)}}function l(t){e.state.selectingText=!1,y=1/0,Ma(t),s.input.focus(),Ia(document,"mousemove",x),Ia(document,"mouseup",w),c.history.lastSelOrigin=null}var s=e.display,c=e.doc;Ma(t);var u,f,h=c.sel,d=h.ranges;if(i&&!t.shiftKey?(f=c.sel.contains(n),u=f>-1?d[f]:new fe(n,n)):(u=c.sel.primary(),f=c.sel.primIndex),Oo?t.shiftKey&&t.metaKey:t.altKey)r="rect",i||(u=new fe(n,n)),n=Yt(e,t,!0,!0),f=-1;else if("double"==r){var p=e.findWordAt(n);u=e.display.shift||c.extend?xe(c,u,p.anchor,p.head):p}else if("triple"==r){var m=new fe(Bo(n.line,0),me(c,Bo(n.line+1,0)));u=e.display.shift||c.extend?xe(c,u,m.anchor,m.head):m}else u=xe(c,u,n);i?-1==f?(f=d.length,Te(c,he(d.concat([u]),f),{scroll:!1,origin:"*mouse"})):d.length>1&&d[f].empty()&&"single"==r&&!t.shiftKey?(Te(c,he(d.slice(0,f).concat(d.slice(f+1)),0),{scroll:!1,origin:"*mouse"}),h=c.sel):ke(c,f,u,Ba):(f=0,Te(c,new ue([u],0),Ba),h=c.sel);var g=n,v=s.wrapper.getBoundingClientRect(),y=0,x=Et(e,function(e){ki(e)?a(e):l(e)}),w=Et(e,l);e.state.selectingText=w,Ea(document,"mousemove",x),Ea(document,"mouseup",w)}function Zt(e,t,n,r){try{var i=t.clientX,o=t.clientY}catch(t){return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&Ma(t);var a=e.display,l=a.lineDiv.getBoundingClientRect();if(o>l.bottom||!Ni(e,n))return bi(t);o-=l.top-a.viewOffset;for(var s=0;s=i){var u=ni(e.doc,o),f=e.options.gutters[s];return Pa(e,n,e,u,f,t),bi(t)}}}function Jt(e,t){return Zt(e,t,"gutterClick",!0)}function Qt(e){var t=this;if(nn(t),!Ti(t,e)&&!Gt(t.display,e)){Ma(e),xo&&($o=+new Date);var n=Yt(t,e,!0),r=e.dataTransfer.files;if(n&&!t.isReadOnly())if(r&&r.length&&window.FileReader&&window.File)for(var i=r.length,o=Array(i),a=0,l=function(e,r){if(!t.options.allowDropFileTypes||-1!=Pi(t.options.allowDropFileTypes,e.type)){var l=new FileReader;l.onload=Et(t,function(){var e=l.result;if(/[\x00-\x08\x0e-\x1f]{2}/.test(e)&&(e=""),o[r]=e,++a==i){n=me(t.doc,n);var s={from:n,to:n,text:t.doc.splitLines(o.join(t.doc.lineSeparator())),origin:"paste"};Tn(t.doc,s),Le(t.doc,de(n,Qo(s)))}}),l.readAsText(e)}},s=0;i>s;++s)l(r[s],s);else{if(t.state.draggingText&&t.doc.sel.contains(n)>-1)return t.state.draggingText(e),void setTimeout(function(){t.display.input.focus()},20);try{var o=e.dataTransfer.getData("Text");if(o){if(t.state.draggingText&&!(Eo?e.altKey:e.ctrlKey))var c=t.listSelections();if(Me(t.doc,de(n,n)),c)for(var s=0;sa.clientWidth,s=a.scrollHeight>a.clientHeight;if(r&&l||i&&s){if(i&&Eo&&wo)e:for(var c=t.target,u=o.view;c!=a;c=c.parentNode)for(var f=0;fh?d=Math.max(0,d+h-50):p=Math.min(e.doc.height,p+h+50),A(e,{top:d,bottom:p})}20>Vo&&(null==o.wheelStartX?(o.wheelStartX=a.scrollLeft,o.wheelStartY=a.scrollTop,o.wheelDX=r,o.wheelDY=i,setTimeout(function(){if(null!=o.wheelStartX){var e=a.scrollLeft-o.wheelStartX,t=a.scrollTop-o.wheelStartY,n=t&&o.wheelDY&&t/o.wheelDY||e&&o.wheelDX&&e/o.wheelDX;o.wheelStartX=o.wheelStartY=null,n&&(Ko=(Ko*Vo+n)/(Vo+1),++Vo)}},200)):(o.wheelDX+=r,o.wheelDY+=i))}}function ln(e,t,n){if("string"==typeof t&&(t=ua[t],!t))return!1;e.display.input.ensurePolled();var r=e.display.shift,i=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),n&&(e.display.shift=!1),i=t(e)!=Ha}finally{e.display.shift=r,e.state.suppressEdits=!1}return i}function sn(e,t,n){for(var r=0;rbo&&27==e.keyCode&&(e.returnValue=!1);var n=e.keyCode;t.display.shift=16==n||e.shiftKey;var r=un(t,e);Co&&(Jo=r?n:null,!r&&88==n&&!rl&&(Eo?e.metaKey:e.ctrlKey)&&t.replaceSelection("",null,"cut")),18!=n||/\bCodeMirror-crosshair\b/.test(t.display.lineDiv.className)||dn(t)}}function dn(e){function t(e){18!=e.keyCode&&e.altKey||(Za(n,"CodeMirror-crosshair"),Ia(document,"keyup",t),Ia(document,"mouseover",t))}var n=e.display.lineDiv;Ja(n,"CodeMirror-crosshair"),Ea(document,"keyup",t),Ea(document,"mouseover",t)}function pn(e){16==e.keyCode&&(this.doc.sel.shift=!1),Ti(this,e)}function mn(e){var t=this;if(!(Gt(t.display,e)||Ti(t,e)||e.ctrlKey&&!e.altKey||Eo&&e.metaKey)){var n=e.keyCode,r=e.charCode;if(Co&&n==Jo)return Jo=null,void Ma(e);if(!Co||e.which&&!(e.which<10)||!un(t,e)){var i=String.fromCharCode(null==r?n:r);fn(t,e,i)||t.display.input.onKeyPress(e)}}}function gn(e){e.state.delayingBlurEvent=!0,setTimeout(function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,yn(e))},100)}function vn(e){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1),"nocursor"!=e.options.readOnly&&(e.state.focused||(Pa(e,"focus",e),e.state.focused=!0,Ja(e.display.wrapper,"CodeMirror-focused"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),wo&&setTimeout(function(){e.display.input.reset(!0)},20)),e.display.input.receivedFocus()),Be(e))}function yn(e){e.state.delayingBlurEvent||(e.state.focused&&(Pa(e,"blur",e),e.state.focused=!1,Za(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout(function(){e.state.focused||(e.display.shift=!1)},150))}function xn(e,t){Gt(e.display,t)||bn(e,t)||Ti(e,t,"contextmenu")||e.display.input.onContextMenu(t)}function bn(e,t){return Ni(e,"gutterContextMenu")?Zt(e,t,"gutterContextMenu",!1):!1}function wn(e,t){if(_o(e,t.from)<0)return e;if(_o(e,t.to)<=0)return Qo(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=Qo(t).ch-t.to.ch),Bo(n,r)}function kn(e,t){for(var n=[],r=0;r=0;--i)Mn(e,{from:r[i].from,to:r[i].to,text:i?[""]:t.text});else Mn(e,t)}}function Mn(e,t){if(1!=t.text.length||""!=t.text[0]||0!=_o(t.from,t.to)){var n=kn(e,t);ci(e,t,n,e.cm?e.cm.curOp.id:NaN),En(e,t,n,or(e,t));var r=[];Kr(e,function(e,n){n||-1!=Pi(r,e.history)||(xi(e.history,t),r.push(e.history)),En(e,t,null,or(e,t))})}}function Nn(e,t,n){if(!e.cm||!e.cm.state.suppressEdits){for(var r,i=e.history,o=e.sel,a="undo"==t?i.done:i.undone,l="undo"==t?i.undone:i.done,s=0;s=0;--s){var f=r.changes[s];if(f.origin=t,u&&!Ln(e,f,!1))return void(a.length=0);c.push(ai(e,f));var h=s?kn(e,f):Ii(a);En(e,f,h,lr(e,f)),!s&&e.cm&&e.cm.scrollIntoView({from:f.from,to:Qo(f)});var d=[];Kr(e,function(e,t){t||-1!=Pi(d,e.history)||(xi(e.history,f),d.push(e.history)),En(e,f,null,lr(e,f))})}}}}function An(e,t){if(0!=t&&(e.first+=t,e.sel=new ue(Ri(e.sel.ranges,function(e){return new fe(Bo(e.anchor.line+t,e.anchor.ch),Bo(e.head.line+t,e.head.ch))}),e.sel.primIndex),e.cm)){Dt(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,r=n.viewFrom;re.lastLine())){if(t.from.lineo&&(t={from:t.from,to:Bo(o,Zr(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=Jr(e,t.from,t.to),n||(n=kn(e,t)),e.cm?On(e.cm,t,r):Yr(e,t,r),Me(e,n,Wa)}}function On(e,t,n){var r=e.doc,i=e.display,a=t.from,l=t.to,s=!1,c=a.line;e.options.lineWrapping||(c=ti(yr(Zr(r,a.line))),r.iter(c,l.line+1,function(e){return e==i.maxLine?(s=!0,!0):void 0})),r.sel.contains(t.from,t.to)>-1&&Mi(e),Yr(r,t,n,o(e)),e.options.lineWrapping||(r.iter(c,a.line+t.text.length,function(e){var t=f(e);t>i.maxLineLength&&(i.maxLine=e,i.maxLineLength=t,i.maxLineChanged=!0,s=!1)}),s&&(e.curOp.updateMaxLine=!0)),r.frontier=Math.min(r.frontier,a.line),_e(e,400);var u=t.text.length-(l.line-a.line)-1;t.full?Dt(e):a.line!=l.line||1!=t.text.length||Gr(e.doc,t)?Dt(e,a.line,l.line+1,u):Ht(e,a.line,"text");var h=Ni(e,"changes"),d=Ni(e,"change");if(d||h){var p={from:a,to:l,text:t.text,removed:t.removed,origin:t.origin};d&&Ci(e,"change",e,p),h&&(e.curOp.changeObjs||(e.curOp.changeObjs=[])).push(p)}e.display.selForContextMenu=null}function In(e,t,n,r,i){if(r||(r=n),_o(r,n)<0){var o=r;r=n,n=o}"string"==typeof t&&(t=e.splitLines(t)),Tn(e,{from:n,to:r,text:t,origin:i})}function Pn(e,t){if(!Ti(e,"scrollCursorIntoView")){var n=e.display,r=n.sizer.getBoundingClientRect(),i=null;if(t.top+r.top<0?i=!0:t.bottom+r.top>(window.innerHeight||document.documentElement.clientHeight)&&(i=!1),null!=i&&!Mo){var o=ji("div","​",null,"position: absolute; top: "+(t.top-n.viewOffset-Ue(e.display))+"px; height: "+(t.bottom-t.top+Ye(e)+n.barHeight)+"px; left: "+t.left+"px; width: 2px;");e.display.lineSpace.appendChild(o),o.scrollIntoView(i),e.display.lineSpace.removeChild(o)}}}function Rn(e,t,n,r){null==r&&(r=0);for(var i=0;5>i;i++){var o=!1,a=dt(e,t),l=n&&n!=t?dt(e,n):a,s=Hn(e,Math.min(a.left,l.left),Math.min(a.top,l.top)-r,Math.max(a.left,l.left),Math.max(a.bottom,l.bottom)+r),c=e.doc.scrollTop,u=e.doc.scrollLeft;if(null!=s.scrollTop&&(rn(e,s.scrollTop),Math.abs(e.doc.scrollTop-c)>1&&(o=!0)),null!=s.scrollLeft&&(on(e,s.scrollLeft),Math.abs(e.doc.scrollLeft-u)>1&&(o=!0)),!o)break}return a}function Dn(e,t,n,r,i){var o=Hn(e,t,n,r,i);null!=o.scrollTop&&rn(e,o.scrollTop),null!=o.scrollLeft&&on(e,o.scrollLeft)}function Hn(e,t,n,r,i){var o=e.display,a=yt(e.display);0>n&&(n=0);var l=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:o.scroller.scrollTop,s=Ve(e),c={};i-n>s&&(i=n+s);var u=e.doc.height+qe(o),f=a>n,h=i>u-a;if(l>n)c.scrollTop=f?0:n;else if(i>l+s){var d=Math.min(n,(h?u:i)-s);d!=l&&(c.scrollTop=d)}var p=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:o.scroller.scrollLeft,m=$e(e)-(e.options.fixedGutter?o.gutters.offsetWidth:0),g=r-t>m;return g&&(r=t+m),10>t?c.scrollLeft=0:p>t?c.scrollLeft=Math.max(0,t-(g?0:10)):r>m+p-3&&(c.scrollLeft=r+(g?0:10)-m),c}function Wn(e,t,n){null==t&&null==n||_n(e),null!=t&&(e.curOp.scrollLeft=(null==e.curOp.scrollLeft?e.doc.scrollLeft:e.curOp.scrollLeft)+t),null!=n&&(e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+n)}function Bn(e){_n(e);var t=e.getCursor(),n=t,r=t;e.options.lineWrapping||(n=t.ch?Bo(t.line,t.ch-1):t,r=Bo(t.line,t.ch+1)),e.curOp.scrollToPos={from:n,to:r,margin:e.options.cursorScrollMargin,isCursor:!0}}function _n(e){var t=e.curOp.scrollToPos;if(t){e.curOp.scrollToPos=null;var n=pt(e,t.from),r=pt(e,t.to),i=Hn(e,Math.min(n.left,r.left),Math.min(n.top,r.top)-t.margin,Math.max(n.right,r.right),Math.max(n.bottom,r.bottom)+t.margin);e.scrollTo(i.scrollLeft,i.scrollTop)}}function Fn(e,t,n,r){var i,o=e.doc;null==n&&(n="add"),"smart"==n&&(o.mode.indent?i=je(e,t):n="prev");var a=e.options.tabSize,l=Zr(o,t),s=Fa(l.text,null,a);l.stateAfter&&(l.stateAfter=null);var c,u=l.text.match(/^\s*/)[0];if(r||/\S/.test(l.text)){if("smart"==n&&(c=o.mode.indent(i,l.text.slice(u.length),l.text),c==Ha||c>150)){if(!r)return;n="prev"}}else c=0,n="not";"prev"==n?c=t>o.first?Fa(Zr(o,t-1).text,null,a):0:"add"==n?c=s+e.options.indentUnit:"subtract"==n?c=s-e.options.indentUnit:"number"==typeof n&&(c=s+n),c=Math.max(0,c);var f="",h=0;if(e.options.indentWithTabs)for(var d=Math.floor(c/a);d;--d)h+=a,f+=" ";if(c>h&&(f+=Oi(c-h)),f!=u)return In(o,f,Bo(t,0),Bo(t,u.length),"+input"),l.stateAfter=null,!0;for(var d=0;d=0;t--)In(e.doc,"",r[t].from,r[t].to,"+delete");Bn(e)})}function Un(e,t,n,r,i){function o(){var t=l+n;return t=e.first+e.size?!1:(l=t,u=Zr(e,t))}function a(e){var t=(i?fo:ho)(u,s,n,!0);if(null==t){if(e||!o())return!1;s=i?(0>n?io:ro)(u):0>n?u.text.length:0}else s=t;return!0}var l=t.line,s=t.ch,c=n,u=Zr(e,l);if("char"==r)a();else if("column"==r)a(!0);else if("word"==r||"group"==r)for(var f=null,h="group"==r,d=e.cm&&e.cm.getHelper(t,"wordChars"),p=!0;!(0>n)||a(!p);p=!1){var m=u.text.charAt(s)||"\n",g=_i(m,d)?"w":h&&"\n"==m?"n":!h||/\s/.test(m)?null:"p";if(!h||p||g||(g="s"),f&&f!=g){0>n&&(n=1,a());break}if(g&&(f=g),n>0&&!a(!p))break}var v=Ie(e,Bo(l,s),t,c,!0);return _o(t,v)||(v.hitSide=!0),v}function qn(e,t,n,r){var i,o=e.doc,a=t.left;if("page"==r){var l=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight);i=t.top+n*(l-(0>n?1.5:.5)*yt(e.display))}else"line"==r&&(i=n>0?t.bottom+3:t.top-3);for(;;){var s=gt(e,a,i);if(!s.outside)break;if(0>n?0>=i:i>=o.height){s.hitSide=!0;break}i+=5*n}return s}function Gn(t,n,r,i){e.defaults[t]=n,r&&(ta[t]=i?function(e,t,n){n!=na&&r(e,t,n)}:r)}function Yn(e){for(var t,n,r,i,o=e.split(/-(?!$)/),e=o[o.length-1],a=0;a0||0==a&&o.clearWhenEmpty!==!1)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=ji("span",[o.replacedWith],"CodeMirror-widget"),r.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),r.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(vr(e,t.line,t,n,o)||t.line!=n.line&&vr(e,n.line,t,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");Wo=!0}o.addToHistory&&ci(e,{from:t,to:n,origin:"markText"},e.sel,NaN);var l,s=t.line,c=e.cm;if(e.iter(s,n.line+1,function(e){c&&o.collapsed&&!c.options.lineWrapping&&yr(e)==c.display.maxLine&&(l=!0),o.collapsed&&s!=t.line&&ei(e,0),nr(e,new Qn(o,s==t.line?t.ch:null,s==n.line?n.ch:null)),++s}),o.collapsed&&e.iter(t.line,n.line+1,function(t){kr(e,t)&&ei(t,0)}),o.clearOnEnter&&Ea(o,"beforeCursorEnter",function(){o.clear()}),o.readOnly&&(Ho=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++ga,o.atomic=!0),c){if(l&&(c.curOp.updateMaxLine=!0),o.collapsed)Dt(c,t.line,n.line+1);else if(o.className||o.title||o.startStyle||o.endStyle||o.css)for(var u=t.line;u<=n.line;u++)Ht(c,u,"text");o.atomic&&Ae(c.doc),Ci(c,"markerAdded",c,o)}return o}function Kn(e,t,n,r,i){r=Wi(r),r.shared=!1;var o=[Vn(e,t,n,r,i)],a=o[0],l=r.widgetNode;return Kr(e,function(e){l&&(r.widgetNode=l.cloneNode(!0)),o.push(Vn(e,me(e,t),me(e,n),r,i));for(var s=0;s=t:o.to>t);(r||(r=[])).push(new Qn(a,o.from,s?null:o.to))}}return r}function ir(e,t,n){if(e)for(var r,i=0;i=t:o.to>t);if(l||o.from==t&&"bookmark"==a.type&&(!n||o.marker.insertLeft)){var s=null==o.from||(a.inclusiveLeft?o.from<=t:o.from0&&l)for(var f=0;ff;++f)p.push(m);p.push(s)}return p}function ar(e){for(var t=0;t0)){var u=[s,1],f=_o(c.from,l.from),h=_o(c.to,l.to);(0>f||!a.inclusiveLeft&&!f)&&u.push({from:c.from,to:l.from}),(h>0||!a.inclusiveRight&&!h)&&u.push({from:l.to,to:c.to}),i.splice.apply(i,u),s+=u.length-1}}return i}function cr(e){var t=e.markedSpans;if(t){for(var n=0;n=0&&0>=f||0>=u&&f>=0)&&(0>=u&&(s.marker.inclusiveRight&&i.inclusiveLeft?_o(c.to,n)>=0:_o(c.to,n)>0)||u>=0&&(s.marker.inclusiveRight&&i.inclusiveLeft?_o(c.from,r)<=0:_o(c.from,r)<0)))return!0}}}function yr(e){for(var t;t=mr(e);)e=t.find(-1,!0).line;return e}function xr(e){for(var t,n;t=gr(e);)e=t.find(1,!0).line,(n||(n=[])).push(e);return n}function br(e,t){var n=Zr(e,t),r=yr(n);return n==r?t:ti(r)}function wr(e,t){if(t>e.lastLine())return t;var n,r=Zr(e,t);if(!kr(e,r))return t;for(;n=gr(r);)r=n.find(1,!0).line;return ti(r)+1}function kr(e,t){var n=Wo&&t.markedSpans;if(n)for(var r,i=0;io;o++){i&&(i[0]=e.innerMode(t,r).mode);var a=t.token(n,r);if(n.pos>n.start)return a}throw new Error("Mode "+t.name+" failed to advance stream.")}function Ir(e,t,n,r){function i(e){return{start:f.start,end:f.pos,string:f.current(),type:o||null,state:e?sa(a.mode,u):u}}var o,a=e.doc,l=a.mode;t=me(a,t);var s,c=Zr(a,t.line),u=je(e,t.line,n),f=new ma(c.text,e.options.tabSize);for(r&&(s=[]);(r||f.pose.options.maxHighlightLength?(l=!1,a&&Hr(e,t,r,f.pos),f.pos=t.length,s=null):s=Ar(Or(n,f,r,h),o),h){var d=h[0].name;d&&(s="m-"+(s?d+" "+s:d))}if(!l||u!=s){for(;cc;){var r=i[s];r>e&&i.splice(s,1,e,i[s+1],r),s+=2,c=Math.min(e,r)}if(t)if(l.opaque)i.splice(n,s-n,e,"cm-overlay "+t),s=n+2;else for(;s>n;n+=2){var o=i[n+1];i[n+1]=(o?o+" ":"")+"cm-overlay "+t}},o)}return{styles:i,classes:o.bgClass||o.textClass?o:null}}function Dr(e,t,n){if(!t.styles||t.styles[0]!=e.state.modeGen){var r=je(e,ti(t)),i=Rr(e,t,t.text.length>e.options.maxHighlightLength?sa(e.doc.mode,r):r);t.stateAfter=r,t.styles=i.styles,i.classes?t.styleClasses=i.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.frontier&&e.doc.frontier++}return t.styles}function Hr(e,t,n,r){var i=e.doc.mode,o=new ma(t,e.options.tabSize);for(o.start=o.pos=r||0,""==t&&Er(i,n);!o.eol();)Or(i,o,n),o.start=o.pos}function Wr(e,t){if(!e||/^\s*$/.test(e))return null;var n=t.addModeClass?ka:wa;return n[e]||(n[e]=e.replace(/\S+/g,"cm-$&"))}function Br(e,t){var n=ji("span",null,null,wo?"padding-right: .1px":null),r={pre:ji("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:e,splitSpaces:(xo||wo)&&e.getOption("lineWrapping")};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var o,a=i?t.rest[i-1]:t.line;r.pos=0,r.addToken=Fr,Ji(e.display.measure)&&(o=ii(a))&&(r.addToken=jr(r.addToken,o)),r.map=[];var l=t!=e.display.externalMeasured&&ti(a);qr(a,r,Dr(e,a,l)),a.styleClasses&&(a.styleClasses.bgClass&&(r.bgClass=$i(a.styleClasses.bgClass,r.bgClass||"")),a.styleClasses.textClass&&(r.textClass=$i(a.styleClasses.textClass,r.textClass||""))),0==r.map.length&&r.map.push(0,0,r.content.appendChild(Zi(e.display.measure))),0==i?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(wo){var s=r.content.lastChild;(/\bcm-tab\b/.test(s.className)||s.querySelector&&s.querySelector(".cm-tab"))&&(r.content.className="cm-tab-wrap-hack")}return Pa(e,"renderLine",e,t.line,r.pre),r.pre.className&&(r.textClass=$i(r.pre.className,r.textClass||"")),r}function _r(e){var t=ji("span","•","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function Fr(e,t,n,r,i,o,a){if(t){var l=e.splitSpaces?t.replace(/ {3,}/g,zr):t,s=e.cm.state.specialChars,c=!1;if(s.test(t))for(var u=document.createDocumentFragment(),f=0;;){s.lastIndex=f;var h=s.exec(t),d=h?h.index-f:t.length-f;if(d){var p=document.createTextNode(l.slice(f,f+d));xo&&9>bo?u.appendChild(ji("span",[p])):u.appendChild(p),e.map.push(e.pos,e.pos+d,p),e.col+=d,e.pos+=d}if(!h)break;if(f+=d+1," "==h[0]){var m=e.cm.options.tabSize,g=m-e.col%m,p=u.appendChild(ji("span",Oi(g),"cm-tab"));p.setAttribute("role","presentation"),p.setAttribute("cm-text"," "),e.col+=g}else if("\r"==h[0]||"\n"==h[0]){var p=u.appendChild(ji("span","\r"==h[0]?"␍":"␤","cm-invalidchar"));p.setAttribute("cm-text",h[0]),e.col+=1}else{var p=e.cm.options.specialCharPlaceholder(h[0]);p.setAttribute("cm-text",h[0]),xo&&9>bo?u.appendChild(ji("span",[p])):u.appendChild(p),e.col+=1}e.map.push(e.pos,e.pos+1,p),e.pos++}else{e.col+=t.length;var u=document.createTextNode(l);e.map.push(e.pos,e.pos+t.length,u),xo&&9>bo&&(c=!0),e.pos+=t.length}if(n||r||i||c||a){var v=n||"";r&&(v+=r),i&&(v+=i);var y=ji("span",[u],v,a);return o&&(y.title=o),e.content.appendChild(y)}e.content.appendChild(u)}}function zr(e){for(var t=" ",n=0;nc&&h.from<=c)break}if(h.to>=u)return e(n,r,i,o,a,l,s);e(n,r.slice(0,h.to-c),i,o,null,l,s),o=null,r=r.slice(h.to-c),c=h.to}}}function Ur(e,t,n,r){var i=!r&&n.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!r&&e.cm.display.input.needsContentAttribute&&(i||(i=e.content.appendChild(document.createElement("span"))),i.setAttribute("cm-marker",n.id)),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t}function qr(e,t,n){var r=e.markedSpans,i=e.text,o=0;if(r)for(var a,l,s,c,u,f,h,d=i.length,p=0,m=1,g="",v=0;;){if(v==p){s=c=u=f=l="",h=null,v=1/0;for(var y,x=[],b=0;bp||k.collapsed&&w.to==p&&w.from==p)?(null!=w.to&&w.to!=p&&v>w.to&&(v=w.to,c=""),k.className&&(s+=" "+k.className),k.css&&(l=(l?l+";":"")+k.css),k.startStyle&&w.from==p&&(u+=" "+k.startStyle),k.endStyle&&w.to==v&&(y||(y=[])).push(k.endStyle,w.to),k.title&&!f&&(f=k.title),k.collapsed&&(!h||dr(h.marker,k)<0)&&(h=w)):w.from>p&&v>w.from&&(v=w.from)}if(y)for(var b=0;b=d)break;for(var S=Math.min(d,v);;){if(g){var C=p+g.length;if(!h){var L=C>S?g.slice(0,S-p):g;t.addToken(t,L,a?a+s:s,u,p+L.length==v?c:"",f,l)}if(C>=S){g=g.slice(S-p),p=S;break}p=C,u=""}g=i.slice(o,o=n[m++]),a=Wr(n[m++],t.cm.options)}}else for(var m=1;mn;++n)o.push(new ba(c[n],i(n),r));return o}var l=t.from,s=t.to,c=t.text,u=Zr(e,l.line),f=Zr(e,s.line),h=Ii(c),d=i(c.length-1),p=s.line-l.line;if(t.full)e.insert(0,a(0,c.length)),e.remove(c.length,e.size-c.length);else if(Gr(e,t)){var m=a(0,c.length-1);o(f,f.text,d),p&&e.remove(l.line,p),m.length&&e.insert(l.line,m)}else if(u==f)if(1==c.length)o(u,u.text.slice(0,l.ch)+h+u.text.slice(s.ch),d);else{var m=a(1,c.length-1);m.push(new ba(h+u.text.slice(s.ch),d,r)),o(u,u.text.slice(0,l.ch)+c[0],i(0)),e.insert(l.line+1,m)}else if(1==c.length)o(u,u.text.slice(0,l.ch)+c[0]+f.text.slice(s.ch),i(0)),e.remove(l.line+1,p);else{o(u,u.text.slice(0,l.ch)+c[0],i(0)),o(f,h+f.text.slice(s.ch),d);var m=a(1,c.length-1);p>1&&e.remove(l.line+1,p-1),e.insert(l.line+1,m)}Ci(e,"change",e,t)}function $r(e){this.lines=e,this.parent=null;for(var t=0,n=0;tt||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(o>t){n=i;break}t-=o}return n.lines[t]}function Jr(e,t,n){var r=[],i=t.line;return e.iter(t.line,n.line+1,function(e){var o=e.text;i==n.line&&(o=o.slice(0,n.ch)),i==t.line&&(o=o.slice(t.ch)),r.push(o),++i}),r}function Qr(e,t,n){var r=[];return e.iter(t,n,function(e){r.push(e.text)}),r}function ei(e,t){var n=t-e.height;if(n)for(var r=e;r;r=r.parent)r.height+=n}function ti(e){if(null==e.parent)return null;for(var t=e.parent,n=Pi(t.lines,e),r=t.parent;r;t=r,r=r.parent)for(var i=0;r.children[i]!=t;++i)n+=r.children[i].chunkSize();return n+t.first}function ni(e,t){var n=e.first;e:do{for(var r=0;rt){e=i;continue e}t-=o,n+=i.chunkSize()}return n}while(!e.lines);for(var r=0;rt)break;t-=l}return n+r}function ri(e){e=yr(e);for(var t=0,n=e.parent,r=0;r1&&!e.done[e.done.length-2].ranges?(e.done.pop(),Ii(e.done)):void 0}function ci(e,t,n,r){var i=e.history;i.undone.length=0;var o,a=+new Date;if((i.lastOp==r||i.lastOrigin==t.origin&&t.origin&&("+"==t.origin.charAt(0)&&e.cm&&i.lastModTime>a-e.cm.options.historyEventDelay||"*"==t.origin.charAt(0)))&&(o=si(i,i.lastOp==r))){var l=Ii(o.changes);0==_o(t.from,t.to)&&0==_o(t.from,l.to)?l.to=Qo(t):o.changes.push(ai(e,t))}else{var s=Ii(i.done);for(s&&s.ranges||hi(e.sel,i.done),o={changes:[ai(e,t)],generation:i.generation},i.done.push(o);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=a,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=t.origin,l||Pa(e,"historyAdded")}function ui(e,t,n,r){var i=t.charAt(0);return"*"==i||"+"==i&&n.ranges.length==r.ranges.length&&n.somethingSelected()==r.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}function fi(e,t,n,r){var i=e.history,o=r&&r.origin;n==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||ui(e,o,Ii(i.done),t))?i.done[i.done.length-1]=t:hi(t,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=n,r&&r.clearRedo!==!1&&li(i.undone)}function hi(e,t){var n=Ii(t);n&&n.ranges&&n.equals(e)||t.push(e)}function di(e,t,n,r){var i=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,r),function(n){n.markedSpans&&((i||(i=t["spans_"+e.id]={}))[o]=n.markedSpans),++o})}function pi(e){if(!e)return null;for(var t,n=0;n-1&&(Ii(l)[f]=u[f],delete u[f])}}}return i}function vi(e,t,n,r){n0?r.slice():Oa:r||Oa}function Ci(e,t){function n(e){return function(){e.apply(null,o)}}var r=Si(e,t,!1);if(r.length){var i,o=Array.prototype.slice.call(arguments,2);Go?i=Go.delayedCallbacks:Ra?i=Ra:(i=Ra=[],setTimeout(Li,0));for(var a=0;a0}function Ai(e){e.prototype.on=function(e,t){Ea(this,e,t)},e.prototype.off=function(e,t){Ia(this,e,t)}}function Ei(){this.id=null}function Oi(e){for(;ja.length<=e;)ja.push(Ii(ja)+" ");return ja[e]}function Ii(e){return e[e.length-1]}function Pi(e,t){for(var n=0;n-1&&Ya(e)?!0:t.test(e):Ya(e)}function Fi(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}function zi(e){return e.charCodeAt(0)>=768&&$a.test(e)}function ji(e,t,n,r){var i=document.createElement(e);if(n&&(i.className=n),r&&(i.style.cssText=r),"string"==typeof t)i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o0;--t)e.removeChild(e.firstChild);return e}function qi(e,t){return Ui(e).appendChild(t)}function Gi(){for(var e=document.activeElement;e&&e.root&&e.root.activeElement;)e=e.root.activeElement;return e}function Yi(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}function $i(e,t){for(var n=e.split(" "),r=0;r2&&!(xo&&8>bo))}var n=Ka?ji("span","​"):ji("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}function Ji(e){if(null!=Xa)return Xa;var t=qi(e,document.createTextNode("AخA")),n=qa(t,0,1).getBoundingClientRect();if(!n||n.left==n.right)return!1;var r=qa(t,1,2).getBoundingClientRect();return Xa=r.right-n.right<3}function Qi(e){if(null!=il)return il;var t=qi(e,ji("span","x")),n=t.getBoundingClientRect(),r=qa(t,0,1).getBoundingClientRect();return il=Math.abs(n.left-r.left)>1}function eo(e,t,n,r){if(!e)return r(t,n,"ltr");for(var i=!1,o=0;ot||t==n&&a.to==t)&&(r(Math.max(a.from,t),Math.min(a.to,n),1==a.level?"rtl":"ltr"),i=!0)}i||r(t,n,"ltr")}function to(e){return e.level%2?e.to:e.from}function no(e){return e.level%2?e.from:e.to}function ro(e){var t=ii(e);return t?to(t[0]):0}function io(e){var t=ii(e);return t?no(Ii(t)):e.text.length}function oo(e,t){var n=Zr(e.doc,t),r=yr(n);r!=n&&(t=ti(r));var i=ii(r),o=i?i[0].level%2?io(r):ro(r):0;return Bo(t,o)}function ao(e,t){for(var n,r=Zr(e.doc,t);n=gr(r);)r=n.find(1,!0).line,t=null;var i=ii(r),o=i?i[0].level%2?ro(r):io(r):r.text.length;return Bo(null==t?ti(r):t,o)}function lo(e,t){var n=oo(e,t.line),r=Zr(e.doc,n.line),i=ii(r);if(!i||0==i[0].level){var o=Math.max(0,r.text.search(/\S/)),a=t.line==n.line&&t.ch<=o&&t.ch;return Bo(n.line,a?0:o)}return n}function so(e,t,n){var r=e[0].level;return t==r?!0:n==r?!1:n>t}function co(e,t){al=null;for(var n,r=0;rt)return r;if(i.from==t||i.to==t){if(null!=n)return so(e,i.level,e[n].level)?(i.from!=i.to&&(al=n),r):(i.from!=i.to&&(al=r),n);n=r}}return n}function uo(e,t,n,r){if(!r)return t+n;do t+=n;while(t>0&&zi(e.text.charAt(t)));return t}function fo(e,t,n,r){var i=ii(e);if(!i)return ho(e,t,n,r);for(var o=co(i,t),a=i[o],l=uo(e,t,a.level%2?-n:n,r);;){if(l>a.from&&l0==a.level%2?a.to:a.from);if(a=i[o+=n],!a)return null;l=n>0==a.level%2?uo(e,a.to,-1,r):uo(e,a.from,1,r)}}function ho(e,t,n,r){var i=t+n;if(r)for(;i>0&&zi(e.text.charAt(i));)i+=n;return 0>i||i>e.text.length?null:i}var po=navigator.userAgent,mo=navigator.platform,go=/gecko\/\d/i.test(po),vo=/MSIE \d/.test(po),yo=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(po),xo=vo||yo,bo=xo&&(vo?document.documentMode||6:yo[1]),wo=/WebKit\//.test(po),ko=wo&&/Qt\/\d+\.\d+/.test(po),So=/Chrome\//.test(po),Co=/Opera\//.test(po),Lo=/Apple Computer/.test(navigator.vendor),To=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(po),Mo=/PhantomJS/.test(po),No=/AppleWebKit/.test(po)&&/Mobile\/\w+/.test(po),Ao=No||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(po),Eo=No||/Mac/.test(mo),Oo=/\bCrOS\b/.test(po),Io=/win/i.test(mo),Po=Co&&po.match(/Version\/(\d*\.\d*)/);Po&&(Po=Number(Po[1])),Po&&Po>=15&&(Co=!1,wo=!0);var Ro=Eo&&(ko||Co&&(null==Po||12.11>Po)),Do=go||xo&&bo>=9,Ho=!1,Wo=!1;m.prototype=Wi({update:function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,r=e.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=t?r+"px":"0";var i=e.viewHeight-(t?r:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+i)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=n?r+"px":"0",this.horiz.style.left=e.barLeft+"px";var o=e.viewWidth-e.barLeft-(n?r:0);this.horiz.firstChild.style.width=e.scrollWidth-e.clientWidth+o+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(0==r&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?r:0,bottom:t?r:0}},setScrollLeft:function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz)},setScrollTop:function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert)},zeroWidthHack:function(){var e=Eo&&!To?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new Ei,this.disableVert=new Ei},enableZeroWidthBar:function(e,t){function n(){var r=e.getBoundingClientRect(),i=document.elementFromPoint(r.left+1,r.bottom-1);i!=e?e.style.pointerEvents="none":t.set(1e3,n)}e.style.pointerEvents="auto",t.set(1e3,n)},clear:function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)}},m.prototype),g.prototype=Wi({update:function(){return{bottom:0,right:0}},setScrollLeft:function(){},setScrollTop:function(){},clear:function(){}},g.prototype),e.scrollbarModel={"native":m,"null":g},L.prototype.signal=function(e,t){Ni(e,t)&&this.events.push(arguments)},L.prototype.finish=function(){for(var e=0;e=9&&n.hasSelection&&(n.hasSelection=null),n.poll()}),Ea(o,"paste",function(e){Ti(r,e)||J(e,r)||(r.state.pasteIncoming=!0,n.fastPoll())}),Ea(o,"cut",t),Ea(o,"copy",t),Ea(e.scroller,"paste",function(t){Gt(e,t)||Ti(r,t)||(r.state.pasteIncoming=!0,n.focus())}),Ea(e.lineSpace,"selectstart",function(t){Gt(e,t)||Ma(t)}),Ea(o,"compositionstart",function(){var e=r.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:e,range:r.markText(e,r.getCursor("to"),{className:"CodeMirror-composing"})}}),Ea(o,"compositionend",function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)})},prepareSelection:function(){var e=this.cm,t=e.display,n=e.doc,r=De(e);if(e.options.moveInputWithCursor){var i=dt(e,n.sel.primary().head,"div"),o=t.wrapper.getBoundingClientRect(),a=t.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,i.top+a.top-o.top)),r.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,i.left+a.left-o.left))}return r},showSelection:function(e){var t=this.cm,n=t.display;qi(n.cursorDiv,e.cursors),qi(n.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},reset:function(e){if(!this.contextMenuPending){var t,n,r=this.cm,i=r.doc;if(r.somethingSelected()){this.prevInput="";var o=i.sel.primary();t=rl&&(o.to().line-o.from().line>100||(n=r.getSelection()).length>1e3);var a=t?"-":n||r.getSelection();this.textarea.value=a,r.state.focused&&Ua(this.textarea),xo&&bo>=9&&(this.hasSelection=a)}else e||(this.prevInput=this.textarea.value="",xo&&bo>=9&&(this.hasSelection=null));this.inaccurateSelection=t}},getField:function(){return this.textarea},supportsTouch:function(){return!1},focus:function(){if("nocursor"!=this.cm.options.readOnly&&(!Ao||Gi()!=this.textarea))try{this.textarea.focus()}catch(e){}},blur:function(){this.textarea.blur()},resetPosition:function(){this.wrapper.style.top=this.wrapper.style.left=0; -},receivedFocus:function(){this.slowPoll()},slowPoll:function(){var e=this;e.pollingFast||e.polling.set(this.cm.options.pollInterval,function(){e.poll(),e.cm.state.focused&&e.slowPoll()})},fastPoll:function(){function e(){var r=n.poll();r||t?(n.pollingFast=!1,n.slowPoll()):(t=!0,n.polling.set(60,e))}var t=!1,n=this;n.pollingFast=!0,n.polling.set(20,e)},poll:function(){var e=this.cm,t=this.textarea,n=this.prevInput;if(this.contextMenuPending||!e.state.focused||nl(t)&&!n&&!this.composing||e.isReadOnly()||e.options.disableInput||e.state.keySeq)return!1;var r=t.value;if(r==n&&!e.somethingSelected())return!1;if(xo&&bo>=9&&this.hasSelection===r||Eo&&/[\uf700-\uf7ff]/.test(r))return e.display.input.reset(),!1;if(e.doc.sel==e.display.selForContextMenu){var i=r.charCodeAt(0);if(8203!=i||n||(n="​"),8666==i)return this.reset(),this.cm.execCommand("undo")}for(var o=0,a=Math.min(n.length,r.length);a>o&&n.charCodeAt(o)==r.charCodeAt(o);)++o;var l=this;return At(e,function(){Z(e,r.slice(o),n.length-o,null,l.composing?"*compose":null),r.length>1e3||r.indexOf("\n")>-1?t.value=l.prevInput="":l.prevInput=r,l.composing&&(l.composing.range.clear(),l.composing.range=e.markText(l.composing.start,e.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},ensurePolled:function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},onKeyPress:function(){xo&&bo>=9&&(this.hasSelection=null),this.fastPoll()},onContextMenu:function(e){function t(){if(null!=a.selectionStart){var e=i.somethingSelected(),t="​"+(e?a.value:"");a.value="⇚",a.value=t,r.prevInput=e?"":"​",a.selectionStart=1,a.selectionEnd=t.length,o.selForContextMenu=i.doc.sel}}function n(){if(r.contextMenuPending=!1,r.wrapper.style.cssText=f,a.style.cssText=u,xo&&9>bo&&o.scrollbars.setScrollTop(o.scroller.scrollTop=s),null!=a.selectionStart){(!xo||xo&&9>bo)&&t();var e=0,n=function(){o.selForContextMenu==i.doc.sel&&0==a.selectionStart&&a.selectionEnd>0&&"​"==r.prevInput?Et(i,ua.selectAll)(i):e++<10?o.detectingSelectAll=setTimeout(n,500):o.input.reset()};o.detectingSelectAll=setTimeout(n,200)}}var r=this,i=r.cm,o=i.display,a=r.textarea,l=Yt(i,e),s=o.scroller.scrollTop;if(l&&!Co){var c=i.options.resetSelectionOnContextMenu;c&&-1==i.doc.sel.contains(l)&&Et(i,Te)(i.doc,de(l),Wa);var u=a.style.cssText,f=r.wrapper.style.cssText;r.wrapper.style.cssText="position: absolute";var h=r.wrapper.getBoundingClientRect();if(a.style.cssText="position: absolute; width: 30px; height: 30px; top: "+(e.clientY-h.top-5)+"px; left: "+(e.clientX-h.left-5)+"px; z-index: 1000; background: "+(xo?"rgba(255, 255, 255, .05)":"transparent")+"; outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",wo)var d=window.scrollY;if(o.input.focus(),wo&&window.scrollTo(null,d),o.input.reset(),i.somethingSelected()||(a.value=r.prevInput=" "),r.contextMenuPending=!0,o.selForContextMenu=i.doc.sel,clearTimeout(o.detectingSelectAll),xo&&bo>=9&&t(),Do){Aa(e);var p=function(){Ia(window,"mouseup",p),setTimeout(n,20)};Ea(window,"mouseup",p)}else setTimeout(n,50)}},readOnlyChanged:function(e){e||this.reset()},setUneditable:Di,needsContentAttribute:!1},ne.prototype),ie.prototype=Wi({init:function(e){function t(e){if(!Ti(r,e)){if(r.somethingSelected())Fo={lineWise:!1,text:r.getSelections()},"cut"==e.type&&r.replaceSelection("",null,"cut");else{if(!r.options.lineWiseCopyCut)return;var t=ee(r);Fo={lineWise:!0,text:t.text},"cut"==e.type&&r.operation(function(){r.setSelections(t.ranges,0,Wa),r.replaceSelection("",null,"cut")})}if(e.clipboardData&&!No)e.preventDefault(),e.clipboardData.clearData(),e.clipboardData.setData("text/plain",Fo.text.join("\n"));else{var n=re(),i=n.firstChild;r.display.lineSpace.insertBefore(n,r.display.lineSpace.firstChild),i.value=Fo.text.join("\n");var o=document.activeElement;Ua(i),setTimeout(function(){r.display.lineSpace.removeChild(n),o.focus()},50)}}}var n=this,r=n.cm,i=n.div=e.lineDiv;te(i),Ea(i,"paste",function(e){Ti(r,e)||J(e,r)}),Ea(i,"compositionstart",function(e){var t=e.data;if(n.composing={sel:r.doc.sel,data:t,startData:t},t){var i=r.doc.sel.primary(),o=r.getLine(i.head.line),a=o.indexOf(t,Math.max(0,i.head.ch-t.length));a>-1&&a<=i.head.ch&&(n.composing.sel=de(Bo(i.head.line,a),Bo(i.head.line,a+t.length)))}}),Ea(i,"compositionupdate",function(e){n.composing.data=e.data}),Ea(i,"compositionend",function(e){var t=n.composing;t&&(e.data==t.startData||/\u200b/.test(e.data)||(t.data=e.data),setTimeout(function(){t.handled||n.applyComposition(t),n.composing==t&&(n.composing=null)},50))}),Ea(i,"touchstart",function(){n.forceCompositionEnd()}),Ea(i,"input",function(){n.composing||!r.isReadOnly()&&n.pollContent()||At(n.cm,function(){Dt(r)})}),Ea(i,"copy",t),Ea(i,"cut",t)},prepareSelection:function(){var e=De(this.cm,!1);return e.focus=this.cm.state.focused,e},showSelection:function(e,t){e&&this.cm.display.view.length&&((e.focus||t)&&this.showPrimarySelection(),this.showMultipleSelections(e))},showPrimarySelection:function(){var e=window.getSelection(),t=this.cm.doc.sel.primary(),n=le(this.cm,e.anchorNode,e.anchorOffset),r=le(this.cm,e.focusNode,e.focusOffset);if(!n||n.bad||!r||r.bad||0!=_o(K(n,r),t.from())||0!=_o(V(n,r),t.to())){var i=oe(this.cm,t.from()),o=oe(this.cm,t.to());if(i||o){var a=this.cm.display.view,l=e.rangeCount&&e.getRangeAt(0);if(i){if(!o){var s=a[a.length-1].measure,c=s.maps?s.maps[s.maps.length-1]:s.map;o={node:c[c.length-1],offset:c[c.length-2]-c[c.length-3]}}}else i={node:a[0].measure.map[2],offset:0};try{var u=qa(i.node,i.offset,o.offset,o.node)}catch(f){}u&&(!go&&this.cm.state.focused?(e.collapse(i.node,i.offset),u.collapsed||e.addRange(u)):(e.removeAllRanges(),e.addRange(u)),l&&null==e.anchorNode?e.addRange(l):go&&this.startGracePeriod()),this.rememberSelection()}}},startGracePeriod:function(){var e=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout(function(){e.gracePeriod=!1,e.selectionChanged()&&e.cm.operation(function(){e.cm.curOp.selectionChanged=!0})},20)},showMultipleSelections:function(e){qi(this.cm.display.cursorDiv,e.cursors),qi(this.cm.display.selectionDiv,e.selection)},rememberSelection:function(){var e=window.getSelection();this.lastAnchorNode=e.anchorNode,this.lastAnchorOffset=e.anchorOffset,this.lastFocusNode=e.focusNode,this.lastFocusOffset=e.focusOffset},selectionInEditor:function(){var e=window.getSelection();if(!e.rangeCount)return!1;var t=e.getRangeAt(0).commonAncestorContainer;return Va(this.div,t)},focus:function(){"nocursor"!=this.cm.options.readOnly&&this.div.focus()},blur:function(){this.div.blur()},getField:function(){return this.div},supportsTouch:function(){return!0},receivedFocus:function(){function e(){t.cm.state.focused&&(t.pollSelection(),t.polling.set(t.cm.options.pollInterval,e))}var t=this;this.selectionInEditor()?this.pollSelection():At(this.cm,function(){t.cm.curOp.selectionChanged=!0}),this.polling.set(this.cm.options.pollInterval,e)},selectionChanged:function(){var e=window.getSelection();return e.anchorNode!=this.lastAnchorNode||e.anchorOffset!=this.lastAnchorOffset||e.focusNode!=this.lastFocusNode||e.focusOffset!=this.lastFocusOffset},pollSelection:function(){if(!this.composing&&!this.gracePeriod&&this.selectionChanged()){var e=window.getSelection(),t=this.cm;this.rememberSelection();var n=le(t,e.anchorNode,e.anchorOffset),r=le(t,e.focusNode,e.focusOffset);n&&r&&At(t,function(){Te(t.doc,de(n,r),Wa),(n.bad||r.bad)&&(t.curOp.selectionChanged=!0)})}},pollContent:function(){var e=this.cm,t=e.display,n=e.doc.sel.primary(),r=n.from(),i=n.to();if(r.linet.viewTo-1)return!1;var o;if(r.line==t.viewFrom||0==(o=Bt(e,r.line)))var a=ti(t.view[0].line),l=t.view[0].node;else var a=ti(t.view[o].line),l=t.view[o-1].node.nextSibling;var s=Bt(e,i.line);if(s==t.view.length-1)var c=t.viewTo-1,u=t.lineDiv.lastChild;else var c=ti(t.view[s+1].line)-1,u=t.view[s+1].node.previousSibling;for(var f=e.doc.splitLines(ce(e,l,u,a,c)),h=Jr(e.doc,Bo(a,0),Bo(c,Zr(e.doc,c).text.length));f.length>1&&h.length>1;)if(Ii(f)==Ii(h))f.pop(),h.pop(),c--;else{if(f[0]!=h[0])break;f.shift(),h.shift(),a++}for(var d=0,p=0,m=f[0],g=h[0],v=Math.min(m.length,g.length);v>d&&m.charCodeAt(d)==g.charCodeAt(d);)++d;for(var y=Ii(f),x=Ii(h),b=Math.min(y.length-(1==f.length?d:0),x.length-(1==h.length?d:0));b>p&&y.charCodeAt(y.length-p-1)==x.charCodeAt(x.length-p-1);)++p;f[f.length-1]=y.slice(0,y.length-p),f[0]=f[0].slice(d);var w=Bo(a,d),k=Bo(c,h.length?Ii(h).length-p:0);return f.length>1||f[0]||_o(w,k)?(In(e.doc,f,w,k,"+input"),!0):void 0},ensurePolled:function(){this.forceCompositionEnd()},reset:function(){this.forceCompositionEnd()},forceCompositionEnd:function(){this.composing&&!this.composing.handled&&(this.applyComposition(this.composing),this.composing.handled=!0,this.div.blur(),this.div.focus())},applyComposition:function(e){this.cm.isReadOnly()?Et(this.cm,Dt)(this.cm):e.data&&e.data!=e.startData&&Et(this.cm,Z)(this.cm,e.data,0,e.sel)},setUneditable:function(e){e.contentEditable="false"},onKeyPress:function(e){e.preventDefault(),this.cm.isReadOnly()||Et(this.cm,Z)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0)},readOnlyChanged:function(e){this.div.contentEditable=String("nocursor"!=e)},onContextMenu:Di,resetPosition:Di,needsContentAttribute:!0},ie.prototype),e.inputStyles={textarea:ne,contenteditable:ie},ue.prototype={primary:function(){return this.ranges[this.primIndex]},equals:function(e){if(e==this)return!0;if(e.primIndex!=this.primIndex||e.ranges.length!=this.ranges.length)return!1;for(var t=0;t=0&&_o(e,r.to())<=0)return n}return-1}},fe.prototype={from:function(){return K(this.anchor,this.head)},to:function(){return V(this.anchor,this.head)},empty:function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch}};var zo,jo,Uo,qo={left:0,right:0,top:0,bottom:0},Go=null,Yo=0,$o=0,Vo=0,Ko=null;xo?Ko=-.53:go?Ko=15:So?Ko=-.7:Lo&&(Ko=-1/3);var Xo=function(e){var t=e.wheelDeltaX,n=e.wheelDeltaY;return null==t&&e.detail&&e.axis==e.HORIZONTAL_AXIS&&(t=e.detail),null==n&&e.detail&&e.axis==e.VERTICAL_AXIS?n=e.detail:null==n&&(n=e.wheelDelta),{x:t,y:n}};e.wheelEventPixels=function(e){var t=Xo(e);return t.x*=Ko,t.y*=Ko,t};var Zo=new Ei,Jo=null,Qo=e.changeEnd=function(e){return e.text?Bo(e.from.line+e.text.length-1,Ii(e.text).length+(1==e.text.length?e.from.ch:0)):e.to};e.prototype={constructor:e,focus:function(){window.focus(),this.display.input.focus()},setOption:function(e,t){var n=this.options,r=n[e];n[e]==t&&"mode"!=e||(n[e]=t,ta.hasOwnProperty(e)&&Et(this,ta[e])(this,t,r))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?"push":"unshift"]($n(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;nn&&(Fn(this,i.head.line,e,!0),n=i.head.line,r==this.doc.sel.primIndex&&Bn(this));else{var o=i.from(),a=i.to(),l=Math.max(n,o.line);n=Math.min(this.lastLine(),a.line-(a.ch?0:1))+1;for(var s=l;n>s;++s)Fn(this,s,e);var c=this.doc.sel.ranges;0==o.ch&&t.length==c.length&&c[r].from().ch>0&&ke(this.doc,r,new fe(o,c[r].to()),Wa)}}}),getTokenAt:function(e,t){return Ir(this,e,t)},getLineTokens:function(e,t){return Ir(this,Bo(e),t,!0)},getTokenTypeAt:function(e){e=me(this.doc,e);var t,n=Dr(this,Zr(this.doc,e.line)),r=0,i=(n.length-1)/2,o=e.ch;if(0==o)t=n[2];else for(;;){var a=r+i>>1;if((a?n[2*a-1]:0)>=o)i=a;else{if(!(n[2*a+1]l?t:0==l?null:t.slice(0,l-1)},getModeAt:function(t){var n=this.doc.mode;return n.innerMode?e.innerMode(n,this.getTokenAt(t).state).mode:n},getHelper:function(e,t){return this.getHelpers(e,t)[0]},getHelpers:function(e,t){var n=[];if(!la.hasOwnProperty(t))return n;var r=la[t],i=this.getModeAt(e);if("string"==typeof i[t])r[i[t]]&&n.push(r[i[t]]);else if(i[t])for(var o=0;oi&&(e=i,r=!0),n=Zr(this.doc,e)}else n=e;return ut(this,n,{top:0,left:0},t||"page").top+(r?this.doc.height-ri(n):0)},defaultTextHeight:function(){return yt(this.display)},defaultCharWidth:function(){return xt(this.display)},setGutterMarker:Ot(function(e,t,n){return zn(this.doc,e,"gutter",function(e){var r=e.gutterMarkers||(e.gutterMarkers={});return r[t]=n,!n&&Fi(r)&&(e.gutterMarkers=null),!0})}),clearGutter:Ot(function(e){var t=this,n=t.doc,r=n.first;n.iter(function(n){n.gutterMarkers&&n.gutterMarkers[e]&&(n.gutterMarkers[e]=null,Ht(t,r,"gutter"),Fi(n.gutterMarkers)&&(n.gutterMarkers=null)),++r})}),lineInfo:function(e){if("number"==typeof e){if(!ve(this.doc,e))return null;var t=e;if(e=Zr(this.doc,e),!e)return null}else{var t=ti(e);if(null==t)return null}return{line:t,handle:e,text:e.text,gutterMarkers:e.gutterMarkers,textClass:e.textClass,bgClass:e.bgClass,wrapClass:e.wrapClass,widgets:e.widgets}},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,r,i){var o=this.display;e=dt(this,me(this.doc,e));var a=e.bottom,l=e.left;if(t.style.position="absolute",t.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(t),o.sizer.appendChild(t),"over"==r)a=e.top;else if("above"==r||"near"==r){var s=Math.max(o.wrapper.clientHeight,this.doc.height),c=Math.max(o.sizer.clientWidth,o.lineSpace.clientWidth);("above"==r||e.bottom+t.offsetHeight>s)&&e.top>t.offsetHeight?a=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=s&&(a=e.bottom),l+t.offsetWidth>c&&(l=c-t.offsetWidth)}t.style.top=a+"px",t.style.left=t.style.right="","right"==i?(l=o.sizer.clientWidth-t.offsetWidth,t.style.right="0px"):("left"==i?l=0:"middle"==i&&(l=(o.sizer.clientWidth-t.offsetWidth)/2),t.style.left=l+"px"),n&&Dn(this,l,a,l+t.offsetWidth,a+t.offsetHeight)},triggerOnKeyDown:Ot(hn),triggerOnKeyPress:Ot(mn),triggerOnKeyUp:pn,execCommand:function(e){return ua.hasOwnProperty(e)?ua[e].call(null,this):void 0},triggerElectric:Ot(function(e){Q(this,e)}),findPosH:function(e,t,n,r){var i=1;0>t&&(i=-1,t=-t);for(var o=0,a=me(this.doc,e);t>o&&(a=Un(this.doc,a,i,n,r),!a.hitSide);++o);return a},moveH:Ot(function(e,t){var n=this;n.extendSelectionsBy(function(r){return n.display.shift||n.doc.extend||r.empty()?Un(n.doc,r.head,e,t,n.options.rtlMoveVisually):0>e?r.from():r.to()},_a)}),deleteH:Ot(function(e,t){var n=this.doc.sel,r=this.doc;n.somethingSelected()?r.replaceSelection("",null,"+delete"):jn(this,function(n){var i=Un(r,n.head,e,t,!1);return 0>e?{from:i,to:n.head}:{from:n.head,to:i}})}),findPosV:function(e,t,n,r){var i=1,o=r;0>t&&(i=-1,t=-t);for(var a=0,l=me(this.doc,e);t>a;++a){var s=dt(this,l,"div");if(null==o?o=s.left:s.left=o,l=qn(this,s,i,n),l.hitSide)break}return l},moveV:Ot(function(e,t){var n=this,r=this.doc,i=[],o=!n.display.shift&&!r.extend&&r.sel.somethingSelected();if(r.extendSelectionsBy(function(a){if(o)return 0>e?a.from():a.to();var l=dt(n,a.head,"div");null!=a.goalColumn&&(l.left=a.goalColumn),i.push(l.left);var s=qn(n,l,e,t);return"page"==t&&a==r.sel.primary()&&Wn(n,null,ht(n,s,"div").top-l.top),s},_a),i.length)for(var a=0;a0&&l(n.charAt(r-1));)--r;for(;i.5)&&a(this),Pa(this,"refresh",this)}),swapDoc:Ot(function(e){var t=this.doc;return t.cm=null,Xr(this,e),lt(this),this.display.input.reset(),this.scrollTo(e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,Ci(this,"swapDoc",this,t),t}),getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Ai(e);var ea=e.defaults={},ta=e.optionHandlers={},na=e.Init={toString:function(){return"CodeMirror.Init"}};Gn("value","",function(e,t){e.setValue(t)},!0),Gn("mode",null,function(e,t){e.doc.modeOption=t,n(e)},!0),Gn("indentUnit",2,n,!0),Gn("indentWithTabs",!1),Gn("smartIndent",!0),Gn("tabSize",4,function(e){r(e),lt(e),Dt(e)},!0),Gn("lineSeparator",null,function(e,t){if(e.doc.lineSep=t,t){var n=[],r=e.doc.first;e.doc.iter(function(e){for(var i=0;;){var o=e.text.indexOf(t,i);if(-1==o)break;i=o+t.length,n.push(Bo(r,o))}r++});for(var i=n.length-1;i>=0;i--)In(e.doc,t,n[i],Bo(n[i].line,n[i].ch+t.length))}}),Gn("specialChars",/[\u0000-\u001f\u007f\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g,function(t,n,r){t.state.specialChars=new RegExp(n.source+(n.test(" ")?"":"| "),"g"),r!=e.Init&&t.refresh()}),Gn("specialCharPlaceholder",_r,function(e){e.refresh()},!0),Gn("electricChars",!0),Gn("inputStyle",Ao?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),Gn("rtlMoveVisually",!Io),Gn("wholeLineUpdateBefore",!0),Gn("theme","default",function(e){l(e),s(e)},!0),Gn("keyMap","default",function(t,n,r){var i=$n(n),o=r!=e.Init&&$n(r);o&&o.detach&&o.detach(t,i),i.attach&&i.attach(t,o||null)}),Gn("extraKeys",null),Gn("lineWrapping",!1,i,!0),Gn("gutters",[],function(e){d(e.options),s(e)},!0),Gn("fixedGutter",!0,function(e,t){e.display.gutters.style.left=t?C(e.display)+"px":"0",e.refresh()},!0),Gn("coverGutterNextToScrollbar",!1,function(e){y(e)},!0),Gn("scrollbarStyle","native",function(e){v(e),y(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)},!0),Gn("lineNumbers",!1,function(e){d(e.options),s(e)},!0),Gn("firstLineNumber",1,s,!0),Gn("lineNumberFormatter",function(e){return e},s,!0),Gn("showCursorWhenSelecting",!1,Re,!0),Gn("resetSelectionOnContextMenu",!0),Gn("lineWiseCopyCut",!0),Gn("readOnly",!1,function(e,t){"nocursor"==t?(yn(e),e.display.input.blur(),e.display.disabled=!0):e.display.disabled=!1,e.display.input.readOnlyChanged(t)}),Gn("disableInput",!1,function(e,t){t||e.display.input.reset()},!0),Gn("dragDrop",!0,Ut),Gn("allowDropFileTypes",null),Gn("cursorBlinkRate",530),Gn("cursorScrollMargin",0),Gn("cursorHeight",1,Re,!0),Gn("singleCursorHeightPerLine",!0,Re,!0),Gn("workTime",100),Gn("workDelay",100),Gn("flattenSpans",!0,r,!0),Gn("addModeClass",!1,r,!0),Gn("pollInterval",100),Gn("undoDepth",200,function(e,t){e.doc.history.undoDepth=t}),Gn("historyEventDelay",1250),Gn("viewportMargin",10,function(e){e.refresh()},!0),Gn("maxHighlightLength",1e4,r,!0),Gn("moveInputWithCursor",!0,function(e,t){t||e.display.input.resetPosition()}),Gn("tabindex",null,function(e,t){e.display.input.getField().tabIndex=t||""}),Gn("autofocus",null);var ra=e.modes={},ia=e.mimeModes={};e.defineMode=function(t,n){e.defaults.mode||"null"==t||(e.defaults.mode=t),arguments.length>2&&(n.dependencies=Array.prototype.slice.call(arguments,2)),ra[t]=n},e.defineMIME=function(e,t){ia[e]=t},e.resolveMode=function(t){if("string"==typeof t&&ia.hasOwnProperty(t))t=ia[t];else if(t&&"string"==typeof t.name&&ia.hasOwnProperty(t.name)){var n=ia[t.name];"string"==typeof n&&(n={name:n}),t=Hi(n,t),t.name=n.name}else if("string"==typeof t&&/^[\w\-]+\/[\w\-]+\+xml$/.test(t))return e.resolveMode("application/xml");return"string"==typeof t?{name:t}:t||{name:"null"}},e.getMode=function(t,n){var n=e.resolveMode(n),r=ra[n.name];if(!r)return e.getMode(t,"text/plain");var i=r(t,n);if(oa.hasOwnProperty(n.name)){var o=oa[n.name];for(var a in o)o.hasOwnProperty(a)&&(i.hasOwnProperty(a)&&(i["_"+a]=i[a]),i[a]=o[a])}if(i.name=n.name,n.helperType&&(i.helperType=n.helperType),n.modeProps)for(var a in n.modeProps)i[a]=n.modeProps[a];return i},e.defineMode("null",function(){return{token:function(e){e.skipToEnd()}}}),e.defineMIME("text/plain","null");var oa=e.modeExtensions={};e.extendMode=function(e,t){var n=oa.hasOwnProperty(e)?oa[e]:oa[e]={};Wi(t,n)},e.defineExtension=function(t,n){e.prototype[t]=n},e.defineDocExtension=function(e,t){Ca.prototype[e]=t},e.defineOption=Gn;var aa=[];e.defineInitHook=function(e){aa.push(e)};var la=e.helpers={};e.registerHelper=function(t,n,r){la.hasOwnProperty(t)||(la[t]=e[t]={_global:[]}),la[t][n]=r},e.registerGlobalHelper=function(t,n,r,i){e.registerHelper(t,n,i),la[t]._global.push({pred:r,val:i})};var sa=e.copyState=function(e,t){if(t===!0)return t;if(e.copyState)return e.copyState(t);var n={};for(var r in t){var i=t[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n},ca=e.startState=function(e,t,n){return e.startState?e.startState(t,n):!0};e.innerMode=function(e,t){for(;e.innerMode;){var n=e.innerMode(t);if(!n||n.mode==e)break;t=n.state,e=n.mode}return n||{mode:e,state:t}};var ua=e.commands={selectAll:function(e){e.setSelection(Bo(e.firstLine(),0),Bo(e.lastLine()),Wa)},singleSelection:function(e){e.setSelection(e.getCursor("anchor"),e.getCursor("head"),Wa)},killLine:function(e){jn(e,function(t){if(t.empty()){var n=Zr(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line0)i=new Bo(i.line,i.ch+1),e.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),Bo(i.line,i.ch-2),i,"+transpose");else if(i.line>e.doc.first){var a=Zr(e.doc,i.line-1).text;a&&e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+a.charAt(a.length-1),Bo(i.line-1,a.length-1),Bo(i.line,1),"+transpose")}n.push(new fe(i,i))}e.setSelections(n)})},newlineAndIndent:function(e){At(e,function(){for(var t=e.listSelections().length,n=0;t>n;n++){var r=e.listSelections()[n];e.replaceRange(e.doc.lineSeparator(),r.anchor,r.head,"+input"),e.indentLine(r.from().line+1,null,!0)}Bn(e)})},openLine:function(e){e.replaceSelection("\n","start")},toggleOverwrite:function(e){e.toggleOverwrite()}},fa=e.keyMap={};fa.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},fa.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},fa.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},fa.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},fa["default"]=Eo?fa.macDefault:fa.pcDefault,e.normalizeKeyMap=function(e){var t={};for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];if(/^(name|fallthrough|(de|at)tach)$/.test(n))continue;if("..."==r){delete e[n];continue}for(var i=Ri(n.split(" "),Yn),o=0;o=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){return this.post},eatSpace:function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},skipToEnd:function(){this.pos=this.string.length},skipTo:function(e){var t=this.string.indexOf(e,this.pos);return t>-1?(this.pos=t,!0):void 0},backUp:function(e){this.pos-=e},column:function(){return this.lastColumnPos0?null:(r&&t!==!1&&(this.pos+=r[0].length),r)}var i=function(e){return n?e.toLowerCase():e},o=this.string.substr(this.pos,e.length);return i(o)==i(e)?(t!==!1&&(this.pos+=e.length),!0):void 0},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}}};var ga=0,va=e.TextMarker=function(e,t){this.lines=[],this.type=t,this.doc=e,this.id=++ga};Ai(va),va.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&bt(e),Ni(this,"clear")){var n=this.find();n&&Ci(this,"clear",n.from,n.to)}for(var r=null,i=null,o=0;oe.display.maxLineLength&&(e.display.maxLine=s,e.display.maxLineLength=c,e.display.maxLineChanged=!0)}null!=r&&e&&this.collapsed&&Dt(e,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&Ae(e.doc)),e&&Ci(e,"markerCleared",e,this),t&&kt(e),this.parent&&this.parent.clear()}},va.prototype.find=function(e,t){null==e&&"bookmark"==this.type&&(e=1);for(var n,r,i=0;in;++n){var i=this.lines[n];this.height-=i.height,Nr(i),Ci(i,"delete")}this.lines.splice(e,t)},collapse:function(e){e.push.apply(e,this.lines)},insertInner:function(e,t,n){this.height+=n,this.lines=this.lines.slice(0,e).concat(t).concat(this.lines.slice(e));for(var r=0;re;++e)if(n(this.lines[e]))return!0}},Vr.prototype={chunkSize:function(){return this.size},removeInner:function(e,t){this.size-=t;for(var n=0;ne){var o=Math.min(t,i-e),a=r.height;if(r.removeInner(e,o),this.height-=a-r.height,i==o&&(this.children.splice(n--,1),r.parent=null),0==(t-=o))break;e=0}else e-=i}if(this.size-t<25&&(this.children.length>1||!(this.children[0]instanceof $r))){var l=[];this.collapse(l),this.children=[new $r(l)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t=e){if(i.insertInner(e,t,n),i.lines&&i.lines.length>50){for(var a=i.lines.length%25+25,l=a;l10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var r=0;re){var a=Math.min(t,o-e);if(i.iterN(e,a,n))return!0;if(0==(t-=a))break;e=0}else e-=o}}};var Sa=0,Ca=e.Doc=function(e,t,n,r){if(!(this instanceof Ca))return new Ca(e,t,n,r);null==n&&(n=0),Vr.call(this,[new $r([new ba("",null)])]),this.first=n,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.frontier=n;var i=Bo(n,0);this.sel=de(i),this.history=new oi(null),this.id=++Sa,this.modeOption=t,this.lineSep=r,this.extend=!1,"string"==typeof e&&(e=this.splitLines(e)),Yr(this,{from:i,to:i,text:e}),Te(this,de(i),Wa)};Ca.prototype=Hi(Vr.prototype,{constructor:Ca,iter:function(e,t,n){n?this.iterN(e-this.first,t-e,n):this.iterN(this.first,this.first+this.size,e)},insert:function(e,t){for(var n=0,r=0;r=0;o--)Tn(this,r[o]);l?Le(this,l):this.cm&&Bn(this.cm)}),undo:It(function(){Nn(this,"undo")}),redo:It(function(){Nn(this,"redo")}),undoSelection:It(function(){Nn(this,"undo",!0)}),redoSelection:It(function(){Nn(this,"redo",!0)}),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,r=0;r=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(e,t,n){e=me(this,e),t=me(this,t);var r=[],i=e.line;return this.iter(e.line,t.line+1,function(o){var a=o.markedSpans;if(a)for(var l=0;l=s.to||null==s.from&&i!=e.line||null!=s.from&&i==t.line&&s.from>=t.ch||n&&!n(s.marker)||r.push(s.marker.parent||s.marker)}++i}),r},getAllMarks:function(){var e=[];return this.iter(function(t){var n=t.markedSpans;if(n)for(var r=0;re?(t=e,!0):(e-=o,void++n)}),me(this,Bo(n,t))},indexFromPos:function(e){e=me(this,e);var t=e.ch;if(e.linet&&(t=e.from),null!=e.to&&e.tol||l>=t)return a+(t-o);a+=l-o,a+=n-a%n,o=l+1}},za=e.findColumn=function(e,t,n){for(var r=0,i=0;;){var o=e.indexOf(" ",r);-1==o&&(o=e.length);var a=o-r;if(o==e.length||i+a>=t)return r+Math.min(a,t-i);if(i+=o-r,i+=n-i%n,r=o+1,i>=t)return r}},ja=[""],Ua=function(e){e.select()};No?Ua=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:xo&&(Ua=function(e){try{e.select()}catch(t){}});var qa,Ga=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Ya=e.isWordChar=function(e){return/\w/.test(e)||e>"€"&&(e.toUpperCase()!=e.toLowerCase()||Ga.test(e))},$a=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;qa=document.createRange?function(e,t,n,r){var i=document.createRange();return i.setEnd(r||e,n),i.setStart(e,t),i}:function(e,t,n){var r=document.body.createTextRange();try{r.moveToElementText(e.parentNode)}catch(i){return r}return r.collapse(!0),r.moveEnd("character",n),r.moveStart("character",t),r};var Va=e.contains=function(e,t){if(3==t.nodeType&&(t=t.parentNode),e.contains)return e.contains(t);do if(11==t.nodeType&&(t=t.host),t==e)return!0;while(t=t.parentNode)};xo&&11>bo&&(Gi=function(){try{return document.activeElement}catch(e){return document.body}});var Ka,Xa,Za=e.rmClass=function(e,t){var n=e.className,r=Yi(t).exec(n);if(r){var i=n.slice(r.index+r[0].length);e.className=n.slice(0,r.index)+(i?r[1]+i:"")}},Ja=e.addClass=function(e,t){var n=e.className;Yi(t).test(n)||(e.className+=(n?" ":"")+t)},Qa=!1,el=function(){if(xo&&9>bo)return!1;var e=ji("div");return"draggable"in e||"dragDrop"in e}(),tl=e.splitLines=3!="\n\nb".split(/\n/).length?function(e){for(var t=0,n=[],r=e.length;r>=t;){var i=e.indexOf("\n",t);-1==i&&(i=e.length);var o=e.slice(t,"\r"==e.charAt(i-1)?i-1:i),a=o.indexOf("\r");-1!=a?(n.push(o.slice(0,a)),t+=a+1):(n.push(o),t=i+1)}return n}:function(e){return e.split(/\r\n?|\n/)},nl=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(t){return!1}}:function(e){try{var t=e.ownerDocument.selection.createRange()}catch(n){}return t&&t.parentElement()==e?0!=t.compareEndPoints("StartToEnd",t):!1},rl=function(){var e=ji("div");return"oncopy"in e?!0:(e.setAttribute("oncopy","return;"),"function"==typeof e.oncopy)}(),il=null,ol=e.keyNames={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",127:"Delete",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"};!function(){for(var e=0;10>e;e++)ol[e+48]=ol[e+96]=String(e);for(var e=65;90>=e;e++)ol[e]=String.fromCharCode(e);for(var e=1;12>=e;e++)ol[e+111]=ol[e+63235]="F"+e}();var al,ll=function(){function e(e){return 247>=e?n.charAt(e):e>=1424&&1524>=e?"R":e>=1536&&1773>=e?r.charAt(e-1536):e>=1774&&2220>=e?"r":e>=8192&&8203>=e?"w":8204==e?"b":"L"}function t(e,t,n){this.level=e,this.from=t,this.to=n}var n="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",r="rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm",i=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,o=/[stwN]/,a=/[LRr]/,l=/[Lb1n]/,s=/[1n]/,c="L";return function(n){if(!i.test(n))return!1;for(var r,u=n.length,f=[],h=0;u>h;++h)f.push(r=e(n.charCodeAt(h)));for(var h=0,d=c;u>h;++h){var r=f[h];"m"==r?f[h]=d:d=r}for(var h=0,p=c;u>h;++h){var r=f[h];"1"==r&&"r"==p?f[h]="n":a.test(r)&&(p=r,"r"==r&&(f[h]="R"))}for(var h=1,d=f[0];u-1>h;++h){var r=f[h];"+"==r&&"1"==d&&"1"==f[h+1]?f[h]="1":","!=r||d!=f[h+1]||"1"!=d&&"n"!=d||(f[h]=d),d=r}for(var h=0;u>h;++h){var r=f[h];if(","==r)f[h]="N";else if("%"==r){for(var m=h+1;u>m&&"%"==f[m];++m);for(var g=h&&"!"==f[h-1]||u>m&&"1"==f[m]?"1":"N",v=h;m>v;++v)f[v]=g;h=m-1}}for(var h=0,p=c;u>h;++h){var r=f[h];"L"==p&&"1"==r?f[h]="L":a.test(r)&&(p=r)}for(var h=0;u>h;++h)if(o.test(f[h])){for(var m=h+1;u>m&&o.test(f[m]);++m);for(var y="L"==(h?f[h-1]:c),x="L"==(u>m?f[m]:c),g=y||x?"L":"R",v=h;m>v;++v)f[v]=g;h=m-1}for(var b,w=[],h=0;u>h;)if(l.test(f[h])){var k=h;for(++h;u>h&&l.test(f[h]);++h);w.push(new t(0,k,h))}else{var S=h,C=w.length;for(++h;u>h&&"L"!=f[h];++h);for(var v=S;h>v;)if(s.test(f[v])){v>S&&w.splice(C,0,new t(1,S,v));var L=v;for(++v;h>v&&s.test(f[v]);++v);w.splice(C,0,new t(2,L,v)),S=v}else++v;h>S&&w.splice(C,0,new t(1,S,h))}return 1==w[0].level&&(b=n.match(/^\s+/))&&(w[0].from=b[0].length,w.unshift(new t(0,0,b[0].length))),1==Ii(w).level&&(b=n.match(/\s+$/))&&(Ii(w).to-=b[0].length,w.push(new t(0,u-b[0].length,u))),2==w[0].level&&w.unshift(new t(1,w[0].to,w[0].to)),w[0].level!=Ii(w).level&&w.push(new t(w[0].level,u,u)),w}}();return e.version="5.15.2",e})},{}],11:[function(t,n,r){!function(i){"object"==typeof r&&"object"==typeof n?i(t("../../lib/codemirror"),t("../markdown/markdown"),t("../../addon/mode/overlay")):"function"==typeof e&&e.amd?e(["../../lib/codemirror","../markdown/markdown","../../addon/mode/overlay"],i):i(CodeMirror)}(function(e){"use strict";var t=/^((?:(?:aaas?|about|acap|adiumxtra|af[ps]|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|cap|chrome(?:-extension)?|cid|coap|com-eventbrite-attendee|content|crid|cvs|data|dav|dict|dlna-(?:playcontainer|playsingle)|dns|doi|dtn|dvb|ed2k|facetime|feed|file|finger|fish|ftp|geo|gg|git|gizmoproject|go|gopher|gtalk|h323|hcp|https?|iax|icap|icon|im|imap|info|ipn|ipp|irc[6s]?|iris(?:\.beep|\.lwz|\.xpc|\.xpcs)?|itms|jar|javascript|jms|keyparc|lastfm|ldaps?|magnet|mailto|maps|market|message|mid|mms|ms-help|msnim|msrps?|mtqp|mumble|mupdate|mvn|news|nfs|nih?|nntp|notes|oid|opaquelocktoken|palm|paparazzi|platform|pop|pres|proxy|psyc|query|res(?:ource)?|rmi|rsync|rtmp|rtsp|secondlife|service|session|sftp|sgn|shttp|sieve|sips?|skype|sm[bs]|snmp|soap\.beeps?|soldat|spotify|ssh|steam|svn|tag|teamspeak|tel(?:net)?|tftp|things|thismessage|tip|tn3270|tv|udp|unreal|urn|ut2004|vemmi|ventrilo|view-source|webcal|wss?|wtai|wyciwyg|xcon(?:-userid)?|xfire|xmlrpc\.beeps?|xmpp|xri|ymsgr|z39\.50[rs]?):(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]|\([^\s()<>]*\))+(?:\([^\s()<>]*\)|[^\s`*!()\[\]{};:'".,<>?«»“”‘’]))/i;e.defineMode("gfm",function(n,r){function i(e){return e.code=!1,null}var o=0,a={startState:function(){return{code:!1,codeBlock:!1,ateSpace:!1}},copyState:function(e){return{code:e.code,codeBlock:e.codeBlock,ateSpace:e.ateSpace}},token:function(e,n){if(n.combineTokens=null,n.codeBlock)return e.match(/^```+/)?(n.codeBlock=!1,null):(e.skipToEnd(),null);if(e.sol()&&(n.code=!1),e.sol()&&e.match(/^```+/))return e.skipToEnd(),n.codeBlock=!0,null;if("`"===e.peek()){e.next();var i=e.pos;e.eatWhile("`");var a=1+e.pos-i;return n.code?a===o&&(n.code=!1):(o=a,n.code=!0),null}if(n.code)return e.next(),null;if(e.eatSpace())return n.ateSpace=!0,null;if((e.sol()||n.ateSpace)&&(n.ateSpace=!1,r.gitHubSpice!==!1)){if(e.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+@)?(?:[a-f0-9]{7,40}\b)/))return n.combineTokens=!0,"link";if(e.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+)?#[0-9]+\b/))return n.combineTokens=!0,"link"}return e.match(t)&&"]("!=e.string.slice(e.start-2,e.start)&&(0==e.start||/\W/.test(e.string.charAt(e.start-1)))?(n.combineTokens=!0,"link"):(e.next(),null)},blankLine:i},l={underscoresBreakWords:!1,taskLists:!0,fencedCodeBlocks:"```",strikethrough:!0};for(var s in r)l[s]=r[s];return l.name="markdown",e.overlayMode(e.getMode(n,l),a)},"markdown"),e.defineMIME("text/x-gfm","gfm")})},{"../../addon/mode/overlay":8,"../../lib/codemirror":10,"../markdown/markdown":12}],12:[function(t,n,r){!function(i){"object"==typeof r&&"object"==typeof n?i(t("../../lib/codemirror"),t("../xml/xml"),t("../meta")):"function"==typeof e&&e.amd?e(["../../lib/codemirror","../xml/xml","../meta"],i):i(CodeMirror)}(function(e){"use strict";e.defineMode("markdown",function(t,n){function r(n){if(e.findModeByName){var r=e.findModeByName(n);r&&(n=r.mime||r.mimes[0])}var i=e.getMode(t,n);return"null"==i.name?null:i}function i(e,t,n){return t.f=t.inline=n,n(e,t)}function o(e,t,n){return t.f=t.block=n,n(e,t)}function a(e){return!e||!/\S/.test(e.string)}function l(e){return e.linkTitle=!1,e.em=!1,e.strong=!1,e.strikethrough=!1,e.quote=0,e.indentedCode=!1,k&&e.f==c&&(e.f=p,e.block=s),e.trailingSpace=0,e.trailingSpaceNewLine=!1,e.prevLine=e.thisLine,e.thisLine=null,null}function s(t,o){var l=t.sol(),s=o.list!==!1,c=o.indentedCode;o.indentedCode=!1,s&&(o.indentationDiff>=0?(o.indentationDiff<4&&(o.indentation-=o.indentationDiff),o.list=null):o.indentation>0?o.list=null:o.list=!1);var f=null;if(o.indentationDiff>=4)return t.skipToEnd(),c||a(o.prevLine)?(o.indentation-=4,o.indentedCode=!0,S.code):null;if(t.eatSpace())return null;if((f=t.match(A))&&f[1].length<=6)return o.header=f[1].length,n.highlightFormatting&&(o.formatting="header"),o.f=o.inline,h(o);if(!(a(o.prevLine)||o.quote||s||c)&&(f=t.match(E)))return o.header="="==f[0].charAt(0)?1:2,n.highlightFormatting&&(o.formatting="header"),o.f=o.inline,h(o);if(t.eat(">"))return o.quote=l?1:o.quote+1,n.highlightFormatting&&(o.formatting="quote"),t.eatSpace(),h(o);if("["===t.peek())return i(t,o,y);if(t.match(L,!0))return o.hr=!0,S.hr;if((a(o.prevLine)||s)&&(t.match(T,!1)||t.match(M,!1))){var d=null;for(t.match(T,!0)?d="ul":(t.match(M,!0),d="ol"),o.indentation=t.column()+t.current().length,o.list=!0;o.listStack&&t.column()")>-1)&&(n.f=p,n.block=s,n.htmlState=null)}return r}function u(e,t){return t.fencedChars&&e.match(t.fencedChars,!1)?(t.localMode=t.localState=null,t.f=t.block=f,null):t.localMode?t.localMode.token(e,t.localState):(e.skipToEnd(),S.code)}function f(e,t){e.match(t.fencedChars),t.block=s,t.f=p,t.fencedChars=null,n.highlightFormatting&&(t.formatting="code-block"),t.code=1;var r=h(t);return t.code=0,r}function h(e){var t=[];if(e.formatting){t.push(S.formatting),"string"==typeof e.formatting&&(e.formatting=[e.formatting]);for(var r=0;r=e.quote?t.push(S.formatting+"-"+e.formatting[r]+"-"+e.quote):t.push("error"))}if(e.taskOpen)return t.push("meta"),t.length?t.join(" "):null;if(e.taskClosed)return t.push("property"),t.length?t.join(" "):null;if(e.linkHref?t.push(S.linkHref,"url"):(e.strong&&t.push(S.strong),e.em&&t.push(S.em),e.strikethrough&&t.push(S.strikethrough),e.linkText&&t.push(S.linkText),e.code&&t.push(S.code)),e.header&&t.push(S.header,S.header+"-"+e.header),e.quote&&(t.push(S.quote),!n.maxBlockquoteDepth||n.maxBlockquoteDepth>=e.quote?t.push(S.quote+"-"+e.quote):t.push(S.quote+"-"+n.maxBlockquoteDepth)),e.list!==!1){var i=(e.listStack.length-1)%3;i?1===i?t.push(S.list2):t.push(S.list3):t.push(S.list1)}return e.trailingSpaceNewLine?t.push("trailing-space-new-line"):e.trailingSpace&&t.push("trailing-space-"+(e.trailingSpace%2?"a":"b")),t.length?t.join(" "):null}function d(e,t){return e.match(O,!0)?h(t):void 0}function p(t,r){var i=r.text(t,r);if("undefined"!=typeof i)return i;if(r.list)return r.list=null,h(r);if(r.taskList){var a="x"!==t.match(N,!0)[1];return a?r.taskOpen=!0:r.taskClosed=!0,n.highlightFormatting&&(r.formatting="task"),r.taskList=!1,h(r)}if(r.taskOpen=!1,r.taskClosed=!1,r.header&&t.match(/^#+$/,!0))return n.highlightFormatting&&(r.formatting="header"), -h(r);var l=t.sol(),s=t.next();if(r.linkTitle){r.linkTitle=!1;var u=s;"("===s&&(u=")"),u=(u+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1");var f="^\\s*(?:[^"+u+"\\\\]+|\\\\\\\\|\\\\.)"+u;if(t.match(new RegExp(f),!0))return S.linkHref}if("`"===s){var d=r.formatting;n.highlightFormatting&&(r.formatting="code"),t.eatWhile("`");var p=t.current().length;if(0==r.code)return r.code=p,h(r);if(p==r.code){var v=h(r);return r.code=0,v}return r.formatting=d,h(r)}if(r.code)return h(r);if("\\"===s&&(t.next(),n.highlightFormatting)){var y=h(r),x=S.formatting+"-escape";return y?y+" "+x:x}if("!"===s&&t.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return t.match(/\[[^\]]*\]/),r.inline=r.f=g,S.image;if("["===s&&t.match(/[^\]]*\](\(.*\)| ?\[.*?\])/,!1))return r.linkText=!0,n.highlightFormatting&&(r.formatting="link"),h(r);if("]"===s&&r.linkText&&t.match(/\(.*?\)| ?\[.*?\]/,!1)){n.highlightFormatting&&(r.formatting="link");var y=h(r);return r.linkText=!1,r.inline=r.f=g,y}if("<"===s&&t.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1)){r.f=r.inline=m,n.highlightFormatting&&(r.formatting="link");var y=h(r);return y?y+=" ":y="",y+S.linkInline}if("<"===s&&t.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1)){r.f=r.inline=m,n.highlightFormatting&&(r.formatting="link");var y=h(r);return y?y+=" ":y="",y+S.linkEmail}if("<"===s&&t.match(/^(!--|\w)/,!1)){var b=t.string.indexOf(">",t.pos);if(-1!=b){var k=t.string.substring(t.start,b);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(k)&&(r.md_inside=!0)}return t.backUp(1),r.htmlState=e.startState(w),o(t,r,c)}if("<"===s&&t.match(/^\/\w*?>/))return r.md_inside=!1,"tag";var C=!1;if(!n.underscoresBreakWords&&"_"===s&&"_"!==t.peek()&&t.match(/(\w)/,!1)){var L=t.pos-2;if(L>=0){var T=t.string.charAt(L);"_"!==T&&T.match(/(\w)/,!1)&&(C=!0)}}if("*"===s||"_"===s&&!C)if(l&&" "===t.peek());else{if(r.strong===s&&t.eat(s)){n.highlightFormatting&&(r.formatting="strong");var v=h(r);return r.strong=!1,v}if(!r.strong&&t.eat(s))return r.strong=s,n.highlightFormatting&&(r.formatting="strong"),h(r);if(r.em===s){n.highlightFormatting&&(r.formatting="em");var v=h(r);return r.em=!1,v}if(!r.em)return r.em=s,n.highlightFormatting&&(r.formatting="em"),h(r)}else if(" "===s&&(t.eat("*")||t.eat("_"))){if(" "===t.peek())return h(r);t.backUp(1)}if(n.strikethrough)if("~"===s&&t.eatWhile(s)){if(r.strikethrough){n.highlightFormatting&&(r.formatting="strikethrough");var v=h(r);return r.strikethrough=!1,v}if(t.match(/^[^\s]/,!1))return r.strikethrough=!0,n.highlightFormatting&&(r.formatting="strikethrough"),h(r)}else if(" "===s&&t.match(/^~~/,!0)){if(" "===t.peek())return h(r);t.backUp(2)}return" "===s&&(t.match(/ +$/,!1)?r.trailingSpace++:r.trailingSpace&&(r.trailingSpaceNewLine=!0)),h(r)}function m(e,t){var r=e.next();if(">"===r){t.f=t.inline=p,n.highlightFormatting&&(t.formatting="link");var i=h(t);return i?i+=" ":i="",i+S.linkInline}return e.match(/^[^>]+/,!0),S.linkInline}function g(e,t){if(e.eatSpace())return null;var r=e.next();return"("===r||"["===r?(t.f=t.inline=v("("===r?")":"]",0),n.highlightFormatting&&(t.formatting="link-string"),t.linkHref=!0,h(t)):"error"}function v(e){return function(t,r){var i=t.next();if(i===e){r.f=r.inline=p,n.highlightFormatting&&(r.formatting="link-string");var o=h(r);return r.linkHref=!1,o}return t.match(P[e]),r.linkHref=!0,h(r)}}function y(e,t){return e.match(/^([^\]\\]|\\.)*\]:/,!1)?(t.f=x,e.next(),n.highlightFormatting&&(t.formatting="link"),t.linkText=!0,h(t)):i(e,t,p)}function x(e,t){if(e.match(/^\]:/,!0)){t.f=t.inline=b,n.highlightFormatting&&(t.formatting="link");var r=h(t);return t.linkText=!1,r}return e.match(/^([^\]\\]|\\.)+/,!0),S.linkText}function b(e,t){return e.eatSpace()?null:(e.match(/^[^\s]+/,!0),void 0===e.peek()?t.linkTitle=!0:e.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/,!0),t.f=t.inline=p,S.linkHref+" url")}var w=e.getMode(t,"text/html"),k="null"==w.name;void 0===n.highlightFormatting&&(n.highlightFormatting=!1),void 0===n.maxBlockquoteDepth&&(n.maxBlockquoteDepth=0),void 0===n.underscoresBreakWords&&(n.underscoresBreakWords=!0),void 0===n.taskLists&&(n.taskLists=!1),void 0===n.strikethrough&&(n.strikethrough=!1),void 0===n.tokenTypeOverrides&&(n.tokenTypeOverrides={});var S={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3",list3:"keyword",hr:"hr",image:"tag",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough"};for(var C in S)S.hasOwnProperty(C)&&n.tokenTypeOverrides[C]&&(S[C]=n.tokenTypeOverrides[C]);var L=/^([*\-_])(?:\s*\1){2,}\s*$/,T=/^[*\-+]\s+/,M=/^[0-9]+([.)])\s+/,N=/^\[(x| )\](?=\s)/,A=n.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,E=/^ *(?:\={1,}|-{1,})\s*$/,O=/^[^#!\[\]*_\\<>` "'(~]+/,I=new RegExp("^("+(n.fencedCodeBlocks===!0?"~~~+|```+":n.fencedCodeBlocks)+")[ \\t]*([\\w+#-]*)"),P={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\\]]|\\.)*\])*?(?=\])/},R={startState:function(){return{f:s,prevLine:null,thisLine:null,block:s,htmlState:null,indentation:0,inline:p,text:d,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,code:0,em:!1,strong:!1,header:0,hr:!1,taskList:!1,list:!1,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,fencedChars:null}},copyState:function(t){return{f:t.f,prevLine:t.prevLine,thisLine:t.thisLine,block:t.block,htmlState:t.htmlState&&e.copyState(w,t.htmlState),indentation:t.indentation,localMode:t.localMode,localState:t.localMode?e.copyState(t.localMode,t.localState):null,inline:t.inline,text:t.text,formatting:!1,linkTitle:t.linkTitle,code:t.code,em:t.em,strong:t.strong,strikethrough:t.strikethrough,header:t.header,hr:t.hr,taskList:t.taskList,list:t.list,listStack:t.listStack.slice(0),quote:t.quote,indentedCode:t.indentedCode,trailingSpace:t.trailingSpace,trailingSpaceNewLine:t.trailingSpaceNewLine,md_inside:t.md_inside,fencedChars:t.fencedChars}},token:function(e,t){if(t.formatting=!1,e!=t.thisLine){var n=t.header||t.hr;if(t.header=0,t.hr=!1,e.match(/^\s*$/,!0)||n){if(l(t),!n)return null;t.prevLine=null}t.prevLine=t.thisLine,t.thisLine=e,t.taskList=!1,t.trailingSpace=0,t.trailingSpaceNewLine=!1,t.f=t.block;var r=e.match(/^\s*/,!0)[0].replace(/\t/g," ").length;if(t.indentationDiff=Math.min(r-t.indentation,4),t.indentation=t.indentation+t.indentationDiff,r>0)return null}return t.f(e,t)},innerMode:function(e){return e.block==c?{state:e.htmlState,mode:w}:e.localState?{state:e.localState,mode:e.localMode}:{state:e,mode:R}},blankLine:l,getType:h,fold:"markdown"};return R},"xml"),e.defineMIME("text/x-markdown","markdown")})},{"../../lib/codemirror":10,"../meta":13,"../xml/xml":14}],13:[function(t,n,r){!function(i){"object"==typeof r&&"object"==typeof n?i(t("../lib/codemirror")):"function"==typeof e&&e.amd?e(["../lib/codemirror"],i):i(CodeMirror)}(function(e){"use strict";e.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["pgp"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists.txt$/},{name:"CoffeeScript",mime:"text/x-coffeescript",mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history).md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"]},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Jade",mime:"text/x-jade",mode:"jade",ext:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"null",mode:"jinja2"},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mime:"text/n-triples",mode:"ntriples",ext:["nt"]},{name:"Objective C",mime:"text/x-objectivec",mode:"clike",ext:["m","mm"],alias:["objective-c","objc"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mime:"application/x-httpd-php",mode:"php",ext:["php","php3","php4","php5","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mime:"text/x-sh",mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki ",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mime:"text/x-yaml",mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]}];for(var t=0;t-1&&t.substring(i+1,t.length);return o?e.findModeByExtension(o):void 0},e.findModeByName=function(t){t=t.toLowerCase();for(var n=0;n")):null:e.match("--")?n(s("comment","-->")):e.match("DOCTYPE",!0,!0)?(e.eatWhile(/[\w\._\-]/),n(c(1))):null:e.eat("?")?(e.eatWhile(/[\w\._\-]/),t.tokenize=s("meta","?>"),"meta"):(T=e.eat("/")?"closeTag":"openTag",t.tokenize=a,"tag bracket");if("&"==r){var i;return i=e.eat("#")?e.eat("x")?e.eatWhile(/[a-fA-F\d]/)&&e.eat(";"):e.eatWhile(/[\d]/)&&e.eat(";"):e.eatWhile(/[\w\.\-:]/)&&e.eat(";"),i?"atom":"error"}return e.eatWhile(/[^&<]/),null}function a(e,t){var n=e.next();if(">"==n||"/"==n&&e.eat(">"))return t.tokenize=o,T=">"==n?"endTag":"selfcloseTag","tag bracket";if("="==n)return T="equals",null;if("<"==n){t.tokenize=o,t.state=d,t.tagName=t.tagStart=null;var r=t.tokenize(e,t);return r?r+" tag error":"tag error"}return/[\'\"]/.test(n)?(t.tokenize=l(n),t.stringStartCol=e.column(),t.tokenize(e,t)):(e.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function l(e){var t=function(t,n){for(;!t.eol();)if(t.next()==e){n.tokenize=a;break}return"string"};return t.isInAttribute=!0,t}function s(e,t){return function(n,r){for(;!n.eol();){if(n.match(t)){r.tokenize=o;break}n.next()}return e}}function c(e){return function(t,n){for(var r;null!=(r=t.next());){if("<"==r)return n.tokenize=c(e+1),n.tokenize(t,n);if(">"==r){if(1==e){n.tokenize=o;break}return n.tokenize=c(e-1),n.tokenize(t,n)}}return"meta"}}function u(e,t,n){this.prev=e.context,this.tagName=t,this.indent=e.indented,this.startOfLine=n,(S.doNotIndent.hasOwnProperty(t)||e.context&&e.context.noIndent)&&(this.noIndent=!0)}function f(e){e.context&&(e.context=e.context.prev)}function h(e,t){for(var n;;){if(!e.context)return;if(n=e.context.tagName,!S.contextGrabbers.hasOwnProperty(n)||!S.contextGrabbers[n].hasOwnProperty(t))return;f(e)}}function d(e,t,n){return"openTag"==e?(n.tagStart=t.column(),p):"closeTag"==e?m:d}function p(e,t,n){return"word"==e?(n.tagName=t.current(),M="tag",y):(M="error",p)}function m(e,t,n){if("word"==e){var r=t.current();return n.context&&n.context.tagName!=r&&S.implicitlyClosed.hasOwnProperty(n.context.tagName)&&f(n),n.context&&n.context.tagName==r||S.matchClosing===!1?(M="tag",g):(M="tag error",v)}return M="error",v}function g(e,t,n){return"endTag"!=e?(M="error",g):(f(n),d)}function v(e,t,n){return M="error",g(e,t,n)}function y(e,t,n){if("word"==e)return M="attribute",x;if("endTag"==e||"selfcloseTag"==e){var r=n.tagName,i=n.tagStart;return n.tagName=n.tagStart=null,"selfcloseTag"==e||S.autoSelfClosers.hasOwnProperty(r)?h(n,r):(h(n,r),n.context=new u(n,r,i==n.indented)),d}return M="error",y}function x(e,t,n){return"equals"==e?b:(S.allowMissing||(M="error"),y(e,t,n))}function b(e,t,n){return"string"==e?w:"word"==e&&S.allowUnquoted?(M="string",y):(M="error",y(e,t,n))}function w(e,t,n){return"string"==e?w:y(e,t,n)}var k=r.indentUnit,S={},C=i.htmlMode?t:n;for(var L in C)S[L]=C[L];for(var L in i)S[L]=i[L];var T,M;return o.isInText=!0,{startState:function(e){var t={tokenize:o,state:d,indented:e||0,tagName:null,tagStart:null,context:null};return null!=e&&(t.baseIndent=e),t},token:function(e,t){if(!t.tagName&&e.sol()&&(t.indented=e.indentation()),e.eatSpace())return null;T=null;var n=t.tokenize(e,t);return(n||T)&&"comment"!=n&&(M=null,t.state=t.state(T||n,e,t),M&&(n="error"==M?n+" error":M)),n},indent:function(t,n,r){var i=t.context;if(t.tokenize.isInAttribute)return t.tagStart==t.indented?t.stringStartCol+1:t.indented+k;if(i&&i.noIndent)return e.Pass;if(t.tokenize!=a&&t.tokenize!=o)return r?r.match(/^(\s*)/)[0].length:0;if(t.tagName)return S.multilineTagIndentPastTag!==!1?t.tagStart+t.tagName.length+2:t.tagStart+k*(S.multilineTagIndentFactor||1);if(S.alignCDATA&&/$/,blockCommentStart:"",configuration:S.htmlMode?"html":"xml",helperType:S.htmlMode?"html":"xml",skipAttribute:function(e){e.state==b&&(e.state=y)}}}),e.defineMIME("text/xml","xml"),e.defineMIME("application/xml","xml"),e.mimeModes.hasOwnProperty("text/html")||e.defineMIME("text/html",{name:"xml",htmlMode:!0})})},{"../../lib/codemirror":10}],15:[function(e,t,n){n.read=function(e,t,n,r,i){var o,a,l=8*i-r-1,s=(1<>1,u=-7,f=n?i-1:0,h=n?-1:1,d=e[t+f];for(f+=h,o=d&(1<<-u)-1,d>>=-u,u+=l;u>0;o=256*o+e[t+f],f+=h,u-=8);for(a=o&(1<<-u)-1,o>>=-u,u+=r;u>0;a=256*a+e[t+f],f+=h,u-=8);if(0===o)o=1-c;else{if(o===s)return a?NaN:(d?-1:1)*(1/0);a+=Math.pow(2,r),o-=c}return(d?-1:1)*a*Math.pow(2,o-r)},n.write=function(e,t,n,r,i,o){var a,l,s,c=8*o-i-1,u=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:o-1,p=r?1:-1,m=0>t||0===t&&0>1/t?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(l=isNaN(t)?1:0,a=u):(a=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-a))<1&&(a--,s*=2),t+=a+f>=1?h/s:h*Math.pow(2,1-f),t*s>=2&&(a++,s/=2),a+f>=u?(l=0,a=u):a+f>=1?(l=(t*s-1)*Math.pow(2,i),a+=f):(l=t*Math.pow(2,f-1)*Math.pow(2,i),a=0));i>=8;e[n+d]=255&l,d+=p,l/=256,i-=8);for(a=a<0;e[n+d]=255&a,d+=p,a/=256,c-=8);e[n+d-p]|=128*m}},{}],16:[function(e,t,n){var r={}.toString;t.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},{}],17:[function(t,n,r){(function(t){(function(){function t(e){this.tokens=[],this.tokens.links={},this.options=e||h.defaults,this.rules=d.normal,this.options.gfm&&(this.options.tables?this.rules=d.tables:this.rules=d.gfm)}function i(e,t){if(this.options=t||h.defaults,this.links=e,this.rules=p.normal,this.renderer=this.options.renderer||new o,this.renderer.options=this.options,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.gfm?this.options.breaks?this.rules=p.breaks:this.rules=p.gfm:this.options.pedantic&&(this.rules=p.pedantic)}function o(e){this.options=e||{}}function a(e){this.tokens=[],this.token=null,this.options=e||h.defaults,this.options.renderer=this.options.renderer||new o,this.renderer=this.options.renderer,this.renderer.options=this.options}function l(e,t){return e.replace(t?/&/g:/&(?!#?\w+;)/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function s(e){return e.replace(/&([#\w]+);/g,function(e,t){return t=t.toLowerCase(),"colon"===t?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}function c(e,t){return e=e.source,t=t||"",function n(r,i){return r?(i=i.source||i,i=i.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,i),n):new RegExp(e,t)}}function u(){}function f(e){for(var t,n,r=1;rAn error occured:

"+l(u.message+"",!0)+"
";throw u}}var d={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:u,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:u,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:u,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};d.bullet=/(?:[*+-]|\d+\.)/,d.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,d.item=c(d.item,"gm")(/bull/g,d.bullet)(),d.list=c(d.list)(/bull/g,d.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+d.def.source+")")(),d.blockquote=c(d.blockquote)("def",d.def)(),d._tag="(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b",d.html=c(d.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,d._tag)(),d.paragraph=c(d.paragraph)("hr",d.hr)("heading",d.heading)("lheading",d.lheading)("blockquote",d.blockquote)("tag","<"+d._tag)("def",d.def)(),d.normal=f({},d),d.gfm=f({},d.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),d.gfm.paragraph=c(d.paragraph)("(?!","(?!"+d.gfm.fences.source.replace("\\1","\\2")+"|"+d.list.source.replace("\\1","\\3")+"|")(),d.tables=f({},d.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=d,t.lex=function(e,n){var r=new t(n);return r.lex(e)},t.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},t.prototype.token=function(e,t,n){for(var r,i,o,a,l,s,c,u,f,e=e.replace(/^ +$/gm,"");e;)if((o=this.rules.newline.exec(e))&&(e=e.substring(o[0].length),o[0].length>1&&this.tokens.push({type:"space"})),o=this.rules.code.exec(e))e=e.substring(o[0].length),o=o[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?o:o.replace(/\n+$/,"")});else if(o=this.rules.fences.exec(e))e=e.substring(o[0].length),this.tokens.push({type:"code",lang:o[2],text:o[3]||""});else if(o=this.rules.heading.exec(e))e=e.substring(o[0].length),this.tokens.push({type:"heading",depth:o[1].length,text:o[2]});else if(t&&(o=this.rules.nptable.exec(e))){for(e=e.substring(o[0].length),s={type:"table",header:o[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:o[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:o[3].replace(/\n$/,"").split("\n")},u=0;u ?/gm,""),this.token(o,t,!0),this.tokens.push({type:"blockquote_end"});else if(o=this.rules.list.exec(e)){for(e=e.substring(o[0].length),a=o[2],this.tokens.push({type:"list_start",ordered:a.length>1}),o=o[0].match(this.rules.item),r=!1,f=o.length,u=0;f>u;u++)s=o[u],c=s.length,s=s.replace(/^ *([*+-]|\d+\.) +/,""),~s.indexOf("\n ")&&(c-=s.length,s=this.options.pedantic?s.replace(/^ {1,4}/gm,""):s.replace(new RegExp("^ {1,"+c+"}","gm"),"")),this.options.smartLists&&u!==f-1&&(l=d.bullet.exec(o[u+1])[0],a===l||a.length>1&&l.length>1||(e=o.slice(u+1).join("\n")+e,u=f-1)),i=r||/\n\n(?!\s*$)/.test(s),u!==f-1&&(r="\n"===s.charAt(s.length-1),i||(i=r)),this.tokens.push({type:i?"loose_item_start":"list_item_start"}),this.token(s,!1,n),this.tokens.push({type:"list_item_end"});this.tokens.push({type:"list_end"})}else if(o=this.rules.html.exec(e))e=e.substring(o[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===o[1]||"script"===o[1]||"style"===o[1]),text:o[0]});else if(!n&&t&&(o=this.rules.def.exec(e)))e=e.substring(o[0].length),this.tokens.links[o[1].toLowerCase()]={href:o[2],title:o[3]};else if(t&&(o=this.rules.table.exec(e))){for(e=e.substring(o[0].length),s={type:"table", -header:o[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:o[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:o[3].replace(/(?: *\| *)?\n$/,"").split("\n")},u=0;u])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:u,tag:/^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:u,text:/^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/,p.link=c(p.link)("inside",p._inside)("href",p._href)(),p.reflink=c(p.reflink)("inside",p._inside)(),p.normal=f({},p),p.pedantic=f({},p.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),p.gfm=f({},p.normal,{escape:c(p.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:c(p.text)("]|","~]|")("|","|https?://|")()}),p.breaks=f({},p.gfm,{br:c(p.br)("{2,}","*")(),text:c(p.gfm.text)("{2,}","*")()}),i.rules=p,i.output=function(e,t,n){var r=new i(t,n);return r.output(e)},i.prototype.output=function(e){for(var t,n,r,i,o="";e;)if(i=this.rules.escape.exec(e))e=e.substring(i[0].length),o+=i[1];else if(i=this.rules.autolink.exec(e))e=e.substring(i[0].length),"@"===i[2]?(n=":"===i[1].charAt(6)?this.mangle(i[1].substring(7)):this.mangle(i[1]),r=this.mangle("mailto:")+n):(n=l(i[1]),r=n),o+=this.renderer.link(r,null,n);else if(this.inLink||!(i=this.rules.url.exec(e))){if(i=this.rules.tag.exec(e))!this.inLink&&/^/i.test(i[0])&&(this.inLink=!1),e=e.substring(i[0].length),o+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):l(i[0]):i[0];else if(i=this.rules.link.exec(e))e=e.substring(i[0].length),this.inLink=!0,o+=this.outputLink(i,{href:i[2],title:i[3]}),this.inLink=!1;else if((i=this.rules.reflink.exec(e))||(i=this.rules.nolink.exec(e))){if(e=e.substring(i[0].length),t=(i[2]||i[1]).replace(/\s+/g," "),t=this.links[t.toLowerCase()],!t||!t.href){o+=i[0].charAt(0),e=i[0].substring(1)+e;continue}this.inLink=!0,o+=this.outputLink(i,t),this.inLink=!1}else if(i=this.rules.strong.exec(e))e=e.substring(i[0].length),o+=this.renderer.strong(this.output(i[2]||i[1]));else if(i=this.rules.em.exec(e))e=e.substring(i[0].length),o+=this.renderer.em(this.output(i[2]||i[1]));else if(i=this.rules.code.exec(e))e=e.substring(i[0].length),o+=this.renderer.codespan(l(i[2],!0));else if(i=this.rules.br.exec(e))e=e.substring(i[0].length),o+=this.renderer.br();else if(i=this.rules.del.exec(e))e=e.substring(i[0].length),o+=this.renderer.del(this.output(i[1]));else if(i=this.rules.text.exec(e))e=e.substring(i[0].length),o+=this.renderer.text(l(this.smartypants(i[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(i[0].length),n=l(i[1]),r=n,o+=this.renderer.link(r,null,n);return o},i.prototype.outputLink=function(e,t){var n=l(t.href),r=t.title?l(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,l(e[1]))},i.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014\/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014\/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},i.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",r=e.length,i=0;r>i;i++)t=e.charCodeAt(i),Math.random()>.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n},o.prototype.code=function(e,t,n){if(this.options.highlight){var r=this.options.highlight(e,t);null!=r&&r!==e&&(n=!0,e=r)}return t?'
'+(n?e:l(e,!0))+"\n
\n":"
"+(n?e:l(e,!0))+"\n
"},o.prototype.blockquote=function(e){return"
\n"+e+"
\n"},o.prototype.html=function(e){return e},o.prototype.heading=function(e,t,n){return"'+e+"\n"},o.prototype.hr=function(){return this.options.xhtml?"
\n":"
\n"},o.prototype.list=function(e,t){var n=t?"ol":"ul";return"<"+n+">\n"+e+"\n"},o.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},o.prototype.paragraph=function(e){return"

    "+e+"

    \n"},o.prototype.table=function(e,t){return"
    \n\n"+e+"\n\n"+t+"\n
    \n"},o.prototype.tablerow=function(e){return"\n"+e+"\n"},o.prototype.tablecell=function(e,t){var n=t.header?"th":"td",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+e+"\n"},o.prototype.strong=function(e){return""+e+""},o.prototype.em=function(e){return""+e+""},o.prototype.codespan=function(e){return""+e+""},o.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},o.prototype.del=function(e){return""+e+""},o.prototype.link=function(e,t,n){if(this.options.sanitize){try{var r=decodeURIComponent(s(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(i){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:"))return""}var o='
    "},o.prototype.image=function(e,t,n){var r=''+n+'":">"},o.prototype.text=function(e){return e},a.parse=function(e,t,n){var r=new a(t,n);return r.parse(e)},a.prototype.parse=function(e){this.inline=new i(e.links,this.options,this.renderer),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},a.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,r,i,o="",a="";for(n="",e=0;ea;a++)for(var s=this.compoundRules[a],c=0,u=s.length;u>c;c++)this.compoundRuleCodes[s[c]]=[];"ONLYINCOMPOUND"in this.flags&&(this.compoundRuleCodes[this.flags.ONLYINCOMPOUND]=[]),this.dictionaryTable=this._parseDIC(n);for(var a in this.compoundRuleCodes)0==this.compoundRuleCodes[a].length&&delete this.compoundRuleCodes[a];for(var a=0,l=this.compoundRules.length;l>a;a++){for(var f=this.compoundRules[a],h="",c=0,u=f.length;u>c;c++){var d=f[c];h+=d in this.compoundRuleCodes?"("+this.compoundRuleCodes[d].join("|")+")":d}this.compoundRules[a]=new RegExp(h,"i")}}return this};i.prototype={load:function(e){for(var t in e)this[t]=e[t];return this},_readFile:function(t,r){if(r||(r="utf8"),"undefined"!=typeof XMLHttpRequest){var i=new XMLHttpRequest;return i.open("GET",t,!1),i.overrideMimeType&&i.overrideMimeType("text/plain; charset="+r),i.send(null),i.responseText}if("undefined"!=typeof e){var o=e("fs");try{if(o.existsSync(t)){var a=o.statSync(t),l=o.openSync(t,"r"),s=new n(a.size);return o.readSync(l,s,0,s.length,null),s.toString(r,0,s.length)}console.log("Path "+t+" does not exist.")}catch(c){return console.log(c),""}}},_parseAFF:function(e){var t={};e=this._removeAffixComments(e);for(var n=e.split("\n"),r=0,i=n.length;i>r;r++){var o=n[r],a=o.split(/\s+/),l=a[0];if("PFX"==l||"SFX"==l){for(var s=a[1],c=a[2],u=parseInt(a[3],10),f=[],h=r+1,d=r+1+u;d>h;h++){var o=n[h],p=o.split(/\s+/),m=p[2],g=p[3].split("/"),v=g[0];"0"===v&&(v="");var y=this.parseRuleCodes(g[1]),x=p[4],b={};b.add=v,y.length>0&&(b.continuationClasses=y),"."!==x&&("SFX"===l?b.match=new RegExp(x+"$"):b.match=new RegExp("^"+x)),"0"!=m&&("SFX"===l?b.remove=new RegExp(m+"$"):b.remove=m),f.push(b)}t[s]={type:l,combineable:"Y"==c,entries:f},r+=u}else if("COMPOUNDRULE"===l){for(var u=parseInt(a[1],10),h=r+1,d=r+1+u;d>h;h++){var o=n[h],p=o.split(/\s+/);this.compoundRules.push(p[1])}r+=u}else if("REP"===l){var p=o.split(/\s+/);3===p.length&&this.replacementTable.push([p[1],p[2]])}else this.flags[l]=a[1]}return t},_removeAffixComments:function(e){return e=e.replace(/#.*$/gm,""),e=e.replace(/^\s\s*/m,"").replace(/\s\s*$/m,""),e=e.replace(/\n{2,}/g,"\n"),e=e.replace(/^\s\s*/,"").replace(/\s\s*$/,"")},_parseDIC:function(e){function t(e,t){e in r&&"object"==typeof r[e]||(r[e]=[]),r[e].push(t)}e=this._removeDicComments(e);for(var n=e.split("\n"),r={},i=1,o=n.length;o>i;i++){var a=n[i],l=a.split("/",2),s=l[0];if(l.length>1){var c=this.parseRuleCodes(l[1]);"NEEDAFFIX"in this.flags&&-1!=c.indexOf(this.flags.NEEDAFFIX)||t(s,c);for(var u=0,f=c.length;f>u;u++){var h=c[u],d=this.rules[h];if(d)for(var p=this._applyRule(s,d),m=0,g=p.length;g>m;m++){var v=p[m];if(t(v,[]),d.combineable)for(var y=u+1;f>y;y++){var x=c[y],b=this.rules[x];if(b&&b.combineable&&d.type!=b.type)for(var w=this._applyRule(v,b),k=0,S=w.length;S>k;k++){var C=w[k];t(C,[])}}}h in this.compoundRuleCodes&&this.compoundRuleCodes[h].push(s)}}else t(s.trim(),[])}return r},_removeDicComments:function(e){return e=e.replace(/^\t.*$/gm,"")},parseRuleCodes:function(e){if(!e)return[];if(!("FLAG"in this.flags))return e.split("");if("long"===this.flags.FLAG){for(var t=[],n=0,r=e.length;r>n;n+=2)t.push(e.substr(n,2));return t}return"num"===this.flags.FLAG?textCode.split(","):void 0},_applyRule:function(e,t){for(var n=t.entries,r=[],i=0,o=n.length;o>i;i++){var a=n[i];if(!a.match||e.match(a.match)){var l=e;if(a.remove&&(l=l.replace(a.remove,"")),"SFX"===t.type?l+=a.add:l=a.add+l,r.push(l),"continuationClasses"in a)for(var s=0,c=a.continuationClasses.length;c>s;s++){var u=this.rules[a.continuationClasses[s]];u&&(r=r.concat(this._applyRule(l,u)))}}}return r},check:function(e){var t=e.replace(/^\s\s*/,"").replace(/\s\s*$/,"");if(this.checkExact(t))return!0;if(t.toUpperCase()===t){var n=t[0]+t.substring(1).toLowerCase();if(this.hasFlag(n,"KEEPCASE"))return!1;if(this.checkExact(n))return!0}var r=t.toLowerCase();if(r!==t){if(this.hasFlag(r,"KEEPCASE"))return!1;if(this.checkExact(r))return!0}return!1},checkExact:function(e){var t=this.dictionaryTable[e];if("undefined"==typeof t){if("COMPOUNDMIN"in this.flags&&e.length>=this.flags.COMPOUNDMIN)for(var n=0,r=this.compoundRules.length;r>n;n++)if(e.match(this.compoundRules[n]))return!0;return!1}if("object"==typeof t){for(var n=0,r=t.length;r>n;n++)if(!this.hasFlag(e,"ONLYINCOMPOUND",t[n]))return!0;return!1}},hasFlag:function(e,t,n){if(t in this.flags){if("undefined"==typeof n)var n=Array.prototype.concat.apply([],this.dictionaryTable[e]);if(n&&-1!==n.indexOf(this.flags[t]))return!0}return!1},alphabet:"",suggest:function(e,t){function n(e){for(var t=[],n=0,r=e.length;r>n;n++){for(var i=e[n],o=[],a=0,l=i.length+1;l>a;a++)o.push([i.substring(0,a),i.substring(a,i.length)]);for(var s=[],a=0,l=o.length;l>a;a++){var u=o[a];u[1]&&s.push(u[0]+u[1].substring(1))}for(var f=[],a=0,l=o.length;l>a;a++){var u=o[a];u[1].length>1&&f.push(u[0]+u[1][1]+u[1][0]+u[1].substring(2))}for(var h=[],a=0,l=o.length;l>a;a++){var u=o[a];if(u[1])for(var d=0,p=c.alphabet.length;p>d;d++)h.push(u[0]+c.alphabet[d]+u[1].substring(1))}for(var m=[],a=0,l=o.length;l>a;a++){var u=o[a];if(u[1])for(var d=0,p=c.alphabet.length;p>d;d++)h.push(u[0]+c.alphabet[d]+u[1])}t=t.concat(s),t=t.concat(f),t=t.concat(h),t=t.concat(m)}return t}function r(e){for(var t=[],n=0;nu;u++)l[u]in s?s[l[u]]+=1:s[l[u]]=1;var h=[];for(var u in s)h.push([u,s[u]]);h.sort(i).reverse();for(var d=[],u=0,f=Math.min(t,h.length);f>u;u++)c.hasFlag(h[u][0],"NOSUGGEST")||d.push(h[u][0]);return d}if(t||(t=5),this.check(e))return[];for(var o=0,a=this.replacementTable.length;a>o;o++){var l=this.replacementTable[o];if(-1!==e.indexOf(l[0])){var s=e.replace(l[0],l[1]);if(this.check(s))return[s]}}var c=this;return c.alphabet="abcdefghijklmnopqrstuvwxyz",i(e)}},"undefined"!=typeof t&&(t.exports=i)}).call(this,e("buffer").Buffer,"/node_modules/typo-js")},{buffer:3,fs:2}],19:[function(e,t,n){var r=e("codemirror");r.commands.tabAndIndentMarkdownList=function(e){var t=e.listSelections(),n=t[0].head,r=e.getStateAfter(n.line),i=r.list!==!1;if(i)return void e.execCommand("indentMore");if(e.options.indentWithTabs)e.execCommand("insertTab");else{var o=Array(e.options.tabSize+1).join(" ");e.replaceSelection(o)}},r.commands.shiftTabAndUnindentMarkdownList=function(e){var t=e.listSelections(),n=t[0].head,r=e.getStateAfter(n.line),i=r.list!==!1;if(i)return void e.execCommand("indentLess");if(e.options.indentWithTabs)e.execCommand("insertTab");else{var o=Array(e.options.tabSize+1).join(" ");e.replaceSelection(o)}}},{codemirror:10}],20:[function(e,t,n){"use strict";function r(e){return e=U?e.replace("Ctrl","Cmd"):e.replace("Cmd","Ctrl")}function i(e,t,n){e=e||{};var r=document.createElement("a");return t=void 0==t?!0:t,e.title&&t&&(r.title=a(e.title,e.action,n),U&&(r.title=r.title.replace("Ctrl","⌘"),r.title=r.title.replace("Alt","⌥"))),r.tabIndex=-1,r.className=e.className,r}function o(){var e=document.createElement("i");return e.className="separator",e.innerHTML="|",e}function a(e,t,n){var i,o=e;return t&&(i=Y(t),n[i]&&(o+=" ("+r(n[i])+")")),o}function l(e,t){t=t||e.getCursor("start");var n=e.getTokenAt(t);if(!n.type)return{};for(var r,i,o=n.type.split(" "),a={},l=0;l=0&&(d=c.getLineHandle(o),!t(d));o--);var v,y,x,b,w=c.getTokenAt({line:o,ch:1}),k=n(w).fencedChars;t(c.getLineHandle(u.line))?(v="",y=u.line):t(c.getLineHandle(u.line-1))?(v="",y=u.line-1):(v=k+"\n",y=u.line),t(c.getLineHandle(f.line))?(x="",b=f.line,0===f.ch&&(b+=1)):0!==f.ch&&t(c.getLineHandle(f.line+1))?(x="",b=f.line+1):(x=k+"\n",b=f.line+1),0===f.ch&&(b-=1),c.operation(function(){c.replaceRange(x,{line:b,ch:0},{line:b+(x?0:1),ch:0}),c.replaceRange(v,{line:y,ch:0},{line:y+(v?0:1),ch:0})}),c.setSelection({line:y+(v?1:0),ch:0},{line:b+(v?1:-1),ch:0}),c.focus()}else{var S=u.line;if(t(c.getLineHandle(u.line))&&("fenced"===r(c,u.line+1)?(o=u.line,S=u.line+1):(a=u.line,S=u.line-1)),void 0===o)for(o=S;o>=0&&(d=c.getLineHandle(o),!t(d));o--);if(void 0===a)for(l=c.lineCount(),a=S;l>a&&(d=c.getLineHandle(a),!t(d));a++);c.operation(function(){c.replaceRange("",{line:o,ch:0},{line:o+1,ch:0}),c.replaceRange("",{line:a-1,ch:0},{line:a,ch:0})}),c.focus()}else if("indented"===p){if(u.line!==f.line||u.ch!==f.ch)o=u.line,a=f.line,0===f.ch&&a--;else{for(o=u.line;o>=0;o--)if(d=c.getLineHandle(o),!d.text.match(/^\s*$/)&&"indented"!==r(c,o,d)){o+=1;break}for(l=c.lineCount(),a=u.line;l>a;a++)if(d=c.getLineHandle(a),!d.text.match(/^\s*$/)&&"indented"!==r(c,a,d)){a-=1;break}}var C=c.getLineHandle(a+1),L=C&&c.getTokenAt({line:a+1,ch:C.text.length-1}),T=L&&n(L).indentedCode;T&&c.replaceRange("\n",{line:a+1,ch:0});for(var M=o;a>=M;M++)c.indentLine(M,"subtract");c.focus()}else{var N=u.line===f.line&&u.ch===f.ch&&0===u.ch,A=u.line!==f.line;N||A?i(c,u,f,s):E(c,!1,["`","`"])}}function d(e){var t=e.codemirror;I(t,"quote")}function p(e){var t=e.codemirror;O(t,"smaller")}function m(e){var t=e.codemirror;O(t,"bigger")}function g(e){var t=e.codemirror;O(t,void 0,1)}function v(e){var t=e.codemirror;O(t,void 0,2)}function y(e){var t=e.codemirror;O(t,void 0,3)}function x(e){var t=e.codemirror;I(t,"unordered-list")}function b(e){var t=e.codemirror;I(t,"ordered-list")}function w(e){var t=e.codemirror;R(t)}function k(e){var t=e.codemirror,n=l(t),r=e.options,i="http://";return r.promptURLs&&(i=prompt(r.promptTexts.link),!i)?!1:void E(t,n.link,r.insertTexts.link,i)}function S(e){var t=e.codemirror,n=l(t),r=e.options,i="http://";return r.promptURLs&&(i=prompt(r.promptTexts.image),!i)?!1:void E(t,n.image,r.insertTexts.image,i)}function C(e){var t=e.codemirror,n=l(t),r=e.options;E(t,n.table,r.insertTexts.table)}function L(e){var t=e.codemirror,n=l(t),r=e.options;E(t,n.image,r.insertTexts.horizontalRule)}function T(e){var t=e.codemirror;t.undo(),t.focus()}function M(e){var t=e.codemirror;t.redo(),t.focus()}function N(e){var t=e.codemirror,n=t.getWrapperElement(),r=n.nextSibling,i=e.toolbarElements["side-by-side"],o=!1;/editor-preview-active-side/.test(r.className)?(r.className=r.className.replace(/\s*editor-preview-active-side\s*/g,""),i.className=i.className.replace(/\s*active\s*/g,""),n.className=n.className.replace(/\s*CodeMirror-sided\s*/g," ")):(setTimeout(function(){t.getOption("fullScreen")||s(e),r.className+=" editor-preview-active-side"},1),i.className+=" active",n.className+=" CodeMirror-sided",o=!0);var a=n.lastChild;if(/editor-preview-active/.test(a.className)){a.className=a.className.replace(/\s*editor-preview-active\s*/g,"");var l=e.toolbarElements.preview,c=n.previousSibling;l.className=l.className.replace(/\s*active\s*/g,""),c.className=c.className.replace(/\s*disabled-for-preview*/g,"")}var u=function(){r.innerHTML=e.options.previewRender(e.value(),r)};t.sideBySideRenderingFunction||(t.sideBySideRenderingFunction=u),o?(r.innerHTML=e.options.previewRender(e.value(),r),t.on("update",t.sideBySideRenderingFunction)):t.off("update",t.sideBySideRenderingFunction),t.refresh()}function A(e){var t=e.codemirror,n=t.getWrapperElement(),r=n.previousSibling,i=e.options.toolbar?e.toolbarElements.preview:!1,o=n.lastChild;o&&/editor-preview/.test(o.className)||(o=document.createElement("div"),o.className="editor-preview",n.appendChild(o)),/editor-preview-active/.test(o.className)?(o.className=o.className.replace(/\s*editor-preview-active\s*/g,""),i&&(i.className=i.className.replace(/\s*active\s*/g,""),r.className=r.className.replace(/\s*disabled-for-preview*/g,""))):(setTimeout(function(){o.className+=" editor-preview-active"},1),i&&(i.className+=" active",r.className+=" disabled-for-preview")),o.innerHTML=e.options.previewRender(e.value(),o);var a=t.getWrapperElement().nextSibling;/editor-preview-active-side/.test(a.className)&&N(e)}function E(e,t,n,r){if(!/editor-preview-active/.test(e.getWrapperElement().lastChild.className)){var i,o=n[0],a=n[1],l=e.getCursor("start"),s=e.getCursor("end");r&&(a=a.replace("#url#",r)),t?(i=e.getLine(l.line),o=i.slice(0,l.ch),a=i.slice(l.ch),e.replaceRange(o+a,{line:l.line,ch:0})):(i=e.getSelection(),e.replaceSelection(o+i+a),l.ch+=o.length,l!==s&&(s.ch+=o.length)),e.setSelection(l,s),e.focus()}}function O(e,t,n){if(!/editor-preview-active/.test(e.getWrapperElement().lastChild.className)){for(var r=e.getCursor("start"),i=e.getCursor("end"),o=r.line;o<=i.line;o++)!function(r){var i=e.getLine(r),o=i.search(/[^#]/);i=void 0!==t?0>=o?"bigger"==t?"###### "+i:"# "+i:6==o&&"smaller"==t?i.substr(7):1==o&&"bigger"==t?i.substr(2):"bigger"==t?i.substr(1):"#"+i:1==n?0>=o?"# "+i:o==n?i.substr(o+1):"# "+i.substr(o+1):2==n?0>=o?"## "+i:o==n?i.substr(o+1):"## "+i.substr(o+1):0>=o?"### "+i:o==n?i.substr(o+1):"### "+i.substr(o+1),e.replaceRange(i,{line:r,ch:0},{line:r,ch:99999999999999})}(o);e.focus()}}function I(e,t){if(!/editor-preview-active/.test(e.getWrapperElement().lastChild.className)){for(var n=l(e),r=e.getCursor("start"),i=e.getCursor("end"),o={quote:/^(\s*)\>\s+/,"unordered-list":/^(\s*)(\*|\-|\+)\s+/,"ordered-list":/^(\s*)\d+\.\s+/},a={quote:"> ","unordered-list":"* ","ordered-list":"1. "},s=r.line;s<=i.line;s++)!function(r){var i=e.getLine(r);i=n[t]?i.replace(o[t],"$1"):a[t]+i,e.replaceRange(i,{line:r,ch:0},{line:r,ch:99999999999999})}(s);e.focus()}}function P(e,t,n,r){if(!/editor-preview-active/.test(e.codemirror.getWrapperElement().lastChild.className)){r="undefined"==typeof r?n:r;var i,o=e.codemirror,a=l(o),s=n,c=r,u=o.getCursor("start"),f=o.getCursor("end");a[t]?(i=o.getLine(u.line),s=i.slice(0,u.ch),c=i.slice(u.ch),"bold"==t?(s=s.replace(/(\*\*|__)(?![\s\S]*(\*\*|__))/,""),c=c.replace(/(\*\*|__)/,"")):"italic"==t?(s=s.replace(/(\*|_)(?![\s\S]*(\*|_))/,""),c=c.replace(/(\*|_)/,"")):"strikethrough"==t&&(s=s.replace(/(\*\*|~~)(?![\s\S]*(\*\*|~~))/,""),c=c.replace(/(\*\*|~~)/,"")),o.replaceRange(s+c,{line:u.line,ch:0},{line:u.line,ch:99999999999999}),"bold"==t||"strikethrough"==t?(u.ch-=2,u!==f&&(f.ch-=2)):"italic"==t&&(u.ch-=1,u!==f&&(f.ch-=1))):(i=o.getSelection(),"bold"==t?(i=i.split("**").join(""),i=i.split("__").join("")):"italic"==t?(i=i.split("*").join(""),i=i.split("_").join("")):"strikethrough"==t&&(i=i.split("~~").join("")),o.replaceSelection(s+i+c),u.ch+=n.length,f.ch=u.ch+i.length),o.setSelection(u,f),o.focus()}}function R(e){if(!/editor-preview-active/.test(e.getWrapperElement().lastChild.className))for(var t,n=e.getCursor("start"),r=e.getCursor("end"),i=n.line;i<=r.line;i++)t=e.getLine(i),t=t.replace(/^[ ]*([# ]+|\*|\-|[> ]+|[0-9]+(.|\)))[ ]*/,""),e.replaceRange(t,{line:i,ch:0},{line:i,ch:99999999999999})}function D(e,t){for(var n in t)t.hasOwnProperty(n)&&(t[n]instanceof Array?e[n]=t[n].concat(e[n]instanceof Array?e[n]:[]):null!==t[n]&&"object"==typeof t[n]&&t[n].constructor===Object?e[n]=D(e[n]||{},t[n]):e[n]=t[n]);return e}function H(e){for(var t=1;t=19968?n[i].length:1;return r}function B(e){e=e||{},e.parent=this;var t=!0;if(e.autoDownloadFontAwesome===!1&&(t=!1),e.autoDownloadFontAwesome!==!0)for(var n=document.styleSheets,r=0;r-1&&(t=!1);if(t){var i=document.createElement("link");i.rel="stylesheet",i.href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css",document.getElementsByTagName("head")[0].appendChild(i)}if(e.element)this.element=e.element;else if(null===e.element)return void console.log("SimpleMDE: Error. No element was found.");if(void 0===e.toolbar){e.toolbar=[];for(var o in K)K.hasOwnProperty(o)&&(-1!=o.indexOf("separator-")&&e.toolbar.push("|"),(K[o]["default"]===!0||e.showIcons&&e.showIcons.constructor===Array&&-1!=e.showIcons.indexOf(o))&&e.toolbar.push(o))}e.hasOwnProperty("status")||(e.status=["autosave","lines","words","cursor"]),e.previewRender||(e.previewRender=function(e){return this.parent.markdown(e)}),e.parsingConfig=H({highlightFormatting:!0},e.parsingConfig||{}),e.insertTexts=H({},X,e.insertTexts||{}),e.promptTexts=Z,e.blockStyles=H({},J,e.blockStyles||{}),e.shortcuts=H({},G,e.shortcuts||{}),void 0!=e.autosave&&void 0!=e.autosave.unique_id&&""!=e.autosave.unique_id&&(e.autosave.uniqueId=e.autosave.unique_id),this.options=e,this.render(),!e.initialValue||this.options.autosave&&this.options.autosave.foundSavedValue===!0||this.value(e.initialValue)}function _(){if("object"!=typeof localStorage)return!1;try{localStorage.setItem("smde_localStorage",1),localStorage.removeItem("smde_localStorage")}catch(e){return!1}return!0}var F=e("codemirror");e("codemirror/addon/edit/continuelist.js"),e("./codemirror/tablist"),e("codemirror/addon/display/fullscreen.js"),e("codemirror/mode/markdown/markdown.js"),e("codemirror/addon/mode/overlay.js"),e("codemirror/addon/display/placeholder.js"),e("codemirror/addon/selection/mark-selection.js"),e("codemirror/mode/gfm/gfm.js"),e("codemirror/mode/xml/xml.js");var z=e("codemirror-spell-checker"),j=e("marked"),U=/Mac/.test(navigator.platform),q={toggleBold:c,toggleItalic:u,drawLink:k,toggleHeadingSmaller:p,toggleHeadingBigger:m,drawImage:S,toggleBlockquote:d,toggleOrderedList:b,toggleUnorderedList:x,toggleCodeBlock:h,togglePreview:A,toggleStrikethrough:f,toggleHeading1:g,toggleHeading2:v,toggleHeading3:y,cleanBlock:w,drawTable:C,drawHorizontalRule:L,undo:T,redo:M,toggleSideBySide:N,toggleFullScreen:s},G={toggleBold:"Cmd-B",toggleItalic:"Cmd-I",drawLink:"Cmd-K",toggleHeadingSmaller:"Cmd-H",toggleHeadingBigger:"Shift-Cmd-H",cleanBlock:"Cmd-E",drawImage:"Cmd-Alt-I",toggleBlockquote:"Cmd-'",toggleOrderedList:"Cmd-Alt-L",toggleUnorderedList:"Cmd-L",toggleCodeBlock:"Cmd-Alt-C",togglePreview:"Cmd-P",toggleSideBySide:"F9",toggleFullScreen:"F11"},Y=function(e){for(var t in q)if(q[t]===e)return t;return null},$=function(){var e=!1;return function(t){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0); -}(navigator.userAgent||navigator.vendor||window.opera),e},V="",K={bold:{name:"bold",action:c,className:"fa fa-bold",title:"Bold","default":!0},italic:{name:"italic",action:u,className:"fa fa-italic",title:"Italic","default":!0},strikethrough:{name:"strikethrough",action:f,className:"fa fa-strikethrough",title:"Strikethrough"},heading:{name:"heading",action:p,className:"fa fa-header",title:"Heading","default":!0},"heading-smaller":{name:"heading-smaller",action:p,className:"fa fa-header fa-header-x fa-header-smaller",title:"Smaller Heading"},"heading-bigger":{name:"heading-bigger",action:m,className:"fa fa-header fa-header-x fa-header-bigger",title:"Bigger Heading"},"heading-1":{name:"heading-1",action:g,className:"fa fa-header fa-header-x fa-header-1",title:"Big Heading"},"heading-2":{name:"heading-2",action:v,className:"fa fa-header fa-header-x fa-header-2",title:"Medium Heading"},"heading-3":{name:"heading-3",action:y,className:"fa fa-header fa-header-x fa-header-3",title:"Small Heading"},"separator-1":{name:"separator-1"},code:{name:"code",action:h,className:"fa fa-code",title:"Code"},quote:{name:"quote",action:d,className:"fa fa-quote-left",title:"Quote","default":!0},"unordered-list":{name:"unordered-list",action:x,className:"fa fa-list-ul",title:"Generic List","default":!0},"ordered-list":{name:"ordered-list",action:b,className:"fa fa-list-ol",title:"Numbered List","default":!0},"clean-block":{name:"clean-block",action:w,className:"fa fa-eraser fa-clean-block",title:"Clean block"},"separator-2":{name:"separator-2"},link:{name:"link",action:k,className:"fa fa-link",title:"Create Link","default":!0},image:{name:"image",action:S,className:"fa fa-picture-o",title:"Insert Image","default":!0},table:{name:"table",action:C,className:"fa fa-table",title:"Insert Table"},"horizontal-rule":{name:"horizontal-rule",action:L,className:"fa fa-minus",title:"Insert Horizontal Line"},"separator-3":{name:"separator-3"},preview:{name:"preview",action:A,className:"fa fa-eye no-disable",title:"Toggle Preview","default":!0},"side-by-side":{name:"side-by-side",action:N,className:"fa fa-columns no-disable no-mobile",title:"Toggle Side by Side","default":!0},fullscreen:{name:"fullscreen",action:s,className:"fa fa-arrows-alt no-disable no-mobile",title:"Toggle Fullscreen","default":!0},"separator-4":{name:"separator-4"},guide:{name:"guide",action:"https://simplemde.com/markdown-guide",className:"fa fa-question-circle",title:"Markdown Guide","default":!0},"separator-5":{name:"separator-5"},undo:{name:"undo",action:T,className:"fa fa-undo no-disable",title:"Undo"},redo:{name:"redo",action:M,className:"fa fa-repeat no-disable",title:"Redo"}},X={link:["[","](#url#)"],image:["![](","#url#)"],table:["","\n\n| Column 1 | Column 2 | Column 3 |\n| -------- | -------- | -------- |\n| Text | Text | Text |\n\n"],horizontalRule:["","\n\n-----\n\n"]},Z={link:"URL for the link:",image:"URL of the image:"},J={bold:"**",code:"```",italic:"*"};B.prototype.markdown=function(e){if(j){var t={};return this.options&&this.options.renderingConfig&&this.options.renderingConfig.singleLineBreaks===!1?t.breaks=!1:t.breaks=!0,this.options&&this.options.renderingConfig&&this.options.renderingConfig.codeSyntaxHighlighting===!0&&window.hljs&&(t.highlight=function(e){return window.hljs.highlightAuto(e).value}),j.setOptions(t),j(e)}},B.prototype.render=function(e){if(e||(e=this.element||document.getElementsByTagName("textarea")[0]),!this._rendered||this._rendered!==e){this.element=e;var t=this.options,n=this,i={};for(var o in t.shortcuts)null!==t.shortcuts[o]&&null!==q[o]&&!function(e){i[r(t.shortcuts[e])]=function(){q[e](n)}}(o);i.Enter="newlineAndIndentContinueMarkdownList",i.Tab="tabAndIndentMarkdownList",i["Shift-Tab"]="shiftTabAndUnindentMarkdownList",i.Esc=function(e){e.getOption("fullScreen")&&s(n)},document.addEventListener("keydown",function(e){e=e||window.event,27==e.keyCode&&n.codemirror.getOption("fullScreen")&&s(n)},!1);var a,l;if(t.spellChecker!==!1?(a="spell-checker",l=t.parsingConfig,l.name="gfm",l.gitHubSpice=!1,z({codeMirrorInstance:F})):(a=t.parsingConfig,a.name="gfm",a.gitHubSpice=!1),this.codemirror=F.fromTextArea(e,{mode:a,backdrop:l,theme:"paper",tabSize:void 0!=t.tabSize?t.tabSize:2,indentUnit:void 0!=t.tabSize?t.tabSize:2,indentWithTabs:t.indentWithTabs!==!1,lineNumbers:!1,autofocus:t.autofocus===!0,extraKeys:i,lineWrapping:t.lineWrapping!==!1,allowDropFileTypes:["text/plain"],placeholder:t.placeholder||e.getAttribute("placeholder")||"",styleSelectedText:void 0!=t.styleSelectedText?t.styleSelectedText:!0}),t.forceSync===!0){var c=this.codemirror;c.on("change",function(){c.save()})}this.gui={},t.toolbar!==!1&&(this.gui.toolbar=this.createToolbar()),t.status!==!1&&(this.gui.statusbar=this.createStatusbar()),void 0!=t.autosave&&t.autosave.enabled===!0&&this.autosave(),this.gui.sideBySide=this.createSideBySide(),this._rendered=this.element;var u=this.codemirror;setTimeout(function(){u.refresh()}.bind(u),0)}},B.prototype.autosave=function(){if(_()){var e=this;if(void 0==this.options.autosave.uniqueId||""==this.options.autosave.uniqueId)return void console.log("SimpleMDE: You must set a uniqueId to use the autosave feature");null!=e.element.form&&void 0!=e.element.form&&e.element.form.addEventListener("submit",function(){localStorage.removeItem("smde_"+e.options.autosave.uniqueId)}),this.options.autosave.loaded!==!0&&("string"==typeof localStorage.getItem("smde_"+this.options.autosave.uniqueId)&&""!=localStorage.getItem("smde_"+this.options.autosave.uniqueId)&&(this.codemirror.setValue(localStorage.getItem("smde_"+this.options.autosave.uniqueId)),this.options.autosave.foundSavedValue=!0),this.options.autosave.loaded=!0),localStorage.setItem("smde_"+this.options.autosave.uniqueId,e.value());var t=document.getElementById("autosaved");if(null!=t&&void 0!=t&&""!=t){var n=new Date,r=n.getHours(),i=n.getMinutes(),o="am",a=r;a>=12&&(a=r-12,o="pm"),0==a&&(a=12),i=10>i?"0"+i:i,t.innerHTML="Autosaved: "+a+":"+i+" "+o}this.autosaveTimeoutId=setTimeout(function(){e.autosave()},this.options.autosave.delay||1e4)}else console.log("SimpleMDE: localStorage not available, cannot autosave")},B.prototype.clearAutosavedValue=function(){if(_()){if(void 0==this.options.autosave||void 0==this.options.autosave.uniqueId||""==this.options.autosave.uniqueId)return void console.log("SimpleMDE: You must set a uniqueId to clear the autosave value");localStorage.removeItem("smde_"+this.options.autosave.uniqueId)}else console.log("SimpleMDE: localStorage not available, cannot autosave")},B.prototype.createSideBySide=function(){var e=this.codemirror,t=e.getWrapperElement(),n=t.nextSibling;n&&/editor-preview-side/.test(n.className)||(n=document.createElement("div"),n.className="editor-preview-side",t.parentNode.insertBefore(n,t.nextSibling));var r=!1,i=!1;return e.on("scroll",function(e){if(r)return void(r=!1);i=!0;var t=e.getScrollInfo().height-e.getScrollInfo().clientHeight,o=parseFloat(e.getScrollInfo().top)/t,a=(n.scrollHeight-n.clientHeight)*o;n.scrollTop=a}),n.onscroll=function(){if(i)return void(i=!1);r=!0;var t=n.scrollHeight-n.clientHeight,o=parseFloat(n.scrollTop)/t,a=(e.getScrollInfo().height-e.getScrollInfo().clientHeight)*o;e.scrollTo(0,a)},n},B.prototype.createToolbar=function(e){if(e=e||this.options.toolbar,e&&0!==e.length){var t;for(t=0;t - -``` - -Alternatively, you can link to the latest `1.x` version of the Web Font Loader by using `https://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js` as the `script` source. Note that the version in this url is less specific. It will always load the latest `1.x` version, but it also has a shorter cache time to ensure that your page gets updates in a timely manner. For performance reasons, we recommend using an explicit version number (such as `1.6.26`) in urls when using the Web Font Loader in production. You can manually update the Web Font Loader version number in the url when you want to adopt a new version. - -Web Font Loader is also available on the [jsDelivr](http://www.jsdelivr.com/projects/webfontloader) & [CDNJS](https://cdnjs.com/libraries/webfont) CDNs. - -It is also possible to use the Web Font Loader asynchronously. For example, to load [Typekit](http://www.typekit.com) fonts asynchronously, you could use the following code. - -```html - -``` - -Using the Web Font Loader asynchronously avoids blocking your page while loading the JavaScript. Be aware that if the script is used asynchronously, the rest of the page might render before the Web Font Loader is loaded and executed, which can cause a [Flash of Unstyled Text (FOUT)](http://help.typekit.com/customer/portal/articles/6852). - -The FOUT can be more easily avoided when loading the Web Font Loader synchronously, as it will automatically set the `wf-loading` class on the HTML element as soon as `Webfont.load` has been called. The browser will wait for the script to load before continuing to load the rest of the content, FOUT is avoided. - -Web Font Loader is also available on npm as a CommonJS module. Just `npm install webfontloader` and then require it in your code. - -```js - var WebFont = require('webfontloader'); - - WebFont.load({ - google: { - families: ['Droid Sans', 'Droid Serif'] - } - }); -``` - -## Configuration - -The Web Font Loader configuration is defined by a global variable named `WebFontConfig`, or passed directly to the `WebFont.load` method. It defines which fonts to load from each web font provider and gives you the option to specify callbacks for certain events. When using the asynchronous approach, you must define the global variable `WebFontConfig` before the code that loads the Web Font Loader (as in the example above). - -### Events - -Web Font Loader provides an event system that developers can hook into. It gives you notifications of the font loading sequence in both CSS and JavaScript. - - * `loading` - This event is triggered when all fonts have been requested. - * `active` - This event is triggered when the fonts have rendered. - * `inactive` - This event is triggered when the browser does not support linked fonts *or* if none of the fonts could be loaded. - * `fontloading` - This event is triggered once for each font that's loaded. - * `fontactive` - This event is triggered once for each font that renders. - * `fontinactive` - This event is triggered if the font can't be loaded. - -CSS events are implemented as classes on the `html` element. The following classes are set on the `html` element: - -```css -.wf-loading -.wf-active -.wf-inactive -.wf---loading -.wf---active -.wf---inactive -``` - -The `` placeholder will be replaced by a sanitized version of the name of each font family. Spaces and underscores are removed from the name, and all characters are converted to lower case. For example, `Droid Sans` becomes `droidsans`. The `` placeholder is a [Font Variation Description](https://github.com/typekit/fvd). Put simply, it's a shorthand for describing the style and weight of a particular font. Here are a few examples: - -```css -/* n4 */ -@font-face { font-style: normal; font-weight: normal; } - -/* i7 */ -@font-face { font-style: italic; font-weight: bold; } -``` - -Keep in mind that `font-weight: normal` maps to `font-weight: 400` and `font-weight: bold` maps to `font-weight: 700`. If no style/weight is specified, the default `n4` (`font-style: normal; font-weight: normal;`) will be used. - -If fonts are loaded multiple times on a single page, the CSS classes continue to update to reflect the current state of the page. The global `wf-loading` class is applied whenever fonts are being requested (even if other fonts are already active or inactive). The `wf-inactive` class is applied only if none of the fonts on the page have rendered. Otherwise, the `wf-active` class is applied (even if some fonts are inactive). - -JavaScript events are implemented as callback functions on the `WebFontConfig` configuration object. - -```javascript -WebFontConfig = { - loading: function() {}, - active: function() {}, - inactive: function() {}, - fontloading: function(familyName, fvd) {}, - fontactive: function(familyName, fvd) {}, - fontinactive: function(familyName, fvd) {} -}; -``` - -The `fontloading`, `fontactive` and `fontinactive` callbacks are passed the family name and font variation description of the font that concerns the event. - -It is possible to disable setting classes on the HTML element by setting the `classes` configuration parameter to `false` (defaults to `true`). - -```javascript -WebFontConfig = { - classes: false -}; -``` - -You can also disable font events (callbacks) by setting the `events` parameter to `false` (defaults to `true`). - -```javascript -WebFontConfig = { - events: false -}; -``` - -If both events and classes are disabled, the Web Font Loader does not perform font watching and only acts as a way to insert @font-face rules in the document. - -### Timeouts - -Since the Internet is not 100% reliable, it's possible that a font will fail to load. The `fontinactive` event will be triggered after 5 seconds if the font fails to render. If *at least* one font successfully renders, the `active` event will be triggered, else the `inactive` event will be triggered. - -You can change the default timeout by using the `timeout` option on the `WebFontConfig` object. - -```javascript -WebFontConfig = { - google: { - families: ['Droid Sans'] - }, - timeout: 2000 // Set the timeout to two seconds -}; -``` - -The timeout value should be in milliseconds, and defaults to 3000 milliseconds (3 seconds) if not supplied. - -### Iframes - -Usually, it's easiest to include a copy of Web Font Loader in every window where fonts are needed, so that each window manages its own fonts. However, if you need to have a single window manage fonts for multiple same-origin child windows or iframes that are built up using JavaScript, Web Font Loader supports that as well. Just use the optional `context` configuration option and give it a reference to the target window for loading: - -```javascript -WebFontConfig = { - google: { - families: ['Droid Sans'] - }, - context: frames['my-child'] -}; -``` - -This is an advanced configuration option that isn't needed for most use cases. - -## Modules - -Web Font Loader provides a module system so that any web font provider can contribute code that allows their fonts to be loaded. This makes it possible to use multiple web font providers at the same time. The specifics of each provider currently supported by the library are documented here. - -### Adobe Edge Web Fonts - -When using [Adobe Edge Web Fonts](https://edgewebfonts.adobe.com/), you can use the `typekit` module by passing in a catenated list of fonts in the `id` parameter and set the `api` parameter to point to the Edge Web Fonts URL. - -```javascript -WebFontConfig = { - typekit: { - id: 'adamina;advent-pro', - api: '//use.edgefonts.net' - } -}; -``` - -### Custom - -To load fonts from any external stylesheet, use the `custom` module. Here you'll -need to specify the font family names you're trying to load, and optionally the url of the stylesheet that provides the `@font-face` declarations for those fonts. - -You can specify a specific font variation or set of variations to load and watch -by appending the variations separated by commas to the family name separated by -a colon. Variations are specified using [FVD notation](https://github.com/typekit/fvd). - -```javascript -WebFontConfig = { - custom: { - families: ['My Font', 'My Other Font:n4,i4,n7'], - urls: ['/fonts.css'] - } -}; -``` - -In this example, the `fonts.css` file might look something like this: - -```css -@font-face { - font-family: 'My Font'; - src: ...; -} -@font-face { - font-family: 'My Other Font'; - font-style: normal; - font-weight: normal; /* or 400 */ - src: ...; -} -@font-face { - font-family: 'My Other Font'; - font-style: italic; - font-weight: normal; /* or 400 */ - src: ...; -} -@font-face { - font-family: 'My Other Font'; - font-style: normal; - font-weight: bold; /* or 700 */ - src: ...; -} -``` - -If your fonts are already included in another stylesheet you can also leave out the `urls` array and just specify font family names to start font loading. As long as the names match those that are declared in the `families` array, the proper loading classes will be applied to the html element. - -```html - - - - -``` - -The custom module also supports customizing the test strings that are used to determine whether or not a font has loaded. This can be used to load fonts with custom subsets or glyphs in the private use unicode area. - -```javascript -WebFontConfig = { - custom: { - families: ['My Font'], - testStrings: { - 'My Font': '\uE003\uE005' - } - } -}; -``` - -Tests strings should be specified on a per font basis and contain at least one character. If not specified the default test string (`BESbswy`) is used. - -### Fontdeck - -To use the [Fontdeck](http://fontdeck.com/) module, specify the ID of your website. You can find this ID on the website page within your account settings. - -```javascript -WebFontConfig = { - fontdeck: { - id: 'xxxxx' - } -}; -``` - -### Fonts.com - -When using [Fonts.com web fonts](http://www.fonts.com/web-fonts/) specify your Project ID. - -```javascript -WebFontConfig = { - monotype: { - projectId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', - version: 12345, // (optional, flushes the CDN cache) - loadAllFonts: true //(optional, loads all project fonts) - } -}; -``` - -The Fonts.com module has an optional `version` option which acts as a cache-buster, optional `loadAllFonts` loads all project fonts. By default, Fonts.com module loads only fonts used on the page. - -### Google - -Using [Google's Font API](https://code.google.com/apis/webfonts/docs/getting_started.html), name the font families you'd like to load. You can use the same [syntax](https://developers.google.com/fonts/docs/getting_started#Syntax) as in the Font API to specify styles. Please note that the Google module does not support the FVD syntax that is used in the custom module. - -```javascript -WebFontConfig = { - google: { - families: ['Droid Sans', 'Droid Serif:bold'] - } -}; -``` - -Sometimes the font you requested doesn't come in the default weight (e.g. 400) and you need to explicitly request the variation you want for font events to work (e.g. `300`, `700`, etc.): - -```javascript -WebFontConfig = { - google: { - families: ['Open Sans Condensed:300,700'] - } -}; -``` - -If you need to specify character subsets other than the default (e.g.: greek script in addition to latin), you must append the subset string to the requested family string after a colon. The subset string should follow the [Google documentation](https://developers.google.com/fonts/docs/getting_started#Subsets) (subset names separated by commas): - -```javascript -WebFontConfig = { - google: { - families: ['Open Sans Condensed:300,700:latin,greek'] - } -}; -``` - -You can also supply the `text` parameter to perform character subsetting: - -```javascript -WebFontConfig = { - google: { - families: ['Droid Sans', 'Droid Serif'], - text: 'abcdefghijklmnopqrstuvwxyz!' - } -}; -``` - -The `text` subsetting functionality is only available for the Google module. - -### Typekit - -When using [Typekit](http://www.typekit.com), specify the Kit to retrieve by its ID. You can find the Kit ID within Typekit's Kit Editor interface. - -```javascript -WebFontConfig = { - typekit: { - id: 'xxxxxx' - } -}; -``` - -**FYI:** Typekit's own JavaScript is built using the Web Font Loader library and already provides all of the same font event functionality. If you're using Typekit, you should use their embed codes directly unless you also need to load web fonts from other providers on the same page. - -## Browser Support - -Every web browser has varying levels of support for fonts linked via `@font-face`. Web Font Loader determines support for web fonts is using the browser's user agent string. The user agent string may claim to support a web font format when it in fact does not. This is especially noticeable on mobile browsers with a "Desktop" mode, which usually identify as Chrome on Linux. In this case a web font provider may decide to send WOFF fonts to the device because the real desktop Chrome supports it, while the mobile browser does not. The Web Font Loader is not designed to handle these cases and it defaults to believing what's in the user agent string. Web font providers can build on top of the basic Web Font Loader functionality to handle these special cases individually. - -If Web Font Loader determines that the current browser does not support `@font-face`, the `inactive` event will be triggered. - -When loading fonts from multiple providers, each provider may or may not support a given browser. If Web Font Loader determines that the current browser can support `@font-face`, and *at least* one provider is able to serve fonts, the fonts from that provider will be loaded. When finished, the `active` event will be triggered. - -For fonts loaded from supported providers, the `fontactive` event will be triggered. For fonts loaded from a provider that *does not* support the current browser, the `fontinactive` event will be triggered. - -For example: - -```javascript -WebFontConfig = { - providerA: 'Family1', - providerB: 'Family2' -}; -``` - -If `providerA` can serve fonts to a browser, but `providerB` cannot, The `fontinactive` event will be triggered for `Family2`. The `fontactive` event will be triggered for `Family1` once it loads, as will the `active` event. - -## Copyright and License - -Web Font Loader Copyright (c) 2010-2017 Adobe Systems Incorporated, Google Incorporated. - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. diff --git a/site/trunk/js/webfontloader/Webfontloader github.url b/site/trunk/js/webfontloader/Webfontloader github.url deleted file mode 100644 index ed42a22..0000000 --- a/site/trunk/js/webfontloader/Webfontloader github.url +++ /dev/null @@ -1,5 +0,0 @@ -[{000214A0-0000-0000-C000-000000000046}] -Prop3=19,11 -[InternetShortcut] -IDList= -URL=https://github.com/typekit/webfontloader/ diff --git a/site/trunk/js/webfontloader/webfontloader.js b/site/trunk/js/webfontloader/webfontloader.js deleted file mode 100644 index dbab477..0000000 --- a/site/trunk/js/webfontloader/webfontloader.js +++ /dev/null @@ -1,18 +0,0 @@ -/* Web Font Loader v1.6.27 - (c) Adobe Systems, Google. License: Apache 2.0 */(function(){function aa(a,b,c){return a.call.apply(a.bind,arguments)}function ba(a,b,c){if(!a)throw Error();if(2=b.f?e():a.fonts.load(fa(b.a),b.h).then(function(a){1<=a.length?d():setTimeout(k,25)},function(){e()})}k()}),e=new Promise(function(a,d){setTimeout(d,b.f)});Promise.race([e,d]).then(function(){b.g(b.a)},function(){b.j(b.a)})};function R(a,b,c,d,e,f,g){this.v=a;this.B=b;this.c=c;this.a=d;this.s=g||"BESbswy";this.f={};this.w=e||3E3;this.u=f||null;this.o=this.j=this.h=this.g=null;this.g=new N(this.c,this.s);this.h=new N(this.c,this.s);this.j=new N(this.c,this.s);this.o=new N(this.c,this.s);a=new H(this.a.c+",serif",K(this.a));a=P(a);this.g.a.style.cssText=a;a=new H(this.a.c+",sans-serif",K(this.a));a=P(a);this.h.a.style.cssText=a;a=new H("serif",K(this.a));a=P(a);this.j.a.style.cssText=a;a=new H("sans-serif",K(this.a));a= -P(a);this.o.a.style.cssText=a;O(this.g);O(this.h);O(this.j);O(this.o)}var S={D:"serif",C:"sans-serif"},T=null;function U(){if(null===T){var a=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent);T=!!a&&(536>parseInt(a[1],10)||536===parseInt(a[1],10)&&11>=parseInt(a[2],10))}return T}R.prototype.start=function(){this.f.serif=this.j.a.offsetWidth;this.f["sans-serif"]=this.o.a.offsetWidth;this.A=q();la(this)}; -function ma(a,b,c){for(var d in S)if(S.hasOwnProperty(d)&&b===a.f[S[d]]&&c===a.f[S[d]])return!0;return!1}function la(a){var b=a.g.a.offsetWidth,c=a.h.a.offsetWidth,d;(d=b===a.f.serif&&c===a.f["sans-serif"])||(d=U()&&ma(a,b,c));d?q()-a.A>=a.w?U()&&ma(a,b,c)&&(null===a.u||a.u.hasOwnProperty(a.a.c))?V(a,a.v):V(a,a.B):na(a):V(a,a.v)}function na(a){setTimeout(p(function(){la(this)},a),50)}function V(a,b){setTimeout(p(function(){v(this.g.a);v(this.h.a);v(this.j.a);v(this.o.a);b(this.a)},a),0)};function W(a,b,c){this.c=a;this.a=b;this.f=0;this.o=this.j=!1;this.s=c}var X=null;W.prototype.g=function(a){var b=this.a;b.g&&w(b.f,[b.a.c("wf",a.c,K(a).toString(),"active")],[b.a.c("wf",a.c,K(a).toString(),"loading"),b.a.c("wf",a.c,K(a).toString(),"inactive")]);L(b,"fontactive",a);this.o=!0;oa(this)}; -W.prototype.h=function(a){var b=this.a;if(b.g){var c=y(b.f,b.a.c("wf",a.c,K(a).toString(),"active")),d=[],e=[b.a.c("wf",a.c,K(a).toString(),"loading")];c||d.push(b.a.c("wf",a.c,K(a).toString(),"inactive"));w(b.f,d,e)}L(b,"fontinactive",a);oa(this)};function oa(a){0==--a.f&&a.j&&(a.o?(a=a.a,a.g&&w(a.f,[a.a.c("wf","active")],[a.a.c("wf","loading"),a.a.c("wf","inactive")]),L(a,"active")):M(a.a))};function pa(a){this.j=a;this.a=new ja;this.h=0;this.f=this.g=!0}pa.prototype.load=function(a){this.c=new ca(this.j,a.context||this.j);this.g=!1!==a.events;this.f=!1!==a.classes;qa(this,new ha(this.c,a),a)}; -function ra(a,b,c,d,e){var f=0==--a.h;(a.f||a.g)&&setTimeout(function(){var a=e||null,k=d||null||{};if(0===c.length&&f)M(b.a);else{b.f+=c.length;f&&(b.j=f);var h,m=[];for(h=0;h - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/trunk/robots.txt b/site/trunk/robots.txt deleted file mode 100644 index ff7d8fd..0000000 --- a/site/trunk/robots.txt +++ /dev/null @@ -1,2 +0,0 @@ -User-Agent: * -Disallow: * \ No newline at end of file