+ {% include sidebar-search.html %} {% include sidebar-post-nav.html %}
-
- {% include sidebar-search.html %}
- {% include sidebar-post-nav.html %}
-
-
diff --git a/_posts/2022-07-03-drug-drug-interaction.md b/_posts/2022-07-03-drug-drug-interaction.md
index 4d2fd679936..c822d7c5357 100644
--- a/_posts/2022-07-03-drug-drug-interaction.md
+++ b/_posts/2022-07-03-drug-drug-interaction.md
@@ -3,7 +3,7 @@ layout: post
title: 【Pharmacokinetic】Drug Development and Drug-Drug Interactions
categories: Pharmacokinetic
description: 药物-药物相互作用
-keywords: Pharmacokinetic,Clinical,Drug Development, Drug Interactions
+keywords: Pharmacokinetic,Clinical,Drug Development, Drug Interactions
---
This short essay summarize some information on drug-drug interaction focues on CYP enzyme based on FDA guidance. (Available : )
@@ -14,73 +14,54 @@ This short essay summarize some information on drug-drug interaction focues on C
![](https://github.com/WenruiTan/Wr.github.io/blob/master/images/posts/pharmacokinetic/invitro%20marker%20reaction.png?raw=true)
-
![](https://github.com/WenruiTan/Wr.github.io/blob/master/images/posts/pharmacokinetic/invitro%20selective%20inhibitor.png?raw=true)
-
![](https://github.com/WenruiTan/Wr.github.io/blob/master/images/posts/pharmacokinetic/invitro%20selective%20inducer.png?raw=true)
-
**Clinical index drugs**
According to FDA guidance on Clinical Drug Interaction Studies — Cytochrome P450 Enzyme- and Transporter-Mediated Drug Interactions Guidance for Industry (Available : )
![](https://github.com/WenruiTan/Wr.github.io/blob/master/images/posts/pharmacokinetic/DDI%20CYP.png?raw=true)
-This classification information helps to determine whether other drugs that have not been investigated in a DDI study have clinically significant DDIs with the investigational drug and therefore need to be mentioned in labeling. For example, if an investigational drug is a strong CYP3A inhibitor, its potential to interact with drugs that have clinically significant interactions with other strong CYP3A inhibitors should be considered, and the sponsor should add appropriate language regarding these additional interactions to the investigational drug’s labeling.
-
-
-To test whether the investigational drug is a perpetrator, sponsors should use index substrates, which have defined changes in systemic exposure when administered with a strong inhibitor for a specific drug elimination pathway. A list of currently recommended index drugs for specific CYP pathways (either as substrates, inhibitors, or inducers) is maintained on the FDA’s Web site for Drug Development and Drug Interactions. (Available :https://www.fda.gov/drugs/drug-interactions-labeling/drug-development-and-drug-interactions-table-substrates-inhibitors-and-inducers#table2 ).
+This classification information helps to determine whether other drugs that have not been investigated in a DDI study have clinically significant DDIs with the investigational drug and therefore need to be mentioned in labeling. For example, if an investigational drug is a strong CYP3A inhibitor, its potential to interact with drugs that have clinically significant interactions with other strong CYP3A inhibitors should be considered, and the sponsor should add appropriate language regarding these additional interactions to the investigational drug’s labeling.
+To test whether the investigational drug is a perpetrator, sponsors should use index substrates, which have defined changes in systemic exposure when administered with a strong inhibitor for a specific drug elimination pathway. A list of currently recommended index drugs for specific CYP pathways (either as substrates, inhibitors, or inducers) is maintained on the FDA’s Web site for Drug Development and Drug Interactions. (Available :https://www.fda.gov/drugs/drug-interactions-labeling/drug-development-and-drug-interactions-table-substrates-inhibitors-and-inducers#table2 ).
![](https://github.com/WenruiTan/Wr.github.io/blob/master/images/posts/pharmacokinetic/clinical%20index%20substrate.png?raw=true)
-
Sensitive index substrates are index drugs that demonstrate an increase in AUC of ≥5-fold with strong index inhibitors of a given metabolic pathway in clinical DDI studies. Moderate sensitive substrates are drug that demonstrate an increase in AUC of ≥2 to <5-fold with strong index inhibitors of a given metabolic pathway in clinical DDI studies.
-
The above table is prepared to provide examples of clinical sensitive or moderate sensitive index substrates and is not intended to be an exhaustive list. Index substrates listed in this table were selected considering their sensitivity, specificity, safety profiles, and adequate number of reported clinical DDI studies with different in vivo inhibitors (≥ 3 for CYP3A or ≥ 2 for CYP1A2, 2C8, 2C9, 2C19, and 2D6).
-
![](https://github.com/WenruiTan/Wr.github.io/blob/master/images/posts/pharmacokinetic/clinical%20index%20inhibitor.png?raw=true)
- Index inhibitors predictably inhibit metabolism via a given pathway and are commonly used in prospective clinical DDI studies.
-
-
+Index inhibitors predictably inhibit metabolism via a given pathway and are commonly used in prospective clinical DDI studies.
+
This table is prepared to provide examples of clinical index inhibitors and is not intended to be an exhaustive list. Index inhibitors listed in this table were selected based on potency and selectivity of inhibition, safety profiles, and adequate number of reported clinical DDI studies with different in vivo substrates [≥ 3 for CYP3A, ≥ 2 for CYP1A2, 2C9, 2C19, and 2D6, or ≥ 1 for CYP2C8 (strong inhibitors)].
-
-
+
![](https://github.com/WenruiTan/Wr.github.io/blob/master/images/posts/pharmacokinetic/clinical%20index%20inducer.png?raw=true)
-
-
-Index inducers predictably induce metabolism via a given pathway and are commonly used in prospective clinical DDI studies.
+Index inducers predictably induce metabolism via a given pathway and are commonly used in prospective clinical DDI studies.
This table is prepared to provide examples of clinical index inducers and not intended to be an exhaustive list. Index inducers listed in this table were selected based on potency of induction, safety profiles, and number of reported clinical DDI studies with different in vivo substrates (≥ 2 substrates).
-
-
![](https://github.com/WenruiTan/Wr.github.io/blob/master/images/posts/pharmacokinetic/Probe%20for%20P450.png?raw=true)
-
**Examples of clinical substrates, inhibitors, and inducers**
Sensitive substrates are drugs that demonstrate an increase in AUC of ≥5-fold with strong index inhibitors of a given metabolic pathway in clinical DDI studies. Moderate sensitive substrates are drugs that demonstrate an increase in AUC of ≥2 to <5-fold with strong index inhibitors of a given metabolic pathway in clinical DDI studies.
-The above table is prepared to provide examples of clinical substrates and not intended to be an exhaustive list
-
+The above table is prepared to provide examples of clinical substrates and not intended to be an exhaustive list
![](https://github.com/WenruiTan/Wr.github.io/blob/master/images/posts/pharmacokinetic/clinical%20inhibitor%20of%20P450.png?raw=true)
- Strong, moderate, and weak inhibitors are drugs that increase the AUC of sensitive index substrates of a given metabolic pathway ≥5-fold, ≥2 to <5-fold, and ≥1.25 to <2-fold, respectively.
-
+Strong, moderate, and weak inhibitors are drugs that increase the AUC of sensitive index substrates of a given metabolic pathway ≥5-fold, ≥2 to <5-fold, and ≥1.25 to <2-fold, respectively.
This table is prepared to provide examples of clinical inhibitors and is not intended to be an exhaustive list.
-
![](https://github.com/WenruiTan/Wr.github.io/blob/master/images/posts/pharmacokinetic/clinical%20inducer%20of%20P450.png?raw=true)
Strong, moderate, and weak inducers are drugs that decreases the AUC of sensitive index substrates of a given metabolic pathway by ≥80%, ≥50% to <80%, and ≥20% to <50%, respectively.
-
This table is prepared to provide examples of clinical index inducers and not intended to be an exhaustive list.
diff --git a/_posts/2022-07-04-SpecialpopulationPK.md b/_posts/2022-07-04-SpecialpopulationPK.md
index 0a1a767a7af..3eecc30fa70 100644
--- a/_posts/2022-07-04-SpecialpopulationPK.md
+++ b/_posts/2022-07-04-SpecialpopulationPK.md
@@ -3,25 +3,23 @@ layout: post
title: 【Pharmacokinetic】Pharmacokinetic Notes for Special Populations
categories: Pharmacokinetic
description: 特殊人群药代动力学笔记
-keywords: Pharmacokinetic,Clinical
+keywords: Pharmacokinetic,Clinical
---
-## Special Population
+## Special Population
**Renal Dysfunction**
Drug may require adjustment when :
-1) Drug >50% clearaed by renal excretion
-
-2) Renal <50% of normal
+1. Drug >50% clearaed by renal excretion
+2. Renal <50% of normal
**Pregnancy**
![](https://github.com/WenruiTan/Wr.github.io/blob/master/images/posts/pharmacokinetic/PK%20in%20pregnancy.png?raw=true)
-
**Pediatric**
The sizes of different organs change:
@@ -31,8 +29,3 @@ The sizes of different organs change:
Enzyme Expression and Metabolic Rate:
-
-
-
-
-
diff --git a/_posts/2022-07-05-Hysteresis.md b/_posts/2022-07-05-Hysteresis.md
index 2c763af752a..37e022848af 100644
--- a/_posts/2022-07-05-Hysteresis.md
+++ b/_posts/2022-07-05-Hysteresis.md
@@ -3,27 +3,23 @@ layout: post
title: 【Pharmacodynamic】Hysteresis
categories: Pharmacodynamic
description: Hysteresis
-keywords: Pharmacokinetic,Clinical
+keywords: Pharmacokinetic,Clinical
---
## Hysteresis
Hysteresis may be defined as the retardation or lagging of an effect behind the cause of the effect.
-
## How hysteresis occur
**Counter-clockwise hysteresis**
-
-Some potential causes for counter-clockwise-hysteresis include distribution delay between the plasma and effect site, response delay,distributional delay, feedback regulation, input and output rate changes,
+Some potential causes for counter-clockwise-hysteresis include distribution delay between the plasma and effect site, response delay,distributional delay, feedback regulation, input and output rate changes,
sensitization of receptors, the formation and subsequent accumulation of active metabolites through drug metabolism as well as up regulation of receptors after ongoing exposure
and the use of racemic drugs.
-
**Clockwise hysteresis**
-
-A clockwise hysteresis loop occurs when rapid tolerance (tachyphylaxis) develops. The response for a given plasma concentration is initially high, but decreases as tolerance rapidly develops.
+A clockwise hysteresis loop occurs when rapid tolerance (tachyphylaxis) develops. The response for a given plasma concentration is initially high, but decreases as tolerance rapidly develops.
Examples are cocaine or indirectly acting sympathomimetic drugs such as pseudoephedrine.
diff --git a/_posts/2022-07-09-Transcription.md b/_posts/2022-07-09-Transcription.md
index 2067ea54875..c38e5a5bfee 100644
--- a/_posts/2022-07-09-Transcription.md
+++ b/_posts/2022-07-09-Transcription.md
@@ -3,42 +3,35 @@ layout: post
title: 【Genomic】Basic Transcription Note
categories: Genomic
description: Transcription
-keywords: Transcription factor,RNA polymerase,DNA,genomic
+keywords: Transcription factor,RNA polymerase,DNA,genomic
---
**Transcription Factor**
-
-Transcription factors are proteins involved in the process of converting, or transcribing, DNA into RNA. Transcription factors include a wide number of proteins, excluding RNA polymerase, that initiate and regulate the transcription of genes. One distinct feature of transcription factors is that they have DNA-binding domains
+Transcription factors are proteins involved in the process of converting, or transcribing, DNA into RNA. Transcription factors include a wide number of proteins, excluding RNA polymerase, that initiate and regulate the transcription of genes. One distinct feature of transcription factors is that they have DNA-binding domains
that give them the ability to bind to specific sequences of DNA called enhancer or promoter sequences.
-Some transcription factors bind to a DNA promoter sequence near the transcription start site and help form the transcription initiation complex.
+Some transcription factors bind to a DNA promoter sequence near the transcription start site and help form the transcription initiation complex.
Other transcription factors bind to regulatory sequences, such as enhancer sequences, and can either stimulate or repress transcription of the related gene.
-These regulatory sequences can be thousands of base pairs upstream or downstream from the gene being transcribed. Regulation of transcription is the most common form of gene control.
+These regulatory sequences can be thousands of base pairs upstream or downstream from the gene being transcribed. Regulation of transcription is the most common form of gene control.
The action of transcription factors allows for unique expression of each gene in different cell types and during development.
-
**Chromatin and Nucleosome**
-Chromatin is a complex of DNA and proteins that forms chromosomes within the nucleus of eukaryotic cells. The main purpose of chromatin is to tightly pack the DNA inside the cell nucleus.
-Chromatin regulates the gene expression and allows DNA replication in addition to the packaging. It also prevents DNA damage.
-
-Nucleosome refers to the main structural unit of the eukaryotic chromatin that consists of a length of DNA coiled around a core of histones. This means the core particles that form chromatin are the nucleosomes. A nucleosome consists of 146 base pairs long DNA stretches, wrapped around a core of histone.
-The histone core is made up of eight histone proteins. The histone octamer is formed by combining two of each four histones, H2A, H2B, H3, and H4.
+Chromatin is a complex of DNA and proteins that forms chromosomes within the nucleus of eukaryotic cells. The main purpose of chromatin is to tightly pack the DNA inside the cell nucleus.
+Chromatin regulates the gene expression and allows DNA replication in addition to the packaging. It also prevents DNA damage.
+Nucleosome refers to the main structural unit of the eukaryotic chromatin that consists of a length of DNA coiled around a core of histones. This means the core particles that form chromatin are the nucleosomes. A nucleosome consists of 146 base pairs long DNA stretches, wrapped around a core of histone.
+The histone core is made up of eight histone proteins. The histone octamer is formed by combining two of each four histones, H2A, H2B, H3, and H4.
**Trans-regulatory sequences**
Trans-regulatory sequences are transcription factor proteins that regulate the process of transcription such as general TFs and RNA pol2, sequence specific TFs, co-activators/co-repressor and histones.
-
-
**Cis-regulatory sequences**
-Cis-regulatory sequences are noncoding DNA sequences in or near a gene required for proper spatiotemporal expression of that gene, often containing binding sites for transcription factors such as enhancers promoters and insulator, control development and physiology by regulating gene expression.
-
-
+Cis-regulatory sequences are noncoding DNA sequences in or near a gene required for proper spatiotemporal expression of that gene, often containing binding sites for transcription factors such as enhancers promoters and insulator, control development and physiology by regulating gene expression.
**Primary Cell**
diff --git a/_posts/2022-07-12-ATACseq.md b/_posts/2022-07-12-ATACseq.md
index a8e8b62aac4..694f2641799 100644
--- a/_posts/2022-07-12-ATACseq.md
+++ b/_posts/2022-07-12-ATACseq.md
@@ -3,26 +3,25 @@ layout: post
title: 【Genomic】ATAC-seq and Deep Learning in genomic
categories: Genomic
description: Transcription
-keywords: Transcription factor,ATAC-seq
+keywords: Transcription factor,ATAC-seq
---
Some good article worth reading for ATAC-seq beginner
-1) Transposition of native chromatin for fast and sensitive epigenomic profiling of open chromatin, DNA-binding proteins and nucleosome position
+1. Transposition of native chromatin for fast and sensitive epigenomic profiling of open chromatin, DNA-binding proteins and nucleosome position
-2) From reads to insight: a hitchhiker’s guide to ATAC-seq data analysis
+2. From reads to insight: a hitchhiker’s guide to ATAC-seq data analysis
-3) ATACseqQC: a Bioconductor package for post-alignment quality assessment of ATAC-seq data
+3. ATACseqQC: a Bioconductor package for post-alignment quality assessment of ATAC-seq data
-4) ChIP-seq guidelines and practices of the ENCODE and modENCODE consortia
-
-5) Model-based Analysis of ChIP-Seq (MACS)
+4. ChIP-seq guidelines and practices of the ENCODE and modENCODE consortia
+5. Model-based Analysis of ChIP-Seq (MACS)
Some good article worth reading for Deep Learning in genomic
-1) Deep learning: new computational modelling techniques for genomics
+1. Deep learning: new computational modelling techniques for genomics
-2) A primer on deep learning in genomics
+2. A primer on deep learning in genomics
-3) Navigating the pitfalls of applying machine learning in genomics
+3. Navigating the pitfalls of applying machine learning in genomics
diff --git a/_posts/2022-08-01-Rstudymaterial.md b/_posts/2022-08-01-Rstudymaterial.md
index ce32609541e..09f941a4e98 100644
--- a/_posts/2022-08-01-Rstudymaterial.md
+++ b/_posts/2022-08-01-Rstudymaterial.md
@@ -3,12 +3,9 @@ layout: post
title: 【R】R study material
categories: R
description: R
-keywords: R, study material
+keywords: R, study material
---
-
-
-
Good study website for R
diff --git a/_posts/2022-08-03-R_ggplot-Scatterplot.md b/_posts/2022-08-03-R_ggplot-Scatterplot.md
index e422b8c6e93..eaa22b0a951 100644
--- a/_posts/2022-08-03-R_ggplot-Scatterplot.md
+++ b/_posts/2022-08-03-R_ggplot-Scatterplot.md
@@ -3,7 +3,7 @@ layout: post
title: 【R】ggplot--Scatterplot
categories: R
description: ggplot作图
-keywords: R, visualization ,scatterplot
+keywords: R, visualization ,scatterplot
---
Code
@@ -19,7 +19,7 @@ college <- college %>%
# Create the scatterplot from Video 2.1
ggplot(data=college) +
- geom_point(mapping=aes(x=tuition, y=sat_avg, color=control, size=undergrads), alpha=1/2)
+ geom_point(mapping=aes(x=tuition, y=sat_avg, color=control, size=undergrads), alpha=1/2)
# Add a text annotation
ggplot(data=college) +
@@ -67,4 +67,3 @@ ggplot(data=college) +
Plot
![](https://github.com/Wrlog/Wr.github.io/blob/master/images/posts/R/scatterplot.png?raw=true)
-
diff --git a/_posts/2022-08-13-object_oriented_programming.md b/_posts/2022-08-13-object_oriented_programming.md
index c445fe04c16..b6332df3d41 100644
--- a/_posts/2022-08-13-object_oriented_programming.md
+++ b/_posts/2022-08-13-object_oriented_programming.md
@@ -3,7 +3,7 @@ layout: post
title: 【Python】Object Oriented Programming
categories: Programming
description: Programming
-keywords: Python, Object Oriented Programming,
+keywords: Python, Object Oriented Programming,
---
## Object Oreineted Programming
@@ -15,10 +15,10 @@ class Dog:
def __init__(self, name, breed):
self.name = name
self.breed = breed
-
+
def bark(self):
print("Woof!")
-
+
def display(self):
print("Name: ", self.name)
print("Breed: ", self.breed)
@@ -26,27 +26,22 @@ class Dog:
dog1 = Dog("Fido", "Golden Retriever")
dog1.bark()
dog1.display()
-
+
```
**Object**: In object-oriented programming, an object is a piece of data that has a set of properties (also known as attributes) and methods that can be used to interact with the data. Objects are instances of classes, which are templates or blueprints for creating objects.
-
**Class**: A class is a blueprint or template for creating objects. It defines the properties (attributes) and methods that an object of that class will have. A class defines the structure of the object, but it does not contain any specific data.
-
**Instance**: An instance is a specific object that is created from a class. When an object is created from a class, it is said to be an instance of that class. Each instance has its own unique properties, but all instances have the same methods and behaviors defined by the class.
-
**Method**: A method is a function that is defined within a class and is associated with an object. Methods define the behavior of the object, and they can be used to interact with the object's properties (attributes). Methods are typically used to retrieve or update the object's data.
-
The term 'object' is often used to refer both to actual data structures and to the general paradigm of object-oriented programming, we'll typically stick to the terms 'class' and 'instance' instead.
-
## Explanation
-In this example, the Dog class is defined with two instance variables name and breed which are passed as arguments to the __init__ method. The __init__ method is a special method in Python classes that is called when an object of the class is created. The bark and display methods are also defined in the class.
+In this example, the Dog class is defined with two instance variables name and breed which are passed as arguments to the **init** method. The **init** method is a special method in Python classes that is called when an object of the class is created. The bark and display methods are also defined in the class.
We can create an object of the Dog class by calling it as a function and passing the required arguments, as you can see in the last line of the code dog1 = Dog("Fido", "Golden Retriever").
diff --git a/_posts/2022-09-03-Maximum likelihood estimation, maximum posterior probability estimation and Bayesian formula.md b/_posts/2022-09-03-Maximum likelihood estimation, maximum posterior probability estimation and Bayesian formula.md
index 895ef792720..0dab1f0c7af 100644
--- a/_posts/2022-09-03-Maximum likelihood estimation, maximum posterior probability estimation and Bayesian formula.md
+++ b/_posts/2022-09-03-Maximum likelihood estimation, maximum posterior probability estimation and Bayesian formula.md
@@ -1,94 +1,81 @@
---
layout: post
title: 【Statistic】Maximum likelihood estimation, Maximum a posteriori probability estimation
-categories: Statistic
+categories: Statistic
description: MLE,MAP,Bayesian
-keywords: Maximum likelihood estimation
+keywords: Maximum likelihood estimation
---
-Maximum likelihood estimation (MLE) and maximum a posteriori estimation (MAP) are two very common methods for parameter estimation, and it is easy to confuse them if you do not understand the ideas of these two methods.
+Maximum likelihood estimation (MLE) and maximum a posteriori estimation (MAP) are two very common methods for parameter estimation, and it is easy to confuse them if you do not understand the ideas of these two methods.
The following section will explain the ideas and differences of MLE and MAP in detail.
Let's start with the difference between probability and statistics.
-
## Probability and Statistics are the same thing?
Probability and statistics may seem like two similar concepts, but they actually study the opposite research question.
-The problem of probabilistic research is how to predict the characteristics of the results produced by a model (e.g. mean, variance, covariance, etc.) when the model and parameters are known. For example, I want to study how to raise swine (the model is pigs),
+The problem of probabilistic research is how to predict the characteristics of the results produced by a model (e.g. mean, variance, covariance, etc.) when the model and parameters are known. For example, I want to study how to raise swine (the model is pigs),
I have chosen the breed I want to raise, the feeding method, the design of the shed, etc. (choose the parameters), and I want to know approximately how fat and how good the meat will be when I raise the swine (predict the outcome).
-The problem with statistical studies is the opposite. Statistics is that there is a pile of data that has to be used to predict models and parameters.
-Still using the swine as an example. Now I get a pile of meat and through observation and judgment I determine that it is pork (which determines the model.)
-In the actual research, also by observing the data to speculate the model is / like Gaussian distribution, exponential distribution, Laplace distribution, etc.), then,
+The problem with statistical studies is the opposite. Statistics is that there is a pile of data that has to be used to predict models and parameters.
+Still using the swine as an example. Now I get a pile of meat and through observation and judgment I determine that it is pork (which determines the model.)
+In the actual research, also by observing the data to speculate the model is / like Gaussian distribution, exponential distribution, Laplace distribution, etc.), then,
you can further research to determine the breed of this pig, this is a captive pig or a Wild Boar or other species, and so on (predict model parameters).
**In a nutshell: probability is to predict the data with known model and parameters. Statistics is known data, predicting the model and parameters.**
-Obviously, both MLE and MAP explained in this paper are problems in the field of **statistics**.
-They are both methods used to infer parameters. Why do two different methods exist? This requires an understanding of Bayesian thinking.
+Obviously, both MLE and MAP explained in this paper are problems in the field of **statistics**.
+They are both methods used to infer parameters. Why do two different methods exist? This requires an understanding of Bayesian thinking.
Let's take a look at the Bayesian formulation.
+## Bayesian Formula
-## Bayesian Formula
## What is it really saying?
-
Anyone studying machine learning and pattern recognition must have heard of the Bayes' Theorem formula:
-
The Bayesian formula looks simple and is nothing more than a formula for playing the conditional probability and joint probability.
-
Expanding B, it can be written as follows :
-
This equation is interesting.
Think about this situation. A car (or electric car) alarm goes off, what is your usual reaction? A thief? A car crash? Nope. You usually do not react to anything. Because a car alarm goes off is just too normal! It happens many times a day. Originally, car alarms were set up to function as an unusual situation that required human attention. However, because there are simply too many false alarms, people gradually do not trust the function of the alarm.
-
**The Bayesian formula is a description of how much you can trust the evidence. (how much you can trust the evidence)**
Let's assume that the purpose of the alarm is to say that the car was smashed. Take **A as "the car was smashed" and B as "the alarm went off"** and bring them into the Bayesian equation. We want to find the probability of the left side of the equation
, which is saying that the alarm went off and the car did get smashed. The car being smashed causes the alarm to go off, i.e..
-
However, it is also possible that the car was kicked by a child's ball, touched by a pedestrian and other reasons (statistics as
- ), other reasons caused the car alarm sounded, that is,. So, what is the probability that the car has been smashed when the alarm is suddenly heard (i.e., with the evidence that the alarm is sounding, how sure can we be that it is indeed an alarm that the car has been smashed)? Let's think about it this way. Divide the number of events in which the alarm went off and the car was smashed by the number of events in which the alarm went off.
-
+), other reasons caused the car alarm sounded, that is,. So, what is the probability that the car has been smashed when the alarm is suddenly heard (i.e., with the evidence that the alarm is sounding, how sure can we be that it is indeed an alarm that the car has been smashed)? Let's think about it this way. Divide the number of events in which the alarm went off and the car was smashed by the number of events in which the alarm went off.
To expand further, the number of events where the alarm went off and the car was also smashed is divided by the number of events where the alarm went off and the car was smashed plus the number of events where the alarm went off and the car was not smashed
**Summarize Bayes' formula from this perspective: When making judgments, consider all the factors.** When your boss scolds you, it doesn't necessarily mean that you screwed up some work, it might just be that he had a fight with his wife before he left home today.
-
Think of the Bayesian formula in this light: something that is already difficult to happen, even if some evidence appears that is strongly correlated with him, should be cautious. The evidence is likely to come from something else that, although not very relevant, has a higher probability of occurring. I found that the code I just wrote compiled with an error, but I am in a particularly good state today, and I am familiar with this language, so the probability of making a mistake is very low. So I think it's a compiler error. --don't, let's just check our code again.
-
## Likelihood function
-
The word likelihood is actually similar in meaning to probability, and the Colins dictionary explains it this way: The **likelihood** of something happening is how likely it is to happen. You replace likelihood with probability, this interpretation also reads well. But in statistics, the likelihood function and the probability function are two different concepts (in fact, they are also very similar).
For this function :
-
There are two inputs: x denotes a specific data; and is the parameters of the model.
If is known for sure and is a variable, this function is called the probability function , which describes what the probability of occurrence is for different sample points x.
+If is known for sure and is a variable, this function is called the likelihood function, which describes the probability of occurrence of the sample point x for different model parameters.
-If is known for sure and is a variable, this function is called the likelihood function, which describes the probability of occurrence of the sample point x for different model parameters.
-
-It's kind of like "two dishes in one". In fact, it is not uncommon for us to encounter such a form before. For example, ,that is, x to the yth power.
+It's kind of like "two dishes in one". In fact, it is not uncommon for us to encounter such a form before. For example, ,that is, x to the yth power.
If it is known for sure x(e.g.x = 2), this is, this is the exponential function . If it is known for sure y (e.g.y = 2), this is , this is the quadratic function. The same mathematical form can have different names when viewed from the perspective of different variables.
@@ -96,28 +83,23 @@ That should make it clear, right? If it's not clear, don't worry, there will be
Now it's really time to talk about MLE first.
-
## Maximum Likelihood Estimation (MLE)
Suppose there is a mint that produces a certain coin, and now we have one of these coins and want to see if it is uniform. That is, we want to know what is the probability of tossing this coin, and what is the probability of it coming up on both sides (denoted as
- )?
+)?
This is a statistical problem. Think back. What do you need to solve a statistical problem? Data!
-So we take this coin and flip it 10 times, and the data we get ( ) is: tail,heads,heads,heads,heads,tails,,heads,heads,heads,tails. The probability of heads, we want to find is a model parameter, and the coin toss model we can assume is a binomial distribution.
+So we take this coin and flip it 10 times, and the data we get ( ) is: tail,heads,heads,heads,heads,tails,,heads,heads,heads,tails. The probability of heads, we want to find is a model parameter, and the coin toss model we can assume is a binomial distribution.
So, what is the likelihood function of the experimental result (i.e.,tail,heads,heads,heads,heads,tails,,heads,heads,heads,tails)?
-
-
Note that this is a function that is only about the . And the maximum likelihood estimation, as the name implies, is to maximize this function. We can draw the image of.
-
-
It can be seen that the likelihood function achieves its maximum value at time .
Thus, we have completed the maximum likelihood estimation of . That is, if we flip a coin 10 times and find that 7 times the coin is tipped heads, the maximum likelihood estimate is 0.7. (ummm...that's pretty intuitive and reasonable, right?)
@@ -126,59 +108,45 @@ Wait, some people may say, coins are usually even! Even if you do the experiment
Here contains the Bayesian of thought - to consider the prior probability. For this reason, the maximum a posteriori probability estimate is introduced.
-
## Maximum a posteriori probability estimation
The maximum likelihood estimation is to find the parameter , which maximizes the likelihood function . The maximum a posterior probability estimation is to find that maximize . Not only do we want the likelihood function of to be large, but we also want the prior probability of occurrence to be large. (This is a pretty much like the idea of adding penalty terms in regularization, but regularization uses addition, while MAP uses multiplication)
MAP is actually maximizing
-
-
However, since
- is a certainty (i.e.,"tail,heads,heads,heads,heads,tails,,heads,heads,heads,tails"), is a known value, so the denominator is removed (suppose "10 tosses" is an experiment, and the experiment is done 1000 times, and "tail,heads,heads,heads,heads,tails,,heads,heads,heads,tails" Ocurred n times, then
-
-
+is a certainty (i.e.,"tail,heads,heads,heads,heads,tails,,heads,heads,heads,tails"), is a known value, so the denominator is removed (suppose "10 tosses" is an experiment, and the experiment is done 1000 times, and "tail,heads,heads,heads,heads,tails,,heads,heads,heads,tails" Ocurred n times, then
+
In short, it is a value that can be obtained from the data set. The meaning of maximization of is also clear,already present
,Require to tkae the value that maximize .Incidentally,
- is the posterior probability, which is the origin of the name "maximum posterior probability estimation".
-
+is the posterior probability, which is the origin of the name "maximum posterior probability estimation".
For the coin toss example, we believe ("know a priori") that there is a high probability of taking 0.5 and a smaller probability of taking other values. We specify this prior knowledge we have with a Gaussian distribution, for example, assuming as a Gaussian function with mean 0.5 and variance 0.1, as follows :
-
-
Then the image of the function of is as follow :
-
-
Note that at this point, when the function takes its maximum value, value is shifted to the left and is no longer 0.7. In fact, the function takes as its maximum value at the time. That is, using the maximum posterior probability estimate, we get .
Finally, what does it take to convince a Bayesian ? You have to do more experiments.
If you do 1000 experiments and 700 of them are positive, then the likelihood function is :
-
-
If one still assumes is a Gaussian function with mean 0.5 and variance 0.1, the image of the function is :
-
At , obtained the maximum value.
-
## The difference between maximum likelihood estimation and maximum a posterior probability estimation
-
-I believe that after reading the above, the difference between MLE and MAP should be clear, MAP is multiple factors as a priori probability . Alternatively, it can be reversed to consider MLE as the prior probability equal to 1, i.e.,take as a uniform distribution.
+I believe that after reading the above, the difference between MLE and MAP should be clear, MAP is multiple factors as a priori probability . Alternatively, it can be reversed to consider MLE as the prior probability equal to 1, i.e.,take as a uniform distribution.
--From Wechat--
diff --git a/_posts/2022-11-06-E-max.md b/_posts/2022-11-06-E-max.md
index 2165d8c2296..cfaf9761b83 100644
--- a/_posts/2022-11-06-E-max.md
+++ b/_posts/2022-11-06-E-max.md
@@ -3,7 +3,7 @@ layout: post
title: 【Pharmacodynamic】Emax Model
categories: Pharmacodynamic
description: 药效学
-keywords: Pharmacodynamic,Clinical
+keywords: Pharmacodynamic,Clinical
---
## Origin of Emax model
@@ -13,16 +13,12 @@ pharmacological properties of a drug, to explain the apparent zero-order rate of
![](https://github.com/WenruiTan/Wr.github.io/blob/master/images/posts/pharmacodynamic/1.1.png?raw=true)
-With E0 as the effect value at the start of the decrease in E, k is a first-order elimination rate constant of the drug, m represents the linear positive slope of a concentration-effect plot when the effect is between 20 and 80 % maximal (abscissa = natural log of drug concentration and ordinate = effect on a linear scale), and t is time. This expression identifies the k * m product as the determinant of the linear decrease in drug effects for simple, rapid direct effects (i.e., reversible agonists or antagonists for which turnover processes are not rate-limiting). This discovery marked the beginning of identifying factors that regulate the in vivo time-course of drug effects in a quantitative manner.
-
+With E0 as the effect value at the start of the decrease in E, k is a first-order elimination rate constant of the drug, m represents the linear positive slope of a concentration-effect plot when the effect is between 20 and 80 % maximal (abscissa = natural log of drug concentration and ordinate = effect on a linear scale), and t is time. This expression identifies the k \* m product as the determinant of the linear decrease in drug effects for simple, rapid direct effects (i.e., reversible agonists or antagonists for which turnover processes are not rate-limiting). This discovery marked the beginning of identifying factors that regulate the in vivo time-course of drug effects in a quantitative manner.
Shortly thereafter, Wagner suggested the use of the **Hill equation** to describe the temporal profile of direct and rapidly acting agents, which was based on a derivation starting with drug-receptor binding (Hill 1910; Wagner 1968):
-
-
![](https://github.com/WenruiTan/Wr.github.io/blob/master/images/posts/pharmacodynamic/1.2.png?raw=true)
-
with C(t) representing the plasma drug concentration, Emax is the maximal drug effect, and EC50 is the drug concentration producing 50 % of Emax. The use of the full Hill equation (or Emax model) avoided the restriction of the 20 to 80 % maximal effect as required for Eq. 1.1. However, the Emax model assumes that the time to peak drug effect coincides with the time to peak drug concentration, although most drugs exhibit a temporal delay between these events (so called hysteresis in the concentration-effect plot). Sheiner popularized the use of a simple delay compartment, initially developed by Segre, to accommodate the time for drug to equilibrate with concentrations in a hypothetical effect compartment or biophase (Segre 1968; Sheiner et al. 1979). The pharmacological effect is still defined by Eq. 1.2, but driven by concentrations in the effect compartment rather than plasma concentration. This was the first simultaneous PK/PD model to describe a relatively short delay in drug action owing to drug distribution to a biophase and assumes such distribution does not influence the PK of the drug.
Many drugs can show much longer delays, not due to distribution to a biophase,
@@ -47,7 +43,6 @@ parameters (Mager and Jusko 2001). From these basic structural models, one can
add a plethora of additional complexities and arrive at a diverse array of PK/PD
models for describing many animal and clinical drug effects.
-
## Emax
Emax graphical model is a very important model to describe the pharmacodynamics of a drug. It gives the possibility to describe the efficacy and potency of a drug with graphical means. In an Emax model, Potency = EC50, which is a concentration read from X-axis, and Efficacy = Emax, which is a dose-response read from Y-axis. Potency and efficacy are independent of each other. Neither can predict the other.
@@ -56,8 +51,4 @@ Example of Emax Graphical model is as follow :
-
-##
-
-
-
+##
diff --git a/assets/css/components/boxed-group.css b/assets/css/components/boxed-group.css
index 25e5cd98d3d..9a22f1214d6 100755
--- a/assets/css/components/boxed-group.css
+++ b/assets/css/components/boxed-group.css
@@ -1 +1,161 @@
-.boxed-group{position:relative;border-radius:3px;margin-bottom:30px}.boxed-group .counter{color:#fff;background-color:#babec0}.boxed-group.flush .boxed-group-inner{padding:0}.boxed-group.condensed .boxed-group-inner{font-size:12px;padding:0}.boxed-group .heading,.boxed-group>h3{background-color:#f5f5f5;margin:0;border-radius:3px 3px 0 0;border:1px solid #d8d8d8;border-bottom:0;padding:9px 10px 10px;font-size:14px;line-height:17px;display:block}.boxed-group .heading a,.boxed-group>h3 a{color:inherit}.boxed-group .heading a.boxed-group-breadcrumb,.boxed-group>h3 a.boxed-group-breadcrumb{color:#666;font-weight:400;text-decoration:none}.boxed-group .heading .avatar,.boxed-group>h3 .avatar{margin-top:-4px}.boxed-group .tabnav.heading{padding:0}.boxed-group .tabnav.heading .tabnav-tab.selected{border-top:0}.boxed-group .tabnav.heading li:first-child .selected{border-left-color:#fff;border-top-left-radius:3px}.boxed-group .tabnav-tab{border-radius:0;border-top:0}.boxed-group code.heading{font-size:12px}.boxed-group.dangerzone>h3{background-color:#df3e3e;border:1px solid #a00;color:#fff;text-shadow:0 -1px 0 #900}.boxed-group.dangerzone .boxed-group-inner{border-top:0}.boxed-group.condensed>h3{padding:6px 6px 7px;font-size:12px}.boxed-group.condensed>h3 .octicon{padding:0 6px 0 2px}.dashboard-sidebar .boxed-group,.one-half .boxed-group{margin-bottom:20px}.boxed-group .bleed-flush{width:100%;padding:0 10px;margin-left:-10px}.boxed-group .compact{margin-top:10px;margin-bottom:10px}.boxed-group-inner{padding:1px 10px;background:#fff;border:1px solid #d8d8d8;border-bottom-left-radius:3px;border-bottom-right-radius:3px;color:#666;font-size:13px}.boxed-group-inner .help,.boxed-group-inner .tabnav-tab.selected{border-top:1px solid #ddd}.boxed-group-inner .markdown-body{padding:20px 10px 10px;font-size:13px}.boxed-group-inner.markdown-body{padding-top:10px;padding-bottom:10px}.boxed-group-inner.seamless{padding:0}.boxed-group-inner h4{margin:15px 0 -5px;font-size:14px;color:#000}.boxed-group-inner .tabnav{margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px}.boxed-group-inner .help{clear:both;margin:1em -10px 0;padding:1em 10px 1em 35px;color:#999}.boxed-group-inner .help .octicon{margin-left:-25px;margin-right:5px}.boxed-group-inner .flash-global{margin-left:-10px;margin-right:-10px;border-top:0}.boxed-action{float:right;margin-left:10px}.boxed-group-action{float:right;margin:6px 10px 0 0;position:relative;z-index:2}.boxed-group-action.flush{margin-top:0;margin-right:0}.boxed-group-action>button{background-color:transparent;border:0;-webkit-appearance:none}.boxed-group-icon{padding:4px;color:#777}
\ No newline at end of file
+.boxed-group {
+ position: relative;
+ border-radius: 3px;
+ margin-bottom: 30px;
+}
+.boxed-group .counter {
+ color: #fff;
+ background-color: #babec0;
+}
+.boxed-group.flush .boxed-group-inner {
+ padding: 0;
+}
+.boxed-group.condensed .boxed-group-inner {
+ font-size: 12px;
+ padding: 0;
+}
+.boxed-group .heading,
+.boxed-group > h3 {
+ background-color: #f5f5f5;
+ margin: 0;
+ border-radius: 3px 3px 0 0;
+ border: 1px solid #d8d8d8;
+ border-bottom: 0;
+ padding: 9px 10px 10px;
+ font-size: 14px;
+ line-height: 17px;
+ display: block;
+}
+.boxed-group .heading a,
+.boxed-group > h3 a {
+ color: inherit;
+}
+.boxed-group .heading a.boxed-group-breadcrumb,
+.boxed-group > h3 a.boxed-group-breadcrumb {
+ color: #666;
+ font-weight: 400;
+ text-decoration: none;
+}
+.boxed-group .heading .avatar,
+.boxed-group > h3 .avatar {
+ margin-top: -4px;
+}
+.boxed-group .tabnav.heading {
+ padding: 0;
+}
+.boxed-group .tabnav.heading .tabnav-tab.selected {
+ border-top: 0;
+}
+.boxed-group .tabnav.heading li:first-child .selected {
+ border-left-color: #fff;
+ border-top-left-radius: 3px;
+}
+.boxed-group .tabnav-tab {
+ border-radius: 0;
+ border-top: 0;
+}
+.boxed-group code.heading {
+ font-size: 12px;
+}
+.boxed-group.dangerzone > h3 {
+ background-color: #df3e3e;
+ border: 1px solid #a00;
+ color: #fff;
+ text-shadow: 0 -1px 0 #900;
+}
+.boxed-group.dangerzone .boxed-group-inner {
+ border-top: 0;
+}
+.boxed-group.condensed > h3 {
+ padding: 6px 6px 7px;
+ font-size: 12px;
+}
+.boxed-group.condensed > h3 .octicon {
+ padding: 0 6px 0 2px;
+}
+.dashboard-sidebar .boxed-group,
+.one-half .boxed-group {
+ margin-bottom: 20px;
+}
+.boxed-group .bleed-flush {
+ width: 100%;
+ padding: 0 10px;
+ margin-left: -10px;
+}
+.boxed-group .compact {
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+.boxed-group-inner {
+ padding: 1px 10px;
+ background: #fff;
+ border: 1px solid #d8d8d8;
+ border-bottom-left-radius: 3px;
+ border-bottom-right-radius: 3px;
+ color: #666;
+ font-size: 13px;
+}
+.boxed-group-inner .help,
+.boxed-group-inner .tabnav-tab.selected {
+ border-top: 1px solid #ddd;
+}
+.boxed-group-inner .markdown-body {
+ padding: 20px 10px 10px;
+ font-size: 13px;
+}
+.boxed-group-inner.markdown-body {
+ padding-top: 10px;
+ padding-bottom: 10px;
+}
+.boxed-group-inner.seamless {
+ padding: 0;
+}
+.boxed-group-inner h4 {
+ margin: 15px 0 -5px;
+ font-size: 14px;
+ color: #000;
+}
+.boxed-group-inner .tabnav {
+ margin-left: -10px;
+ margin-right: -10px;
+ padding-left: 10px;
+ padding-right: 10px;
+}
+.boxed-group-inner .help {
+ clear: both;
+ margin: 1em -10px 0;
+ padding: 1em 10px 1em 35px;
+ color: #999;
+}
+.boxed-group-inner .help .octicon {
+ margin-left: -25px;
+ margin-right: 5px;
+}
+.boxed-group-inner .flash-global {
+ margin-left: -10px;
+ margin-right: -10px;
+ border-top: 0;
+}
+.boxed-action {
+ float: right;
+ margin-left: 10px;
+}
+.boxed-group-action {
+ float: right;
+ margin: 6px 10px 0 0;
+ position: relative;
+ z-index: 2;
+}
+.boxed-group-action.flush {
+ margin-top: 0;
+ margin-right: 0;
+}
+.boxed-group-action > button {
+ background-color: transparent;
+ border: 0;
+ -webkit-appearance: none;
+}
+.boxed-group-icon {
+ padding: 4px;
+ color: #777;
+}
diff --git a/assets/css/components/collection.css b/assets/css/components/collection.css
index e7d51f80292..edc01e80825 100755
--- a/assets/css/components/collection.css
+++ b/assets/css/components/collection.css
@@ -1 +1,231 @@
-.collection-head,.side-collection-image{-webkit-box-shadow:inset 0 10px 20px rgba(0,0,0,.1);text-shadow:0 1px 2px rgba(0,0,0,.3)}.collection-card-image,.collection-head,.side-collection-image{text-shadow:0 1px 2px rgba(0,0,0,.3)}.collection-head{padding:1.5rem 0;margin-top:-20px;margin-bottom:20px;background:url(/assets/images/octicons-bg.png) center #302F2F;box-shadow:inset 0 10px 20px rgba(0,0,0,.1);color:#fff}.collection-head.small{padding:.8rem 0}.collection-head.small .collection-title{padding:10px 0}.collection-head.small .collection-title h1.collection-header{font-size:30px}.collection-head a{color:#fff}.collection-head a:hover{text-decoration:none}.collection-head .collection-title{display:table-cell;padding:20px 0;vertical-align:middle}.collection-head .collection-info{margin:0}.collection-head .collection-info .meta-info{margin-right:15px}.collection-head .collection-info .avatar{background-color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.7)}.collection-head .collection-head .container{position:relative}.collection-head .draft-tag{position:absolute;top:0;left:0}.collection-head .collection-header{margin-top:0;font-size:45px;line-height:1.5;font-weight:400}.collection-head .collection-description{position:relative;font-size:16px}.collection-page .collection-info{margin-top:10px;margin-bottom:20px;font-size:13px;color:#999}.collection-page .column.main{margin-right:260px!important}.collection-page .column.sidebar{width:240px}.collection-page .other-content{padding:20px 0 20px 20px;border-left:1px solid #f1f1f1}.collection-page .other-content .subnav-search{margin-left:0}.collection-page .other-content input.subnav-search-input{width:100%}.collection-page .other-content-title{margin-top:40px}.collection-page .other-content-title:first-child,.collection-search-result-title{margin-top:0}.side-collection-list{margin:0;list-style-type:none}.side-collection-link{display:table;width:100%;height:100px;color:#fff}.collection-card-title,.side-collection-image{height:100%;text-align:center;vertical-align:middle}.side-collection-item-title{font-size:16px;font-weight:100}.side-collection-image{background:url(/assets/images/octicons-bg.png) center #555;box-shadow:inset 0 10px 20px rgba(0,0,0,.1);color:#fff;display:table-cell;width:100%;margin-bottom:5px;border-radius:3px}.side-collection-list-item{margin-bottom:20px}.collection-tools{list-style-type:none;margin-bottom:10px;font-size:15px}.collection-tools .edit-link{color:#333}.collection-tools .edit-link:hover{color:#4183c4;cursor:pointer}.collection-tools .octicon{margin-right:5px}.collection-tools .select-menu-button{position:relative;display:inline-block;color:#333}.collection-tools .select-menu-button :hover{color:#4183c4;cursor:pointer}.collection-tool{margin-left:20px}.collection-search-results em{padding:.1em;background-color:#faffa6}.collection-search-result{margin-bottom:40px;list-style-type:none}.collection-search-page .search-results-info{line-height:33px;float:right;margin-left:10px;font-size:15px}.collection-listing{text-align:center}.collection-card{position:relative;display:inline-block;width:30%;max-width:313px;margin:0 10px 20px;list-style-type:none;background:#f7f7f7;border:1px solid #ddd;border-radius:3px;overflow:hidden}.collection-card .draft-tag{position:absolute;top:-1px;left:10px}.collection-card-title{padding:0 15px;margin:10px 0;display:table-cell;width:100%;font-size:19px;font-weight:700}.collection-card-body{padding:0 15px;margin:0 0 10px;height:3em;overflow:hidden;font-size:15px;line-height:1.5em}.collection-card-image{position:relative;display:table;width:101%;height:120px;margin:-1px -1px 15px;background:url(/assets/images/octicons-bg.png) center #555;-webkit-box-shadow:inset 0 10px 20px rgba(0,0,0,.1);box-shadow:inset 0 10px 20px rgba(0,0,0,.1);color:#fff;border-top-right-radius:3px;border-top-left-radius:3px}.collection-card-meta{padding:0 15px;margin-top:5px;margin-bottom:15px;color:#777;font-size:12px}.collection-card-meta .meta-info{margin-right:10px}.collection-card-meta .last-updated{float:right;margin-right:0}
\ No newline at end of file
+.collection-head,
+.side-collection-image {
+ -webkit-box-shadow: inset 0 10px 20px rgba(0, 0, 0, 0.1);
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
+}
+.collection-card-image,
+.collection-head,
+.side-collection-image {
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
+}
+.collection-head {
+ padding: 1.5rem 0;
+ margin-top: -20px;
+ margin-bottom: 20px;
+ background: url(/assets/images/octicons-bg.png) center #302f2f;
+ box-shadow: inset 0 10px 20px rgba(0, 0, 0, 0.1);
+ color: #fff;
+}
+.collection-head.small {
+ padding: 0.8rem 0;
+}
+.collection-head.small .collection-title {
+ padding: 10px 0;
+}
+.collection-head.small .collection-title h1.collection-header {
+ font-size: 30px;
+}
+.collection-head a {
+ color: #fff;
+}
+.collection-head a:hover {
+ text-decoration: none;
+}
+.collection-head .collection-title {
+ display: table-cell;
+ padding: 20px 0;
+ vertical-align: middle;
+}
+.collection-head .collection-info {
+ margin: 0;
+}
+.collection-head .collection-info .meta-info {
+ margin-right: 15px;
+}
+.collection-head .collection-info .avatar {
+ background-color: rgba(255, 255, 255, 0.7);
+ border: 1px solid rgba(255, 255, 255, 0.7);
+}
+.collection-head .collection-head .container {
+ position: relative;
+}
+.collection-head .draft-tag {
+ position: absolute;
+ top: 0;
+ left: 0;
+}
+.collection-head .collection-header {
+ margin-top: 0;
+ font-size: 45px;
+ line-height: 1.5;
+ font-weight: 400;
+}
+.collection-head .collection-description {
+ position: relative;
+ font-size: 16px;
+}
+.collection-page .collection-info {
+ margin-top: 10px;
+ margin-bottom: 20px;
+ font-size: 13px;
+ color: #999;
+}
+.collection-page .column.main {
+ margin-right: 260px !important;
+}
+.collection-page .column.sidebar {
+ width: 240px;
+}
+.collection-page .other-content {
+ padding: 20px 0 20px 20px;
+ border-left: 1px solid #f1f1f1;
+}
+.collection-page .other-content .subnav-search {
+ margin-left: 0;
+}
+.collection-page .other-content input.subnav-search-input {
+ width: 100%;
+}
+.collection-page .other-content-title {
+ margin-top: 40px;
+}
+.collection-page .other-content-title:first-child,
+.collection-search-result-title {
+ margin-top: 0;
+}
+.side-collection-list {
+ margin: 0;
+ list-style-type: none;
+}
+.side-collection-link {
+ display: table;
+ width: 100%;
+ height: 100px;
+ color: #fff;
+}
+.collection-card-title,
+.side-collection-image {
+ height: 100%;
+ text-align: center;
+ vertical-align: middle;
+}
+.side-collection-item-title {
+ font-size: 16px;
+ font-weight: 100;
+}
+.side-collection-image {
+ background: url(/assets/images/octicons-bg.png) center #555;
+ box-shadow: inset 0 10px 20px rgba(0, 0, 0, 0.1);
+ color: #fff;
+ display: table-cell;
+ width: 100%;
+ margin-bottom: 5px;
+ border-radius: 3px;
+}
+.side-collection-list-item {
+ margin-bottom: 20px;
+}
+.collection-tools {
+ list-style-type: none;
+ margin-bottom: 10px;
+ font-size: 15px;
+}
+.collection-tools .edit-link {
+ color: #333;
+}
+.collection-tools .edit-link:hover {
+ color: #4183c4;
+ cursor: pointer;
+}
+.collection-tools .octicon {
+ margin-right: 5px;
+}
+.collection-tools .select-menu-button {
+ position: relative;
+ display: inline-block;
+ color: #333;
+}
+.collection-tools .select-menu-button :hover {
+ color: #4183c4;
+ cursor: pointer;
+}
+.collection-tool {
+ margin-left: 20px;
+}
+.collection-search-results em {
+ padding: 0.1em;
+ background-color: #faffa6;
+}
+.collection-search-result {
+ margin-bottom: 40px;
+ list-style-type: none;
+}
+.collection-search-page .search-results-info {
+ line-height: 33px;
+ float: right;
+ margin-left: 10px;
+ font-size: 15px;
+}
+.collection-listing {
+ text-align: center;
+}
+.collection-card {
+ position: relative;
+ display: inline-block;
+ width: 30%;
+ max-width: 313px;
+ margin: 0 10px 20px;
+ list-style-type: none;
+ background: #f7f7f7;
+ border: 1px solid #ddd;
+ border-radius: 3px;
+ overflow: hidden;
+}
+.collection-card .draft-tag {
+ position: absolute;
+ top: -1px;
+ left: 10px;
+}
+.collection-card-title {
+ padding: 0 15px;
+ margin: 10px 0;
+ display: table-cell;
+ width: 100%;
+ font-size: 19px;
+ font-weight: 700;
+}
+.collection-card-body {
+ padding: 0 15px;
+ margin: 0 0 10px;
+ height: 3em;
+ overflow: hidden;
+ font-size: 15px;
+ line-height: 1.5em;
+}
+.collection-card-image {
+ position: relative;
+ display: table;
+ width: 101%;
+ height: 120px;
+ margin: -1px -1px 15px;
+ background: url(/assets/images/octicons-bg.png) center #555;
+ -webkit-box-shadow: inset 0 10px 20px rgba(0, 0, 0, 0.1);
+ box-shadow: inset 0 10px 20px rgba(0, 0, 0, 0.1);
+ color: #fff;
+ border-top-right-radius: 3px;
+ border-top-left-radius: 3px;
+}
+.collection-card-meta {
+ padding: 0 15px;
+ margin-top: 5px;
+ margin-bottom: 15px;
+ color: #777;
+ font-size: 12px;
+}
+.collection-card-meta .meta-info {
+ margin-right: 10px;
+}
+.collection-card-meta .last-updated {
+ float: right;
+ margin-right: 0;
+}
diff --git a/assets/css/components/repo-card.css b/assets/css/components/repo-card.css
index e05fd3fd767..fae0d997a65 100755
--- a/assets/css/components/repo-card.css
+++ b/assets/css/components/repo-card.css
@@ -6,30 +6,30 @@
}
.card-image {
- display: table;
- height: 120px;
- width: 100%;
- border-radius: 4px;
+ display: table;
+ height: 120px;
+ width: 100%;
+ border-radius: 4px;
}
.card-image .card-image-cell {
- display: table-cell;
- vertical-align: middle;
+ display: table-cell;
+ vertical-align: middle;
}
.card-image h3 {
- margin: 0;
- font-size: 1.5em;
- color: white;
+ margin: 0;
+ font-size: 1.5em;
+ color: white;
}
.card-image a {
- color: #fff;
+ color: #fff;
}
.card-description {
- height: 3em;
- overflow: hidden;
+ height: 3em;
+ overflow: hidden;
}
.card:hover,
@@ -38,25 +38,25 @@
}
.card .thumbnail {
- border: 1px solid rgba(0,0,0,0.075);
- border-bottom-color: rgba(0,0,0,0.125);
- border-radius: 4px;
- box-shadow: 0 1px 2px rgba(0,0,0,0.05),0 5px 10px rgba(0,0,0,0.05);
- -webkit-transition: border-color 0.1s ease-in-out, box-shadow 0.1s ease-in-out;
- transition: border-color 0.1s ease-in-out, box-shadow 0.1s ease-in-out;
- opacity: 0.8;
- overflow-x: hidden;
+ border: 1px solid rgba(0, 0, 0, 0.075);
+ border-bottom-color: rgba(0, 0, 0, 0.125);
+ border-radius: 4px;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), 0 5px 10px rgba(0, 0, 0, 0.05);
+ -webkit-transition: border-color 0.1s ease-in-out, box-shadow 0.1s ease-in-out;
+ transition: border-color 0.1s ease-in-out, box-shadow 0.1s ease-in-out;
+ opacity: 0.8;
+ overflow-x: hidden;
}
-.card .thumbnail:hover{
- border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.15);
- box-shadow:0 2px 4px rgba(0,0,0,0.05),0 10px 18px rgba(0,0,0,0.1);
- opacity: 1;
+.card .thumbnail:hover {
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.15);
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05), 0 10px 18px rgba(0, 0, 0, 0.1);
+ opacity: 1;
}
-.card .thumbnail:hover .card-title a{
- color:#000;
- text-decoration:none;
+.card .thumbnail:hover .card-title a {
+ color: #000;
+ text-decoration: none;
}
.thumbnail {
@@ -67,9 +67,9 @@
background-color: #fff;
border: 1px solid #ddd;
border-radius: 4px;
- -webkit-transition: border .2s ease-in-out;
- -o-transition: border .2s ease-in-out;
- transition: border .2s ease-in-out
+ -webkit-transition: border 0.2s ease-in-out;
+ -o-transition: border 0.2s ease-in-out;
+ transition: border 0.2s ease-in-out;
}
.thumbnail .caption {
@@ -83,5 +83,5 @@
}
.card-text .meta-info {
- margin-right: 10px;
+ margin-right: 10px;
}
diff --git a/assets/css/globals/common.css b/assets/css/globals/common.css
index 0ce1a97f5e0..3e6e8f39214 100755
--- a/assets/css/globals/common.css
+++ b/assets/css/globals/common.css
@@ -1,702 +1,793 @@
-.site-header,.site-header-actions .select-menu {
- position: relative
+.site-header,
+.site-header-actions .select-menu {
+ position: relative;
}
-.markdown-body,body {
- font-family: Arial,"Hiragino Sans GB","冬青黑","Microsoft YaHei","微软雅黑",SimSun,"宋体",Helvetica,Tahoma,Arial sans-serif;
- font-size: 16px;
- line-height: 1.6;
- word-wrap: break-word;
- -webkit-tap-highlight-color: transparent;
- -webkit-font-smoothing: antialiased;
- -webkit-backface-visibility: hidden
+.markdown-body,
+body {
+ font-family: Arial, "Hiragino Sans GB", "冬青黑", "Microsoft YaHei",
+ "微软雅黑", SimSun, "宋体", Helvetica, Tahoma, Arial sans-serif;
+ font-size: 16px;
+ line-height: 1.6;
+ word-wrap: break-word;
+ -webkit-tap-highlight-color: transparent;
+ -webkit-font-smoothing: antialiased;
+ -webkit-backface-visibility: hidden;
}
@font-face {
- font-family:octicons;src:font-url(../fonts/octicons.eot?#iefix) format("embedded-opentype"),font-url(../fonts/octicons.woff) format("woff"),font-url(../fonts/octicons.ttf) format("truetype"),font-url(../fonts/octicons.svg#octicons) format("svg");font-weight:400;font-style:normal
+ font-family: octicons;
+ src: font-url(../fonts/octicons.eot?#iefix) format("embedded-opentype"),
+ font-url(../fonts/octicons.woff) format("woff"),
+ font-url(../fonts/octicons.ttf) format("truetype"),
+ font-url(../fonts/octicons.svg#octicons) format("svg");
+ font-weight: 400;
+ font-style: normal;
}
.pagination {
- padding: 20px 0
+ padding: 20px 0;
}
.pagination a.active {
- background: #337ab7;
- border-color: #337ab7;
- z-index: 2;
- color: #fff;
- cursor: default
+ background: #337ab7;
+ border-color: #337ab7;
+ z-index: 2;
+ color: #fff;
+ cursor: default;
}
.text-center {
- text-align: center
+ text-align: center;
}
.btn-inline .btn {
- margin: 5px
+ margin: 5px;
}
.site-header {
- padding-top: 20px;
- padding-bottom: 20px;
- margin-bottom: 20px;
- border-bottom: 1px solid #eee
+ padding-top: 20px;
+ padding-bottom: 20px;
+ margin-bottom: 20px;
+ border-bottom: 1px solid #eee;
}
.site-header .account-switcher {
- display: inline-block;
- margin-top: -2px;
- margin-bottom: -6px
+ display: inline-block;
+ margin-top: -2px;
+ margin-bottom: -6px;
}
-.site-header-actions .select-menu:after,.site-header-actions .select-menu:before {
- display: table;
- content: ""
+.site-header-actions .select-menu:after,
+.site-header-actions .select-menu:before {
+ display: table;
+ content: "";
}
.site-header ul.site-header-actions {
- z-index: 21;
- float: right;
- margin: 0
+ z-index: 21;
+ float: right;
+ margin: 0;
}
.site-header ul.site-header-actions .feed-icon {
- margin-top: 5px
+ margin-top: 5px;
}
.site-header .path-divider {
- margin: 0 .25em
+ margin: 0 0.25em;
}
.site-header h1 {
- float: left
+ float: left;
}
-.site-header h1,.site-header h1 .octicon {
- margin-top: 0;
- margin-bottom: 0;
- font-size: 32px;
- font-weight: 400;
- line-height: 28px;
- vertical-align: top
+.site-header h1,
+.site-header h1 .octicon {
+ margin-top: 0;
+ margin-bottom: 0;
+ font-size: 32px;
+ font-weight: 400;
+ line-height: 28px;
+ vertical-align: top;
}
-.context-loader,.markdown-body dl dt,.markdown-body table th,.pl-mb,.pl-mdr,.pl-mh,.pl-mh .pl-en,.pl-ms,.pl-sr .pl-cce,.site-header h1 strong {
- font-weight: 700
+.context-loader,
+.markdown-body dl dt,
+.markdown-body table th,
+.pl-mb,
+.pl-mdr,
+.pl-mh,
+.pl-mh .pl-en,
+.pl-ms,
+.pl-sr .pl-cce,
+.site-header h1 strong {
+ font-weight: 700;
}
.site-header h1 a {
- white-space: nowrap;
- color: #333
+ white-space: nowrap;
+ color: #333;
}
.site-header h1 a:hover {
- text-decoration: none
+ text-decoration: none;
}
.site-header h1 .avatar {
- margin-top: -2px;
- margin-right: 9px;
- margin-bottom: -2px
+ margin-top: -2px;
+ margin-right: 9px;
+ margin-bottom: -2px;
}
-.site-header-actions>li {
- float: left;
- margin: 0 10px 0 0;
- font-size: 11px;
- color: #333;
- list-style-type: none
+.site-header-actions > li {
+ float: left;
+ margin: 0 10px 0 0;
+ font-size: 11px;
+ color: #333;
+ list-style-type: none;
}
-.site-header-actions>li:last-child {
- margin-right: 0
+.site-header-actions > li:last-child {
+ margin-right: 0;
}
.site-header-actions .octicon-mute {
- color: #c00
+ color: #c00;
}
.site-header-actions .select-menu:after {
- clear: both
+ clear: both;
}
.site-header-actions .select-menu-modal-holder {
- top: 100%
+ top: 100%;
}
.context-loader {
- position: absolute;
- top: 0;
- left: 50%;
- z-index: 20;
- width: 154px;
- padding: 10px 10px 10px 30px;
- margin-left: -75px;
- font-size: 12px;
- color: #666;
- background: url(../images/min/octocat-spinner-16px.gif) 10px 50% no-repeat #eee;
- border: 1px solid #ddd;
- border-top: 1px solid #fff;
- border-radius: 0 0 5px 5px
-}
-
-@media screen and (-webkit-min-device-pixel-ratio:2),screen and (max--moz-device-pixel-ratio:2) {
- .context-loader {
- background: url(../images/min/octocat-spinner-32-EAF2F5.gif) 10px 50% no-repeat #eee;
- background-size: 16px auto
- }
+ position: absolute;
+ top: 0;
+ left: 50%;
+ z-index: 20;
+ width: 154px;
+ padding: 10px 10px 10px 30px;
+ margin-left: -75px;
+ font-size: 12px;
+ color: #666;
+ background: url(../images/min/octocat-spinner-16px.gif) 10px 50% no-repeat
+ #eee;
+ border: 1px solid #ddd;
+ border-top: 1px solid #fff;
+ border-radius: 0 0 5px 5px;
+}
+
+@media screen and (-webkit-min-device-pixel-ratio: 2),
+ screen and (max--moz-device-pixel-ratio: 2) {
+ .context-loader {
+ background: url(../images/min/octocat-spinner-32-EAF2F5.gif) 10px 50%
+ no-repeat #eee;
+ background-size: 16px auto;
+ }
}
.site-header-nav {
- float: right;
- margin-bottom: -20px
+ float: right;
+ margin-bottom: -20px;
}
.site-header-nav-item {
- display: inline-block;
- padding: 6px 10px 15px;
- margin-left: 1.25rem;
- font-size: 1rem;
- color: #777
+ display: inline-block;
+ padding: 6px 10px 15px;
+ margin-left: 1.25rem;
+ font-size: 1rem;
+ color: #777;
}
-.site-footer:after,.site-footer:before {
- display: table;
- content: ""
+.site-footer:after,
+.site-footer:before {
+ display: table;
+ content: "";
}
.site-header-nav-item:hover {
- color: #333;
- text-decoration: none
+ color: #333;
+ text-decoration: none;
}
.site-header-nav-item.selected {
- color: #333;
- padding: 6px 10px 13px;
- border-bottom: 2px solid #d26911
+ color: #333;
+ padding: 6px 10px 13px;
+ border-bottom: 2px solid #d26911;
}
-.site-header-nav-item+.btn-outline {
- margin-top: -1px;
- margin-left: 20px
+.site-header-nav-item + .btn-outline {
+ margin-top: -1px;
+ margin-left: 20px;
}
.site-footer {
- position: relative;
- margin-top: 40px;
- padding-top: 40px;
- padding-bottom: 40px;
- font-size: 12px;
- line-height: 1.5;
- color: #777;
- border-top: 1px solid #eee
+ position: relative;
+ margin-top: 40px;
+ padding-top: 40px;
+ padding-bottom: 40px;
+ font-size: 12px;
+ line-height: 1.5;
+ color: #777;
+ border-top: 1px solid #eee;
}
-.markdown-body h1,.markdown-body h2 {
- padding-bottom: .3em;
- border-bottom: 1px solid #eee
+.markdown-body h1,
+.markdown-body h2 {
+ padding-bottom: 0.3em;
+ border-bottom: 1px solid #eee;
}
.site-footer .copyright {
- padding-right: 20px
+ padding-right: 20px;
}
.site-footer:after {
- clear: both
+ clear: both;
}
.site-footer .octicon-mark-github {
- position: absolute;
- top: 38px;
- left: 50%;
- height: 24px;
- width: 24px;
- margin-left: -12px;
- font-size: 24px;
- color: #ccc
+ position: absolute;
+ top: 38px;
+ left: 50%;
+ height: 24px;
+ width: 24px;
+ margin-left: -12px;
+ font-size: 24px;
+ color: #ccc;
}
.site-footer .octicon-mark-github:hover {
- color: #bbb
+ color: #bbb;
}
.site-footer-links {
- margin: 0;
- list-style: none
+ margin: 0;
+ list-style: none;
}
.site-footer-links li {
- display: inline-block;
- line-height: 16px
+ display: inline-block;
+ line-height: 16px;
}
-.site-footer-links li+li {
- margin-left: 10px
+.site-footer-links li + li {
+ margin-left: 10px;
}
.share {
- margin: 20px 0
+ margin: 20px 0;
}
.markdown-body {
- overflow: hidden
+ overflow: hidden;
}
-.markdown-body>:first-child {
- margin-top: 0!important
+.markdown-body > :first-child {
+ margin-top: 0 !important;
}
-.markdown-body>:last-child {
- margin-bottom: 0!important
+.markdown-body > :last-child {
+ margin-bottom: 0 !important;
}
.markdown-body a:not([href]) {
- color: inherit;
- text-decoration: none
+ color: inherit;
+ text-decoration: none;
}
.markdown-body .absent {
- color: #c00
+ color: #c00;
}
.markdown-body .anchor {
- position: absolute;
- top: 0;
- left: 0;
- display: block;
- padding-right: 6px;
- padding-left: 30px;
- margin-left: -30px
+ position: absolute;
+ top: 0;
+ left: 0;
+ display: block;
+ padding-right: 6px;
+ padding-left: 30px;
+ margin-left: -30px;
}
.markdown-body .anchor:focus {
- outline: 0
+ outline: 0;
}
-.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6 {
- position: relative;
- margin-top: 1em;
- margin-bottom: 16px;
- font-weight: 700;
- line-height: 1.4
-}
-
-.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link {
- display: none;
- color: #000;
- vertical-align: middle
-}
-
-.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor {
- padding-left: 8px;
- margin-left: -30px;
- text-decoration: none
-}
-
-.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link {
- display: inline-block
-}
-
-.markdown-body h1 code,.markdown-body h1 tt,.markdown-body h2 code,.markdown-body h2 tt,.markdown-body h3 code,.markdown-body h3 tt,.markdown-body h4 code,.markdown-body h4 tt,.markdown-body h5 code,.markdown-body h5 tt,.markdown-body h6 code,.markdown-body h6 tt {
- font-size: inherit
+.markdown-body h1,
+.markdown-body h2,
+.markdown-body h3,
+.markdown-body h4,
+.markdown-body h5,
+.markdown-body h6 {
+ position: relative;
+ margin-top: 1em;
+ margin-bottom: 16px;
+ font-weight: 700;
+ line-height: 1.4;
+}
+
+.markdown-body h1 .octicon-link,
+.markdown-body h2 .octicon-link,
+.markdown-body h3 .octicon-link,
+.markdown-body h4 .octicon-link,
+.markdown-body h5 .octicon-link,
+.markdown-body h6 .octicon-link {
+ display: none;
+ color: #000;
+ vertical-align: middle;
+}
+
+.markdown-body h1:hover .anchor,
+.markdown-body h2:hover .anchor,
+.markdown-body h3:hover .anchor,
+.markdown-body h4:hover .anchor,
+.markdown-body h5:hover .anchor,
+.markdown-body h6:hover .anchor {
+ padding-left: 8px;
+ margin-left: -30px;
+ text-decoration: none;
+}
+
+.markdown-body h1:hover .anchor .octicon-link,
+.markdown-body h2:hover .anchor .octicon-link,
+.markdown-body h3:hover .anchor .octicon-link,
+.markdown-body h4:hover .anchor .octicon-link,
+.markdown-body h5:hover .anchor .octicon-link,
+.markdown-body h6:hover .anchor .octicon-link {
+ display: inline-block;
+}
+
+.markdown-body h1 code,
+.markdown-body h1 tt,
+.markdown-body h2 code,
+.markdown-body h2 tt,
+.markdown-body h3 code,
+.markdown-body h3 tt,
+.markdown-body h4 code,
+.markdown-body h4 tt,
+.markdown-body h5 code,
+.markdown-body h5 tt,
+.markdown-body h6 code,
+.markdown-body h6 tt {
+ font-size: inherit;
}
.markdown-body h1 {
- font-size: 2.25em;
- line-height: 1.2
+ font-size: 2.25em;
+ line-height: 1.2;
}
.markdown-body h1 .anchor {
- line-height: 1
+ line-height: 1;
}
.markdown-body h2 {
- font-size: 1.75em;
- line-height: 1.225
+ font-size: 1.75em;
+ line-height: 1.225;
}
.markdown-body h2 .anchor {
- line-height: 1
+ line-height: 1;
}
.markdown-body h3 {
- font-size: 1.5em;
- line-height: 1.43
+ font-size: 1.5em;
+ line-height: 1.43;
}
-.markdown-body h3 .anchor,.markdown-body h4 .anchor {
- line-height: 1.2
+.markdown-body h3 .anchor,
+.markdown-body h4 .anchor {
+ line-height: 1.2;
}
.markdown-body h4 {
- font-size: 1.25em
+ font-size: 1.25em;
}
-.markdown-body h5 .anchor,.markdown-body h6 .anchor {
- line-height: 1.1
+.markdown-body h5 .anchor,
+.markdown-body h6 .anchor {
+ line-height: 1.1;
}
.markdown-body h5 {
- font-size: 1em
+ font-size: 1em;
}
.markdown-body h6 {
- font-size: 1em;
- color: #777
+ font-size: 1em;
+ color: #777;
}
-.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul {
- margin-top: 0;
- margin-bottom: 16px
+.markdown-body blockquote,
+.markdown-body dl,
+.markdown-body ol,
+.markdown-body p,
+.markdown-body pre,
+.markdown-body table,
+.markdown-body ul {
+ margin-top: 0;
+ margin-bottom: 16px;
}
.markdown-body hr {
- height: 4px;
- padding: 0;
- margin: 16px 0;
- background-color: #e7e7e7;
- border: 0
+ height: 4px;
+ padding: 0;
+ margin: 16px 0;
+ background-color: #e7e7e7;
+ border: 0;
}
-.markdown-body ol,.markdown-body ul {
- padding-left: 2em
+.markdown-body ol,
+.markdown-body ul {
+ padding-left: 2em;
}
-.markdown-body ol.no-list,.markdown-body ul.no-list {
- padding: 0;
- list-style-type: none
+.markdown-body ol.no-list,
+.markdown-body ul.no-list {
+ padding: 0;
+ list-style-type: none;
}
-.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul {
- margin-top: 0;
- margin-bottom: 0
+.markdown-body ol ol,
+.markdown-body ol ul,
+.markdown-body ul ol,
+.markdown-body ul ul {
+ margin-top: 0;
+ margin-bottom: 0;
}
-.markdown-body li>p {
- margin-top: 16px
+.markdown-body li > p {
+ margin-top: 16px;
}
.markdown-body dl {
- padding: 0
+ padding: 0;
}
.markdown-body dl dt {
- padding: 0;
- margin-top: 16px;
- font-size: 1em;
- font-style: italic
+ padding: 0;
+ margin-top: 16px;
+ font-size: 1em;
+ font-style: italic;
}
.markdown-body dl dd {
- padding: 0 16px;
- margin-bottom: 16px
+ padding: 0 16px;
+ margin-bottom: 16px;
}
.markdown-body blockquote {
- padding: 0 15px;
- color: #777;
- border-left: 4px solid #ddd
+ padding: 0 15px;
+ color: #777;
+ border-left: 4px solid #ddd;
}
-.markdown-body blockquote>:first-child {
- margin-top: 0
+.markdown-body blockquote > :first-child {
+ margin-top: 0;
}
-.markdown-body blockquote>:last-child {
- margin-bottom: 0
+.markdown-body blockquote > :last-child {
+ margin-bottom: 0;
}
.markdown-body table {
- display: block;
- width: 100%;
- overflow: auto;
- word-break: normal;
- word-break: keep-all
+ display: block;
+ width: 100%;
+ overflow: auto;
+ word-break: normal;
+ word-break: keep-all;
}
-.markdown-body table td,.markdown-body table th {
- padding: 6px 13px;
- border: 1px solid #ddd
+.markdown-body table td,
+.markdown-body table th {
+ padding: 6px 13px;
+ border: 1px solid #ddd;
}
.markdown-body table tr {
- background-color: #fff;
- border-top: 1px solid #ccc
+ background-color: #fff;
+ border-top: 1px solid #ccc;
}
.markdown-body table tr:nth-child(2n) {
- background-color: #f8f8f8
+ background-color: #f8f8f8;
}
.markdown-body img {
- max-width: 100%;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box
+ max-width: 100%;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
}
.markdown-body .emoji {
- max-width: none
+ max-width: none;
}
.markdown-body span.frame {
- display: block;
- overflow: hidden
+ display: block;
+ overflow: hidden;
}
-.markdown-body span.frame>span {
- display: block;
- float: left;
- width: auto;
- padding: 7px;
- margin: 13px 0 0;
- overflow: hidden;
- border: 1px solid #ddd
+.markdown-body span.frame > span {
+ display: block;
+ float: left;
+ width: auto;
+ padding: 7px;
+ margin: 13px 0 0;
+ overflow: hidden;
+ border: 1px solid #ddd;
}
.markdown-body span.frame span img {
- display: block;
- float: left
+ display: block;
+ float: left;
}
.markdown-body span.frame span span {
- display: block;
- padding: 5px 0 0;
- clear: both;
- color: #333
+ display: block;
+ padding: 5px 0 0;
+ clear: both;
+ color: #333;
}
.markdown-body span.align-center {
- display: block;
- overflow: hidden;
- clear: both
+ display: block;
+ overflow: hidden;
+ clear: both;
}
-.markdown-body span.align-center>span {
- display: block;
- margin: 13px auto 0;
- overflow: hidden;
- text-align: center
+.markdown-body span.align-center > span {
+ display: block;
+ margin: 13px auto 0;
+ overflow: hidden;
+ text-align: center;
}
.markdown-body span.align-center span img {
- margin: 0 auto;
- text-align: center
+ margin: 0 auto;
+ text-align: center;
}
.markdown-body span.align-right {
- display: block;
- overflow: hidden;
- clear: both
+ display: block;
+ overflow: hidden;
+ clear: both;
}
-.markdown-body span.align-right>span {
- display: block;
- margin: 13px 0 0;
- overflow: hidden;
- text-align: right
+.markdown-body span.align-right > span {
+ display: block;
+ margin: 13px 0 0;
+ overflow: hidden;
+ text-align: right;
}
.markdown-body span.align-right span img {
- margin: 0;
- text-align: right
+ margin: 0;
+ text-align: right;
}
.markdown-body span.float-left {
- display: block;
- float: left;
- margin-right: 13px;
- overflow: hidden
+ display: block;
+ float: left;
+ margin-right: 13px;
+ overflow: hidden;
}
.markdown-body span.float-left span {
- margin: 13px 0 0
+ margin: 13px 0 0;
}
.markdown-body span.float-right {
- display: block;
- float: right;
- margin-left: 13px;
- overflow: hidden
+ display: block;
+ float: right;
+ margin-left: 13px;
+ overflow: hidden;
}
-.markdown-body span.float-right>span {
- display: block;
- margin: 13px auto 0;
- overflow: hidden;
- text-align: right
+.markdown-body span.float-right > span {
+ display: block;
+ margin: 13px auto 0;
+ overflow: hidden;
+ text-align: right;
}
-.markdown-body code,.markdown-body tt {
- padding: .2em 0;
- margin: 0;
- font-size: 85%;
- background-color: rgba(0,0,0,.04);
- border-radius: 3px
+.markdown-body code,
+.markdown-body tt {
+ padding: 0.2em 0;
+ margin: 0;
+ font-size: 85%;
+ background-color: rgba(0, 0, 0, 0.04);
+ border-radius: 3px;
}
-.markdown-body code:after,.markdown-body code:before,.markdown-body tt:after,.markdown-body tt:before {
- letter-spacing: -.2em;
- content: " "
+.markdown-body code:after,
+.markdown-body code:before,
+.markdown-body tt:after,
+.markdown-body tt:before {
+ letter-spacing: -0.2em;
+ content: " ";
}
-.markdown-body code br,.markdown-body tt br {
- display: none
+.markdown-body code br,
+.markdown-body tt br {
+ display: none;
}
.markdown-body del code {
- text-decoration: inherit
+ text-decoration: inherit;
}
-.markdown-body pre>code {
- padding: 0;
- margin: 0;
- font-size: 100%;
- word-break: normal;
- white-space: pre;
- background: 0 0;
- border: 0
+.markdown-body pre > code {
+ padding: 0;
+ margin: 0;
+ font-size: 100%;
+ word-break: normal;
+ white-space: pre;
+ background: 0 0;
+ border: 0;
}
.markdown-body .highlight {
- margin-bottom: 16px
+ margin-bottom: 16px;
}
-.markdown-body .highlight pre,.markdown-body pre {
- padding: 16px;
- overflow: auto;
- font-size: 85%;
- line-height: 1.45;
- background-color: #f7f7f7;
- border-radius: 3px
+.markdown-body .highlight pre,
+.markdown-body pre {
+ padding: 16px;
+ overflow: auto;
+ font-size: 85%;
+ line-height: 1.45;
+ background-color: #f7f7f7;
+ border-radius: 3px;
}
.markdown-body .highlight pre {
- margin-bottom: 0;
- word-break: normal
+ margin-bottom: 0;
+ word-break: normal;
}
.markdown-body pre {
- word-wrap: normal
+ word-wrap: normal;
}
-.markdown-body pre code,.markdown-body pre tt {
- display: inline;
- max-width: initial;
- padding: 0;
- margin: 0;
- overflow: initial;
- line-height: inherit;
- word-wrap: normal;
- background-color: transparent;
- border: 0
+.markdown-body pre code,
+.markdown-body pre tt {
+ display: inline;
+ max-width: initial;
+ padding: 0;
+ margin: 0;
+ overflow: initial;
+ line-height: inherit;
+ word-wrap: normal;
+ background-color: transparent;
+ border: 0;
}
-.markdown-body pre code:after,.markdown-body pre code:before,.markdown-body pre tt:after,.markdown-body pre tt:before {
- content: normal
+.markdown-body pre code:after,
+.markdown-body pre code:before,
+.markdown-body pre tt:after,
+.markdown-body pre tt:before {
+ content: normal;
}
.markdown-body kbd {
- display: inline-block;
- padding: 3px 5px;
- font-size: 11px;
- line-height: 10px;
- color: #555;
- vertical-align: middle;
- background-color: #fcfcfc;
- border: 1px solid #ccc;
- border-bottom-color: #bbb;
- border-radius: 3px;
- -webkit-box-shadow: inset 0 -1px 0 #bbb;
- box-shadow: inset 0 -1px 0 #bbb
+ display: inline-block;
+ padding: 3px 5px;
+ font-size: 11px;
+ line-height: 10px;
+ color: #555;
+ vertical-align: middle;
+ background-color: #fcfcfc;
+ border: 1px solid #ccc;
+ border-bottom-color: #bbb;
+ border-radius: 3px;
+ -webkit-box-shadow: inset 0 -1px 0 #bbb;
+ box-shadow: inset 0 -1px 0 #bbb;
}
.pl-c {
- color: #969896
+ color: #969896;
}
-.pl-c1,.pl-s .pl-v {
- color: #0086b3
+.pl-c1,
+.pl-s .pl-v {
+ color: #0086b3;
}
-.pl-e,.pl-en {
- color: #795da3
+.pl-e,
+.pl-en {
+ color: #795da3;
}
-.pl-s .pl-s1,.pl-smi {
- color: #333
+.pl-s .pl-s1,
+.pl-smi {
+ color: #333;
}
.pl-ent {
- color: #63a35c
+ color: #63a35c;
}
.pl-k {
- color: #a71d5d
+ color: #a71d5d;
}
-.pl-pds,.pl-s,.pl-s .pl-pse .pl-s1,.pl-sr,.pl-sr .pl-cce,.pl-sr .pl-sra,.pl-sr .pl-sre {
- color: #183691
+.pl-pds,
+.pl-s,
+.pl-s .pl-pse .pl-s1,
+.pl-sr,
+.pl-sr .pl-cce,
+.pl-sr .pl-sra,
+.pl-sr .pl-sre {
+ color: #183691;
}
.pl-v {
- color: #ed6a43
+ color: #ed6a43;
}
.pl-id {
- color: #b52a1d
+ color: #b52a1d;
}
.pl-ii {
- background-color: #b52a1d;
- color: #f8f8f8
+ background-color: #b52a1d;
+ color: #f8f8f8;
}
.pl-sr .pl-cce {
- color: #63a35c
+ color: #63a35c;
}
.pl-ml {
- color: #693a17
+ color: #693a17;
}
-.pl-mh,.pl-mh .pl-en,.pl-ms {
- color: #1d3e81
+.pl-mh,
+.pl-mh .pl-en,
+.pl-ms {
+ color: #1d3e81;
}
.pl-mq {
- color: teal
+ color: teal;
}
.pl-mi {
- color: #333;
- font-style: italic
+ color: #333;
+ font-style: italic;
}
.pl-mb {
- color: #333
+ color: #333;
}
.pl-md {
- background-color: #ffecec;
- color: #bd2c00
+ background-color: #ffecec;
+ color: #bd2c00;
}
.pl-mi1 {
- background-color: #eaffea;
- color: #55a532
+ background-color: #eaffea;
+ color: #55a532;
}
.pl-mdr {
- color: #795da3
+ color: #795da3;
}
.pl-mo {
- color: #1d3e81
+ color: #1d3e81;
}
pre {
- border: 1px solid #ccc;
+ border: 1px solid #ccc;
}
.tools-wrapper {
diff --git a/assets/css/globals/prism.css b/assets/css/globals/prism.css
index 6f4d600a804..a191acd49a0 100755
--- a/assets/css/globals/prism.css
+++ b/assets/css/globals/prism.css
@@ -1 +1,112 @@
-code[class*=language-],pre[class*=language-]{color:#000;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono',monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f9f9f9}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#a67f59;background:rgba(255,255,255,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.function{color:#DD4A68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}
\ No newline at end of file
+code[class*="language-"],
+pre[class*="language-"] {
+ color: #000;
+ text-shadow: 0 1px #fff;
+ font-family: Consolas, Monaco, "Andale Mono", monospace;
+ direction: ltr;
+ text-align: left;
+ white-space: pre;
+ word-spacing: normal;
+ word-break: normal;
+ line-height: 1.5;
+ -moz-tab-size: 4;
+ -o-tab-size: 4;
+ tab-size: 4;
+ -webkit-hyphens: none;
+ -moz-hyphens: none;
+ -ms-hyphens: none;
+ hyphens: none;
+}
+code[class*="language-"] ::-moz-selection,
+code[class*="language-"]::-moz-selection,
+pre[class*="language-"] ::-moz-selection,
+pre[class*="language-"]::-moz-selection {
+ text-shadow: none;
+ background: #b3d4fc;
+}
+code[class*="language-"] ::selection,
+code[class*="language-"]::selection,
+pre[class*="language-"] ::selection,
+pre[class*="language-"]::selection {
+ text-shadow: none;
+ background: #b3d4fc;
+}
+@media print {
+ code[class*="language-"],
+ pre[class*="language-"] {
+ text-shadow: none;
+ }
+}
+pre[class*="language-"] {
+ padding: 1em;
+ margin: 0.5em 0;
+ overflow: auto;
+}
+:not(pre) > code[class*="language-"],
+pre[class*="language-"] {
+ background: #f9f9f9;
+}
+:not(pre) > code[class*="language-"] {
+ padding: 0.1em;
+ border-radius: 0.3em;
+}
+.token.cdata,
+.token.comment,
+.token.doctype,
+.token.prolog {
+ color: #708090;
+}
+.token.punctuation {
+ color: #999;
+}
+.namespace {
+ opacity: 0.7;
+}
+.token.boolean,
+.token.constant,
+.token.deleted,
+.token.number,
+.token.property,
+.token.symbol,
+.token.tag {
+ color: #905;
+}
+.token.attr-name,
+.token.builtin,
+.token.char,
+.token.inserted,
+.token.selector,
+.token.string {
+ color: #690;
+}
+.language-css .token.string,
+.style .token.string,
+.token.entity,
+.token.operator,
+.token.url {
+ color: #a67f59;
+ background: rgba(255, 255, 255, 0.5);
+}
+.token.atrule,
+.token.attr-value,
+.token.keyword {
+ color: #07a;
+}
+.token.function {
+ color: #dd4a68;
+}
+.token.important,
+.token.regex,
+.token.variable {
+ color: #e90;
+}
+.token.bold,
+.token.important {
+ font-weight: 700;
+}
+.token.italic {
+ font-style: italic;
+}
+.token.entity {
+ cursor: help;
+}
diff --git a/assets/css/globals/responsive.css b/assets/css/globals/responsive.css
index 6adf6fb4dbf..1d6d26b13a7 100755
--- a/assets/css/globals/responsive.css
+++ b/assets/css/globals/responsive.css
@@ -2,45 +2,45 @@
width: auto;
max-width: 1020px;
padding-left: 20px;
- padding-right: 20px
+ padding-right: 20px;
}
.mobile-visible {
- display: none
+ display: none;
}
-@media (max-width:60em) {
+@media (max-width: 60em) {
.collection-card {
width: 45%;
- height: 225px
+ height: 225px;
}
}
-@media (max-width:35em) {
+@media (max-width: 35em) {
.collection-card {
width: 100%;
max-width: 350px;
- margin: 10px auto
+ margin: 10px auto;
}
}
-@media (max-width:50em) {
+@media (max-width: 50em) {
.mobile-block {
display: block;
- float: none
+ float: none;
}
.mobile-hidden {
- display: none
+ display: none;
}
.mobile-visible {
- display: inline-block
+ display: inline-block;
}
.mobile-md-section {
- padding: 10px 0
+ padding: 10px 0;
}
.column,
.one-third-column {
- width: 100%!important;
+ width: 100% !important;
float: none;
}
.home .banner .collection-head {
@@ -63,7 +63,8 @@
padding-bottom: 0;
padding-top: 5px;
}
- .site-header h1, .site-header h1 .octicon {
+ .site-header h1,
+ .site-header h1 .octicon {
font-size: 1em;
}
.site-header .site-header-nav {
@@ -72,7 +73,7 @@
margin-bottom: 0;
}
.site-header .site-header-nav .site-header-nav-item {
- padding: 0 .5rem;
+ padding: 0 0.5rem;
margin-left: 0;
font-size: 1rem;
display: block;
@@ -108,22 +109,22 @@
.mini-repo-list-item .owner.css-truncate-target,
.mini-repo-list-item .repo-and-owner.css-truncate-target {
- max-width: 300px
+ max-width: 300px;
}
.markdown-body h1 {
- font-size: 2rem
+ font-size: 2rem;
}
.markdown-body h2 {
- font-size: 1.4rem
+ font-size: 1.4rem;
}
.markdown-body h3 {
- font-size: 1.2rem
+ font-size: 1.2rem;
}
.markdown-body h4 {
- font-size: 1.1em
+ font-size: 1.1em;
}
.markdown-body h5 {
- font-size: 1em
+ font-size: 1em;
}
.tools-wrapper {
@@ -131,12 +132,12 @@
}
}
-@media (max-width:20em) {
+@media (max-width: 20em) {
.site-header-nav .site-header-nav-item {
- min-width: 20%
+ min-width: 20%;
}
.collection-head .collection-info .meta-info {
display: block;
- margin-top: 15px
+ margin-top: 15px;
}
}
diff --git a/assets/css/modules/sidebar-search.css b/assets/css/modules/sidebar-search.css
index 469b98e9517..04c33b1d350 100644
--- a/assets/css/modules/sidebar-search.css
+++ b/assets/css/modules/sidebar-search.css
@@ -1,6 +1,6 @@
#search_results {
- font-size: 14px;
- list-style-type: none;
- padding-top: 10px;
- padding-left: 10px;
-}
\ No newline at end of file
+ font-size: 14px;
+ list-style-type: none;
+ padding-top: 10px;
+ padding-left: 10px;
+}
diff --git a/assets/css/pages/index.css b/assets/css/pages/index.css
index e3dd301ea24..5ea4981f8e2 100755
--- a/assets/css/pages/index.css
+++ b/assets/css/pages/index.css
@@ -1,34 +1,33 @@
.home .banner,
.home .site-header {
- background: #4183c4;
- color: #fff
+ background: #4183c4;
+ color: #fff;
}
.home .banner .collection-head {
- color: #fff;
- background: 0 0;
- box-shadow: none;
- -webkit-box-shadow: none
+ color: #fff;
+ background: 0 0;
+ box-shadow: none;
+ -webkit-box-shadow: none;
}
.home .site-header {
- border-bottom: none
+ border-bottom: none;
}
.home .site-header h1 a {
- color: #fff
+ color: #fff;
}
.home .site-header .site-header-nav-item {
- color: rgba(255, 255, 255, .5)
+ color: rgba(255, 255, 255, 0.5);
}
.home .site-header .site-header-nav-item:hover {
- color: #fff
+ color: #fff;
}
-
-@media (max-width:50em) {
+@media (max-width: 50em) {
.home .collapsed .icon-bar {
background-color: white;
}
diff --git a/assets/css/posts/index.css b/assets/css/posts/index.css
index 483e813d707..ff3eb849a2d 100644
--- a/assets/css/posts/index.css
+++ b/assets/css/posts/index.css
@@ -1,125 +1,124 @@
#post-directory-module {
- z-index: 999;
+ z-index: 999;
}
.post-directory {
- font-size: 14px;
- background: #fff;
- overflow: hidden;
- width: 300px;
- padding-bottom: 1em;
- border: 1px solid #efefef;
- color: #999;
+ font-size: 14px;
+ background: #fff;
+ overflow: hidden;
+ width: 300px;
+ padding-bottom: 1em;
+ border: 1px solid #efefef;
+ color: #999;
}
.post-directory ul,
.post-directory ol {
- padding-left: 1.5em;
- list-style: none;
+ padding-left: 1.5em;
+ list-style: none;
}
.post-directory strong {
- border-left: 5px solid #999;
- padding: 2px 5px 2px 15px;
+ border-left: 5px solid #999;
+ padding: 2px 5px 2px 15px;
}
.post-directory a {
- text-decoration: none;
- color: #bababa;
+ text-decoration: none;
+ color: #bababa;
}
.post-directory a:hover,
.post-directory a:active,
.post-directory a.on {
- color: #4183c4;
+ color: #4183c4;
}
.posts-list {
- line-height: 2;
- color: #555;
- list-style-type:disc;
+ line-height: 2;
+ color: #555;
+ list-style-type: disc;
}
.posts-list::before {
-/* content: " ";*/
- position: absolute;
- left: 0;
- top: 12px;
- width: 6px;
- height: 6px;
- margin-left: -4px;
- background: #bbb;
- border-radius: 50%;
- border: 1px solid #fff;
- transition-duration: 0.2s;
- transition-timing-function: ease-in-out;
- transition-delay: 0s;
- transition-property: background;
+ /* content: " ";*/
+ position: absolute;
+ left: 0;
+ top: 12px;
+ width: 6px;
+ height: 6px;
+ margin-left: -4px;
+ background: #bbb;
+ border-radius: 50%;
+ border: 1px solid #fff;
+ transition-duration: 0.2s;
+ transition-timing-function: ease-in-out;
+ transition-delay: 0s;
+ transition-property: background;
}
.posts-list-item {
- border-bottom: 1px dashed #ccc;
- margin: 10px;
- padding: 0;
+ border-bottom: 1px dashed #ccc;
+ margin: 10px;
+ padding: 0;
}
.posts-list-item a {
- font-size: 16px;
- font-weight: normal;
- font-family: Lato, "PingFang SC", "Microsoft YaHei", sans-serif;
- line-height: inherit;
- color: #666;
+ font-size: 16px;
+ font-weight: normal;
+ font-family: Lato, "PingFang SC", "Microsoft YaHei", sans-serif;
+ line-height: inherit;
+ color: #666;
}
.posts-list-meta {
- font-size: 12px;
- font-family: Lato, "PingFang SC", "Microsoft YaHei", sans-serif;
- line-height: 2;
- color: #555;
- background: #fff;
+ font-size: 12px;
+ font-family: Lato, "PingFang SC", "Microsoft YaHei", sans-serif;
+ line-height: 2;
+ color: #555;
+ background: #fff;
}
.list-group {
- padding-left: 0;
- margin-bottom: 20px;
+ padding-left: 0;
+ margin-bottom: 20px;
}
.list-group-item {
- position: relative;
- display: block;
- padding: 10px 15px;
- margin-bottom: -1px;
- background-color: #fff;
- border: 1px solid #ddd;
+ position: relative;
+ display: block;
+ padding: 10px 15px;
+ margin-bottom: -1px;
+ background-color: #fff;
+ border: 1px solid #ddd;
}
-
.list-group-item:first-child {
- border-top-left-radius: 4px;
- border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
}
.list-group-item:last-child {
- margin-bottom: 0;
- border-bottom-right-radius: 4px;
- border-bottom-left-radius: 4px;
+ margin-bottom: 0;
+ border-bottom-right-radius: 4px;
+ border-bottom-left-radius: 4px;
}
-.list-group-item>.badge {
- float: right;
+.list-group-item > .badge {
+ float: right;
}
.badge {
- display: inline-block;
- min-width: 10px;
- padding: 3px 7px;
- font-size: 12px;
- font-weight: 700;
- line-height: 1;
- color: #fff;
- text-align: center;
- white-space: nowrap;
- vertical-align: middle;
- background-color: #777;
- border-radius: 10px;
+ display: inline-block;
+ min-width: 10px;
+ padding: 3px 7px;
+ font-size: 12px;
+ font-weight: 700;
+ line-height: 1;
+ color: #fff;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: middle;
+ background-color: #777;
+ border-radius: 10px;
}
diff --git a/assets/css/pygments/default.css b/assets/css/pygments/default.css
index 251b50dd581..2162321bda7 100644
--- a/assets/css/pygments/default.css
+++ b/assets/css/pygments/default.css
@@ -1,62 +1,207 @@
-.hll { background-color: #ffffcc }
-.c { color: #408080; font-style: italic } /* Comment */
-.err { border: 1px solid #FF0000 } /* Error */
-.k { color: #008000; font-weight: bold } /* Keyword */
-.o { color: #666666 } /* Operator */
-.cm { color: #408080; font-style: italic } /* Comment.Multiline */
-.cp { color: #BC7A00 } /* Comment.Preproc */
-.c1 { color: #408080; font-style: italic } /* Comment.Single */
-.cs { color: #408080; font-style: italic } /* Comment.Special */
-.gd { color: #A00000 } /* Generic.Deleted */
-.ge { font-style: italic } /* Generic.Emph */
-.gr { color: #FF0000 } /* Generic.Error */
-.gh { color: #000080; font-weight: bold } /* Generic.Heading */
-.gi { color: #00A000 } /* Generic.Inserted */
-.go { color: #888888 } /* Generic.Output */
-.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
-.gs { font-weight: bold } /* Generic.Strong */
-.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
-.gt { color: #0044DD } /* Generic.Traceback */
-.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
-.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
-.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
-.kp { color: #008000 } /* Keyword.Pseudo */
-.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
-.kt { color: #B00040 } /* Keyword.Type */
-.m { color: #666666 } /* Literal.Number */
-.s { color: #BA2121 } /* Literal.String */
-.na { color: #7D9029 } /* Name.Attribute */
-.nb { color: #008000 } /* Name.Builtin */
-.nc { color: #0000FF; font-weight: bold } /* Name.Class */
-.no { color: #880000 } /* Name.Constant */
-.nd { color: #AA22FF } /* Name.Decorator */
-.ni { color: #999999; font-weight: bold } /* Name.Entity */
-.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
-.nf { color: #0000FF } /* Name.Function */
-.nl { color: #A0A000 } /* Name.Label */
-.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
-.nt { color: #008000; font-weight: bold } /* Name.Tag */
-.nv { color: #19177C } /* Name.Variable */
-.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
-.w { color: #bbbbbb } /* Text.Whitespace */
-.mb { color: #666666 } /* Literal.Number.Bin */
-.mf { color: #666666 } /* Literal.Number.Float */
-.mh { color: #666666 } /* Literal.Number.Hex */
-.mi { color: #666666 } /* Literal.Number.Integer */
-.mo { color: #666666 } /* Literal.Number.Oct */
-.sb { color: #BA2121 } /* Literal.String.Backtick */
-.sc { color: #BA2121 } /* Literal.String.Char */
-.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
-.s2 { color: #BA2121 } /* Literal.String.Double */
-.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
-.sh { color: #BA2121 } /* Literal.String.Heredoc */
-.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
-.sx { color: #008000 } /* Literal.String.Other */
-.sr { color: #BB6688 } /* Literal.String.Regex */
-.s1 { color: #BA2121 } /* Literal.String.Single */
-.ss { color: #19177C } /* Literal.String.Symbol */
-.bp { color: #008000 } /* Name.Builtin.Pseudo */
-.vc { color: #19177C } /* Name.Variable.Class */
-.vg { color: #19177C } /* Name.Variable.Global */
-.vi { color: #19177C } /* Name.Variable.Instance */
-.il { color: #666666 } /* Literal.Number.Integer.Long */
+.hll {
+ background-color: #ffffcc;
+}
+.c {
+ color: #408080;
+ font-style: italic;
+} /* Comment */
+.err {
+ border: 1px solid #ff0000;
+} /* Error */
+.k {
+ color: #008000;
+ font-weight: bold;
+} /* Keyword */
+.o {
+ color: #666666;
+} /* Operator */
+.cm {
+ color: #408080;
+ font-style: italic;
+} /* Comment.Multiline */
+.cp {
+ color: #bc7a00;
+} /* Comment.Preproc */
+.c1 {
+ color: #408080;
+ font-style: italic;
+} /* Comment.Single */
+.cs {
+ color: #408080;
+ font-style: italic;
+} /* Comment.Special */
+.gd {
+ color: #a00000;
+} /* Generic.Deleted */
+.ge {
+ font-style: italic;
+} /* Generic.Emph */
+.gr {
+ color: #ff0000;
+} /* Generic.Error */
+.gh {
+ color: #000080;
+ font-weight: bold;
+} /* Generic.Heading */
+.gi {
+ color: #00a000;
+} /* Generic.Inserted */
+.go {
+ color: #888888;
+} /* Generic.Output */
+.gp {
+ color: #000080;
+ font-weight: bold;
+} /* Generic.Prompt */
+.gs {
+ font-weight: bold;
+} /* Generic.Strong */
+.gu {
+ color: #800080;
+ font-weight: bold;
+} /* Generic.Subheading */
+.gt {
+ color: #0044dd;
+} /* Generic.Traceback */
+.kc {
+ color: #008000;
+ font-weight: bold;
+} /* Keyword.Constant */
+.kd {
+ color: #008000;
+ font-weight: bold;
+} /* Keyword.Declaration */
+.kn {
+ color: #008000;
+ font-weight: bold;
+} /* Keyword.Namespace */
+.kp {
+ color: #008000;
+} /* Keyword.Pseudo */
+.kr {
+ color: #008000;
+ font-weight: bold;
+} /* Keyword.Reserved */
+.kt {
+ color: #b00040;
+} /* Keyword.Type */
+.m {
+ color: #666666;
+} /* Literal.Number */
+.s {
+ color: #ba2121;
+} /* Literal.String */
+.na {
+ color: #7d9029;
+} /* Name.Attribute */
+.nb {
+ color: #008000;
+} /* Name.Builtin */
+.nc {
+ color: #0000ff;
+ font-weight: bold;
+} /* Name.Class */
+.no {
+ color: #880000;
+} /* Name.Constant */
+.nd {
+ color: #aa22ff;
+} /* Name.Decorator */
+.ni {
+ color: #999999;
+ font-weight: bold;
+} /* Name.Entity */
+.ne {
+ color: #d2413a;
+ font-weight: bold;
+} /* Name.Exception */
+.nf {
+ color: #0000ff;
+} /* Name.Function */
+.nl {
+ color: #a0a000;
+} /* Name.Label */
+.nn {
+ color: #0000ff;
+ font-weight: bold;
+} /* Name.Namespace */
+.nt {
+ color: #008000;
+ font-weight: bold;
+} /* Name.Tag */
+.nv {
+ color: #19177c;
+} /* Name.Variable */
+.ow {
+ color: #aa22ff;
+ font-weight: bold;
+} /* Operator.Word */
+.w {
+ color: #bbbbbb;
+} /* Text.Whitespace */
+.mb {
+ color: #666666;
+} /* Literal.Number.Bin */
+.mf {
+ color: #666666;
+} /* Literal.Number.Float */
+.mh {
+ color: #666666;
+} /* Literal.Number.Hex */
+.mi {
+ color: #666666;
+} /* Literal.Number.Integer */
+.mo {
+ color: #666666;
+} /* Literal.Number.Oct */
+.sb {
+ color: #ba2121;
+} /* Literal.String.Backtick */
+.sc {
+ color: #ba2121;
+} /* Literal.String.Char */
+.sd {
+ color: #ba2121;
+ font-style: italic;
+} /* Literal.String.Doc */
+.s2 {
+ color: #ba2121;
+} /* Literal.String.Double */
+.se {
+ color: #bb6622;
+ font-weight: bold;
+} /* Literal.String.Escape */
+.sh {
+ color: #ba2121;
+} /* Literal.String.Heredoc */
+.si {
+ color: #bb6688;
+ font-weight: bold;
+} /* Literal.String.Interpol */
+.sx {
+ color: #008000;
+} /* Literal.String.Other */
+.sr {
+ color: #bb6688;
+} /* Literal.String.Regex */
+.s1 {
+ color: #ba2121;
+} /* Literal.String.Single */
+.ss {
+ color: #19177c;
+} /* Literal.String.Symbol */
+.bp {
+ color: #008000;
+} /* Name.Builtin.Pseudo */
+.vc {
+ color: #19177c;
+} /* Name.Variable.Class */
+.vg {
+ color: #19177c;
+} /* Name.Variable.Global */
+.vi {
+ color: #19177c;
+} /* Name.Variable.Instance */
+.il {
+ color: #666666;
+} /* Literal.Number.Integer.Long */
diff --git a/assets/css/sections/mini-repo-list.css b/assets/css/sections/mini-repo-list.css
index 5fd7ea76d06..ae4242af3fd 100755
--- a/assets/css/sections/mini-repo-list.css
+++ b/assets/css/sections/mini-repo-list.css
@@ -1 +1,62 @@
-.mini-repo-list .repo-name,.mini-repo-list-item .repo{font-weight:700}.mini-repo-list{list-style:none}.mini-repo-list>li:first-child .mini-repo-list-item{border-top:0}.mini-repo-list>li:last-child .mini-repo-list-item{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.mini-repo-list .no-repo{padding:15px;color:#999;text-align:center}.mini-repo-list-item{position:relative;display:block;padding:6px 64px 6px 30px;font-size:14px;border-top:1px solid #e5e5e5}.mini-repo-list-item.nostars{padding:6px 6px 6px 30px}.mini-repo-list-item:hover{text-decoration:none}.mini-repo-list-item:hover .owner,.mini-repo-list-item:hover .repo{text-decoration:underline}.mini-repo-list-item .repo-icon{float:left;margin-top:2px;margin-left:-20px;color:#666}.mini-repo-list-item .owner,.mini-repo-list-item .owner.css-truncate-target,.mini-repo-list-item .repo-and-owner.css-truncate-target{max-width:95%}.mini-repo-list-item .stars{position:absolute;top:0;right:10px;margin-top:6px;font-size:12px;color:#888}.mini-repo-list-item .repo-description{display:block;max-width:100%;font-size:12px;color:#777;line-height:21px}
\ No newline at end of file
+.mini-repo-list .repo-name,
+.mini-repo-list-item .repo {
+ font-weight: 700;
+}
+.mini-repo-list {
+ list-style: none;
+}
+.mini-repo-list > li:first-child .mini-repo-list-item {
+ border-top: 0;
+}
+.mini-repo-list > li:last-child .mini-repo-list-item {
+ border-bottom-right-radius: 3px;
+ border-bottom-left-radius: 3px;
+}
+.mini-repo-list .no-repo {
+ padding: 15px;
+ color: #999;
+ text-align: center;
+}
+.mini-repo-list-item {
+ position: relative;
+ display: block;
+ padding: 6px 64px 6px 30px;
+ font-size: 14px;
+ border-top: 1px solid #e5e5e5;
+}
+.mini-repo-list-item.nostars {
+ padding: 6px 6px 6px 30px;
+}
+.mini-repo-list-item:hover {
+ text-decoration: none;
+}
+.mini-repo-list-item:hover .owner,
+.mini-repo-list-item:hover .repo {
+ text-decoration: underline;
+}
+.mini-repo-list-item .repo-icon {
+ float: left;
+ margin-top: 2px;
+ margin-left: -20px;
+ color: #666;
+}
+.mini-repo-list-item .owner,
+.mini-repo-list-item .owner.css-truncate-target,
+.mini-repo-list-item .repo-and-owner.css-truncate-target {
+ max-width: 95%;
+}
+.mini-repo-list-item .stars {
+ position: absolute;
+ top: 0;
+ right: 10px;
+ margin-top: 6px;
+ font-size: 12px;
+ color: #888;
+}
+.mini-repo-list-item .repo-description {
+ display: block;
+ max-width: 100%;
+ font-size: 12px;
+ color: #777;
+ line-height: 21px;
+}
diff --git a/assets/css/sections/repo-list.css b/assets/css/sections/repo-list.css
index 9f7277603c5..5cdbf38dab5 100755
--- a/assets/css/sections/repo-list.css
+++ b/assets/css/sections/repo-list.css
@@ -1 +1,106 @@
-.repo-list-name,.repo-list-name .prefix,.repo-list-name .slash{font-weight:400}.repo-list{position:relative;padding-left:0}.repo-list .participation-graph{position:absolute;right:0;bottom:0;left:0;z-index:-1}.repo-list .participation-graph.disabled{display:none}.repo-list .participation-graph .bars{position:absolute;bottom:0}.repo-list-item{position:relative;padding-top:30px;padding-bottom:30px;list-style:none;border-bottom:1px solid #eee}.repo-list-name{margin:0 0 8px;font-size:20px;line-height:1.2}.repo-list-name:hover{text-decoration:none;color:#4169E1}.repo-list-name .slash{margin-right:-4px;margin-left:-4px}.repo-list-description{max-width:550px;margin-top:8px;margin-bottom:0;font-size:14px;color:#666}.repo-list-stats{margin-top:6px;float:right;font-size:12px;font-weight:700;color:#888}.repo-list-stats .repo-list-stat-item{margin-left:8px;display:inline-block;color:#888;text-decoration:none}.repo-list-stats .repo-list-stat-item:hover{color:#4183c4}.repo-list-stats .repo-list-stat-item>.octicon{font-size:14px}.repo-list-info{display:inline-block;height:100%;margin-top:0;margin-bottom:0;font-size:12px;color:#888;vertical-align:middle}.repo-list-info .octicon{margin-top:-3px;font-size:12px;vertical-align:middle}.repo-list-meta{display:block;margin-top:8px;margin-bottom:0;font-size:13px;color:#999}.repo-list-meta .avatar{margin-top:-2px}.repo-list-meta a:hover{text-decoration:none}.repo-list-meta .meta-info{margin-right:15px}.repo-list-meta .meta-info a{color:#999}.repo-list-meta .meta-info a:hover,.repo-list-meta .meta-info a:hover{text-decoration: underline}
+.repo-list-name,
+.repo-list-name .prefix,
+.repo-list-name .slash {
+ font-weight: 400;
+}
+.repo-list {
+ position: relative;
+ padding-left: 0;
+}
+.repo-list .participation-graph {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: -1;
+}
+.repo-list .participation-graph.disabled {
+ display: none;
+}
+.repo-list .participation-graph .bars {
+ position: absolute;
+ bottom: 0;
+}
+.repo-list-item {
+ position: relative;
+ padding-top: 30px;
+ padding-bottom: 30px;
+ list-style: none;
+ border-bottom: 1px solid #eee;
+}
+.repo-list-name {
+ margin: 0 0 8px;
+ font-size: 20px;
+ line-height: 1.2;
+}
+.repo-list-name:hover {
+ text-decoration: none;
+ color: #4169e1;
+}
+.repo-list-name .slash {
+ margin-right: -4px;
+ margin-left: -4px;
+}
+.repo-list-description {
+ max-width: 550px;
+ margin-top: 8px;
+ margin-bottom: 0;
+ font-size: 14px;
+ color: #666;
+}
+.repo-list-stats {
+ margin-top: 6px;
+ float: right;
+ font-size: 12px;
+ font-weight: 700;
+ color: #888;
+}
+.repo-list-stats .repo-list-stat-item {
+ margin-left: 8px;
+ display: inline-block;
+ color: #888;
+ text-decoration: none;
+}
+.repo-list-stats .repo-list-stat-item:hover {
+ color: #4183c4;
+}
+.repo-list-stats .repo-list-stat-item > .octicon {
+ font-size: 14px;
+}
+.repo-list-info {
+ display: inline-block;
+ height: 100%;
+ margin-top: 0;
+ margin-bottom: 0;
+ font-size: 12px;
+ color: #888;
+ vertical-align: middle;
+}
+.repo-list-info .octicon {
+ margin-top: -3px;
+ font-size: 12px;
+ vertical-align: middle;
+}
+.repo-list-meta {
+ display: block;
+ margin-top: 8px;
+ margin-bottom: 0;
+ font-size: 13px;
+ color: #999;
+}
+.repo-list-meta .avatar {
+ margin-top: -2px;
+}
+.repo-list-meta a:hover {
+ text-decoration: none;
+}
+.repo-list-meta .meta-info {
+ margin-right: 15px;
+}
+.repo-list-meta .meta-info a {
+ color: #999;
+}
+.repo-list-meta .meta-info a:hover,
+.repo-list-meta .meta-info a:hover {
+ text-decoration: underline;
+}
diff --git a/assets/js/flow.js b/assets/js/flow.js
index 320c91c81e2..45f3f3c184b 100644
--- a/assets/js/flow.js
+++ b/assets/js/flow.js
@@ -1,26 +1,34 @@
-'use strict';
+'use strict'
$(function () {
- var flowchart = window.flowchart;
- var uuid = function () {
+ const flowchart = window.flowchart
+ const uuid = function () {
return new Date().getTime()
- };
+ }
$('code.language-flow').each(function (i, n) {
- var codePre = $(n);
+ const codePre = $(n)
if (codePre.attr('flow-flag') == 'compiled') {
return
}
- var codeText = codePre.text();
- var _uuid = uuid();
- var div = $('');
- div.css({'overflow-x': 'auto'});
- codePre.parent().before(div);
- codePre.parent().before($('source'));
- codePre.parent().hide();
- var chart;
+ const codeText = codePre.text()
+ const _uuid = uuid()
+ const div = $('')
+ div.css({ 'overflow-x': 'auto' })
+ codePre.parent().before(div)
+ codePre
+ .parent()
+ .before(
+ $(
+ 'source'
+ )
+ )
+ codePre.parent().hide()
+ let chart
if (chart) {
- chart.clean();
+ chart.clean()
}
- chart = flowchart.parse(codeText);
+ chart = flowchart.parse(codeText)
chart.drawSVG('div_' + _uuid, {
// 'x': 30,
// 'y': 50,
@@ -28,42 +36,52 @@ $(function () {
'line-length': 50,
'text-margin': 10,
'font-size': 14,
- 'font': 'normal',
+ font: 'normal',
'font-family': 'Helvetica',
'font-weight': 'normal',
'font-color': 'black',
'line-color': 'black',
'element-color': 'black',
- 'fill': 'white',
+ fill: 'white',
'yes-text': 'yes',
'no-text': 'no',
'arrow-end': 'block',
- 'scale': 1,
- 'symbols': {
- 'start': {
+ scale: 1,
+ symbols: {
+ start: {
'font-color': 'red',
'element-color': 'green',
- 'fill': 'yellow'
+ fill: 'yellow'
},
- 'end': {
- 'class': 'end-element'
+ end: {
+ class: 'end-element'
}
},
- 'flowstate': {
- 'past': {'fill': '#CCCCCC', 'font-size': 12},
- 'current': {'fill': 'yellow', 'font-color': 'red', 'font-weight': 'bold'},
- 'future': {'fill': '#FFFF99'},
- 'request': {'fill': 'blue'},
- 'invalid': {'fill': '#444444'},
- 'approved': {'fill': '#58C4A3', 'font-size': 12, 'yes-text': 'APPROVED', 'no-text': 'n/a'},
- 'rejected': {'fill': '#C45879', 'font-size': 12, 'yes-text': 'n/a', 'no-text': 'REJECTED'}
+ flowstate: {
+ past: { fill: '#CCCCCC', 'font-size': 12 },
+ current: { fill: 'yellow', 'font-color': 'red', 'font-weight': 'bold' },
+ future: { fill: '#FFFF99' },
+ request: { fill: 'blue' },
+ invalid: { fill: '#444444' },
+ approved: {
+ fill: '#58C4A3',
+ 'font-size': 12,
+ 'yes-text': 'APPROVED',
+ 'no-text': 'n/a'
+ },
+ rejected: {
+ fill: '#C45879',
+ 'font-size': 12,
+ 'yes-text': 'n/a',
+ 'no-text': 'REJECTED'
+ }
}
- });
- });
+ })
+ })
$('body').on('click.source', 'a.look-source', function () {
- var $this = $(this);
- $this.nextAll('pre').slideToggle();
+ const $this = $(this)
+ $this.nextAll('pre').slideToggle()
})
-});
+})
// code from https://bqxu.me/assets/flow.js
diff --git a/assets/js/geopattern.js b/assets/js/geopattern.js
index 9172650c386..ea3662e845f 100755
--- a/assets/js/geopattern.js
+++ b/assets/js/geopattern.js
@@ -1 +1,1631 @@
-!function(t){if("object"==typeof exports)module.exports=t();else if("function"==typeof define&&define.amd)define(t);else{var r;"undefined"!=typeof window?r=window:"undefined"!=typeof global?r=global:"undefined"!=typeof self&&(r=self),r.GeoPattern=t()}}(function(){return function t(r,s,e){function i(o,a){if(!s[o]){if(!r[o]){var h="function"==typeof require&&require;if(!a&&h)return h(o,!0);if(n)return n(o,!0);throw new Error("Cannot find module '"+o+"'")}var l=s[o]={exports:{}};r[o][0].call(l.exports,function(t){var s=r[o][1][t];return i(s?s:t)},l,l.exports,t,r,s,e)}return s[o].exports}for(var n="function"==typeof require&&require,o=0;o.5?l/(2-o-a):l/(o+a),o){case r:i=(s-e)/l+(e>s?6:0);break;case s:i=(e-r)/l+2;break;case e:i=(r-s)/l+4}i/=6}return{h:i,s:n,l:h}}function n(t){function r(t,r,s){return 0>s&&(s+=1),s>1&&(s-=1),1/6>s?t+6*(r-t)*s:.5>s?r:2/3>s?t+(r-t)*(2/3-s)*6:t}var s,e,i,n=t.h,o=t.s,a=t.l;if(0===o)s=e=i=a;else{var h=.5>a?a*(1+o):a+o-a*o,l=2*a-h;s=r(l,h,n+1/3),e=r(l,h,n),i=r(l,h,n-1/3)}return{r:Math.round(255*s),g:Math.round(255*e),b:Math.round(255*i)}}r.exports={hex2rgb:s,rgb2hex:e,rgb2hsl:i,hsl2rgb:n,rgb2rgbString:function(t){return"rgb("+[t.r,t.g,t.b].join(",")+")"}}},{}],3:[function(t,r){!function(s){"use strict";function e(t){return function(r,s){return"object"==typeof r&&(s=r,r=null),(null===r||void 0===r)&&(r=(new Date).toString()),s||(s={}),t.call(this,r,s)}}var i=t("./pattern"),n=r.exports={generate:e(function(t,r){return new i(t,r)})};s&&(s.fn.geopattern=e(function(t,r){return this.each(function(){var e=s(this).attr("data-title-sha");e&&(r=s.extend({hash:e},r));var i=n.generate(t,r);s(this).css("background-image",i.toDataUrl())})}))}("undefined"!=typeof jQuery?jQuery:null)},{"./pattern":4}],4:[function(t,r){(function(s){"use strict";function e(t,r,s){return parseInt(t.substr(r,s||1),16)}function i(t,r,s,e,i){var n=parseFloat(t),o=s-r,a=i-e;return(n-r)*a/o+e}function n(t){return t%2===0?C:j}function o(t){return i(t,0,15,M,W)}function a(t){var r=t,s=r/2,e=Math.sin(60*Math.PI/180)*r;return[0,e,s,0,s+r,0,2*r,e,s+r,2*e,s,2*e,0,e].join(",")}function h(t,r){var s=.66*r;return[[0,0,t/2,r-s,t/2,r,0,s,0,0],[t/2,r-s,t,0,t,s,t/2,r,t/2,r-s]].map(function(t){return t.join(",")})}function l(t){return[[t,0,t,3*t],[0,t,3*t,t]]}function c(t){var r=t,s=.33*r;return[s,0,r-s,0,r,s,r,r-s,r-s,r,s,r,0,r-s,0,s,s,0].join(",")}function f(t,r){var s=t/2;return[s,0,t,r,0,r,s,0].join(",")}function u(t,r){return[t/2,0,t,r/2,t/2,r,0,r/2].join(",")}function p(t){return[0,0,t,t,0,t,0,0].join(",")}function g(t,r,s,e,i){var a=p(e),h=o(i[0]),l=n(i[0]),c={stroke:S,"stroke-opacity":A,"fill-opacity":h,fill:l};t.polyline(a,c).transform({translate:[r+e,s],scale:[-1,1]}),t.polyline(a,c).transform({translate:[r+e,s+2*e],scale:[1,-1]}),h=o(i[1]),l=n(i[1]),c={stroke:S,"stroke-opacity":A,"fill-opacity":h,fill:l},t.polyline(a,c).transform({translate:[r+e,s+2*e],scale:[-1,-1]}),t.polyline(a,c).transform({translate:[r+e,s],scale:[1,1]})}function v(t,r,s,e,i){var a=o(i),h=n(i),l=p(e),c={stroke:S,"stroke-opacity":A,"fill-opacity":a,fill:h};t.polyline(l,c).transform({translate:[r,s+e],scale:[1,-1]}),t.polyline(l,c).transform({translate:[r+2*e,s+e],scale:[-1,-1]}),t.polyline(l,c).transform({translate:[r,s+e],scale:[1,1]}),t.polyline(l,c).transform({translate:[r+2*e,s+e],scale:[-1,1]})}function y(t,r){var s=t/2;return[0,0,r,s,0,t,0,0].join(",")}var d=t("extend"),b=t("./color"),m=t("./sha1"),k=t("./svg"),x={baseColor:"#933c3c"},w=["octogons","overlappingCircles","plusSigns","xes","sineWaves","hexagons","overlappingRings","plaid","triangles","squares","concentricCircles","diamonds","tessellation","nestedSquares","mosaicSquares","chevrons"],j="#222",C="#ddd",S="#000",A=.02,M=.02,W=.15,H=r.exports=function(t,r){return this.opts=d({},x,r),this.hash=r.hash||m(t),this.svg=new k,this.generateBackground(),this.generatePattern(),this};H.prototype.toSvg=function(){return this.svg.toString()},H.prototype.toString=function(){return this.toSvg()},H.prototype.toBase64=function(){var t,r=this.toSvg();return t="undefined"!=typeof window&&"function"==typeof window.btoa?window.btoa(r):new s(r).toString("base64")},H.prototype.toDataUri=function(){return"data:image/svg+xml;base64,"+this.toBase64()},H.prototype.toDataUrl=function(){return'url("'+this.toDataUri()+'")'},H.prototype.generateBackground=function(){var t,r,s,n;this.opts.color?s=b.hex2rgb(this.opts.color):(r=i(e(this.hash,14,3),0,4095,0,359),n=e(this.hash,17),t=b.rgb2hsl(b.hex2rgb(this.opts.baseColor)),t.h=(360*t.h-r+360)%360/360,t.s=n%2===0?Math.min(1,(100*t.s+n)/100):Math.max(0,(100*t.s-n)/100),s=b.hsl2rgb(t)),this.color=b.rgb2hex(s),this.svg.rect(0,0,"100%","100%",{fill:b.rgb2rgbString(s)})},H.prototype.generatePattern=function(){var t=this.opts.generator;if(t){if(w.indexOf(t)<0)throw new Error("The generator "+t+" does not exist.")}else t=w[e(this.hash,20)];return this["geo"+t.slice(0,1).toUpperCase()+t.slice(1)]()},H.prototype.geoHexagons=function(){var t,r,s,h,l,c,f,u,p=e(this.hash,0),g=i(p,0,15,8,60),v=g*Math.sqrt(3),y=2*g,d=a(g);for(this.svg.setWidth(3*y+3*g),this.svg.setHeight(6*v),s=0,u=0;6>u;u++)for(f=0;6>f;f++)c=e(this.hash,s),t=f%2===0?u*v:u*v+v/2,h=o(c),r=n(c),l={fill:r,"fill-opacity":h,stroke:S,"stroke-opacity":A},this.svg.polyline(d,l).transform({translate:[f*g*1.5-y/2,t-v/2]}),0===f&&this.svg.polyline(d,l).transform({translate:[6*g*1.5-y/2,t-v/2]}),0===u&&(t=f%2===0?6*v:6*v+v/2,this.svg.polyline(d,l).transform({translate:[f*g*1.5-y/2,t-v/2]})),0===f&&0===u&&this.svg.polyline(d,l).transform({translate:[6*g*1.5-y/2,5*v+v/2]}),s++},H.prototype.geoSineWaves=function(){var t,r,s,a,h,l,c,f=Math.floor(i(e(this.hash,0),0,15,100,400)),u=Math.floor(i(e(this.hash,1),0,15,30,100)),p=Math.floor(i(e(this.hash,2),0,15,3,30));for(this.svg.setWidth(f),this.svg.setHeight(36*p),r=0;36>r;r++)l=e(this.hash,r),s=o(l),t=n(l),c=f/4*.7,h={fill:"none",stroke:t,opacity:s,"stroke-width":""+p+"px"},a="M0 "+u+" C "+c+" 0, "+(f/2-c)+" 0, "+f/2+" "+u+" S "+(f-c)+" "+2*u+", "+f+" "+u+" S "+(1.5*f-c)+" 0, "+1.5*f+", "+u,this.svg.path(a,h).transform({translate:[-f/4,p*r-1.5*u]}),this.svg.path(a,h).transform({translate:[-f/4,p*r-1.5*u+36*p]})},H.prototype.geoChevrons=function(){var t,r,s,a,l,c,f,u=i(e(this.hash,0),0,15,30,80),p=i(e(this.hash,0),0,15,30,80),g=h(u,p);for(this.svg.setWidth(6*u),this.svg.setHeight(6*p*.66),r=0,f=0;6>f;f++)for(c=0;6>c;c++)l=e(this.hash,r),s=o(l),t=n(l),a={stroke:S,"stroke-opacity":A,fill:t,"fill-opacity":s,"stroke-width":1},this.svg.group(a).transform({translate:[c*u,f*p*.66-p/2]}).polyline(g).end(),0===f&&this.svg.group(a).transform({translate:[c*u,6*p*.66-p/2]}).polyline(g).end(),r+=1},H.prototype.geoPlusSigns=function(){var t,r,s,a,h,c,f,u,p=i(e(this.hash,0),0,15,10,25),g=3*p,v=l(p);for(this.svg.setWidth(12*p),this.svg.setHeight(12*p),s=0,u=0;6>u;u++)for(f=0;6>f;f++)c=e(this.hash,s),a=o(c),r=n(c),t=u%2===0?0:1,h={fill:r,stroke:S,"stroke-opacity":A,"fill-opacity":a},this.svg.group(h).transform({translate:[f*g-f*p+t*p-p,u*g-u*p-g/2]}).rect(v).end(),0===f&&this.svg.group(h).transform({translate:[4*g-f*p+t*p-p,u*g-u*p-g/2]}).rect(v).end(),0===u&&this.svg.group(h).transform({translate:[f*g-f*p+t*p-p,4*g-u*p-g/2]}).rect(v).end(),0===f&&0===u&&this.svg.group(h).transform({translate:[4*g-f*p+t*p-p,4*g-u*p-g/2]}).rect(v).end(),s++},H.prototype.geoXes=function(){var t,r,s,a,h,c,f,u,p=i(e(this.hash,0),0,15,10,25),g=l(p),v=3*p*.943;for(this.svg.setWidth(3*v),this.svg.setHeight(3*v),s=0,u=0;6>u;u++)for(f=0;6>f;f++)c=e(this.hash,s),a=o(c),t=f%2===0?u*v-.5*v:u*v-.5*v+v/4,r=n(c),h={fill:r,opacity:a},this.svg.group(h).transform({translate:[f*v/2-v/2,t-u*v/2],rotate:[45,v/2,v/2]}).rect(g).end(),0===f&&this.svg.group(h).transform({translate:[6*v/2-v/2,t-u*v/2],rotate:[45,v/2,v/2]}).rect(g).end(),0===u&&(t=f%2===0?6*v-v/2:6*v-v/2+v/4,this.svg.group(h).transform({translate:[f*v/2-v/2,t-6*v/2],rotate:[45,v/2,v/2]}).rect(g).end()),5===u&&this.svg.group(h).transform({translate:[f*v/2-v/2,t-11*v/2],rotate:[45,v/2,v/2]}).rect(g).end(),0===f&&0===u&&this.svg.group(h).transform({translate:[6*v/2-v/2,t-6*v/2],rotate:[45,v/2,v/2]}).rect(g).end(),s++},H.prototype.geoOverlappingCircles=function(){var t,r,s,a,h,l,c,f=e(this.hash,0),u=i(f,0,15,25,200),p=u/2;for(this.svg.setWidth(6*p),this.svg.setHeight(6*p),r=0,c=0;6>c;c++)for(l=0;6>l;l++)h=e(this.hash,r),s=o(h),t=n(h),a={fill:t,opacity:s},this.svg.circle(l*p,c*p,p,a),0===l&&this.svg.circle(6*p,c*p,p,a),0===c&&this.svg.circle(l*p,6*p,p,a),0===l&&0===c&&this.svg.circle(6*p,6*p,p,a),r++},H.prototype.geoOctogons=function(){var t,r,s,a,h,l,f=i(e(this.hash,0),0,15,10,60),u=c(f);for(this.svg.setWidth(6*f),this.svg.setHeight(6*f),r=0,l=0;6>l;l++)for(h=0;6>h;h++)a=e(this.hash,r),s=o(a),t=n(a),this.svg.polyline(u,{fill:t,"fill-opacity":s,stroke:S,"stroke-opacity":A}).transform({translate:[h*f,l*f]}),r+=1},H.prototype.geoSquares=function(){var t,r,s,a,h,l,c=i(e(this.hash,0),0,15,10,60);for(this.svg.setWidth(6*c),this.svg.setHeight(6*c),r=0,l=0;6>l;l++)for(h=0;6>h;h++)a=e(this.hash,r),s=o(a),t=n(a),this.svg.rect(h*c,l*c,c,c,{fill:t,"fill-opacity":s,stroke:S,"stroke-opacity":A}),r+=1},H.prototype.geoConcentricCircles=function(){var t,r,s,a,h,l,c=e(this.hash,0),f=i(c,0,15,10,60),u=f/5;for(this.svg.setWidth(6*(f+u)),this.svg.setHeight(6*(f+u)),r=0,l=0;6>l;l++)for(h=0;6>h;h++)a=e(this.hash,r),s=o(a),t=n(a),this.svg.circle(h*f+h*u+(f+u)/2,l*f+l*u+(f+u)/2,f/2,{fill:"none",stroke:t,opacity:s,"stroke-width":u+"px"}),a=e(this.hash,39-r),s=o(a),t=n(a),this.svg.circle(h*f+h*u+(f+u)/2,l*f+l*u+(f+u)/2,f/4,{fill:t,"fill-opacity":s}),r+=1},H.prototype.geoOverlappingRings=function(){var t,r,s,a,h,l,c,f=e(this.hash,0),u=i(f,0,15,10,60),p=u/4;for(this.svg.setWidth(6*u),this.svg.setHeight(6*u),r=0,c=0;6>c;c++)for(l=0;6>l;l++)h=e(this.hash,r),s=o(h),t=n(h),a={fill:"none",stroke:t,opacity:s,"stroke-width":p+"px"},this.svg.circle(l*u,c*u,u-p/2,a),0===l&&this.svg.circle(6*u,c*u,u-p/2,a),0===c&&this.svg.circle(l*u,6*u,u-p/2,a),0===l&&0===c&&this.svg.circle(6*u,6*u,u-p/2,a),r+=1},H.prototype.geoTriangles=function(){var t,r,s,a,h,l,c,u,p=e(this.hash,0),g=i(p,0,15,15,80),v=g/2*Math.sqrt(3),y=f(g,v);for(this.svg.setWidth(3*g),this.svg.setHeight(6*v),r=0,u=0;6>u;u++)for(c=0;6>c;c++)l=e(this.hash,r),s=o(l),t=n(l),h={fill:t,"fill-opacity":s,stroke:S,"stroke-opacity":A},a=u%2===0?c%2===0?180:0:c%2!==0?180:0,this.svg.polyline(y,h).transform({translate:[c*g*.5-g/2,v*u],rotate:[a,g/2,v/2]}),0===c&&this.svg.polyline(y,h).transform({translate:[6*g*.5-g/2,v*u],rotate:[a,g/2,v/2]}),r+=1},H.prototype.geoDiamonds=function(){var t,r,s,a,h,l,c,f,p=i(e(this.hash,0),0,15,10,50),g=i(e(this.hash,1),0,15,10,50),v=u(p,g);for(this.svg.setWidth(6*p),this.svg.setHeight(3*g),s=0,f=0;6>f;f++)for(c=0;6>c;c++)l=e(this.hash,s),a=o(l),r=n(l),h={fill:r,"fill-opacity":a,stroke:S,"stroke-opacity":A},t=f%2===0?0:p/2,this.svg.polyline(v,h).transform({translate:[c*p-p/2+t,g/2*f-g/2]}),0===c&&this.svg.polyline(v,h).transform({translate:[6*p-p/2+t,g/2*f-g/2]}),0===f&&this.svg.polyline(v,h).transform({translate:[c*p-p/2+t,g/2*6-g/2]}),0===c&&0===f&&this.svg.polyline(v,h).transform({translate:[6*p-p/2+t,g/2*6-g/2]}),s+=1},H.prototype.geoNestedSquares=function(){var t,r,s,a,h,l,c,f=i(e(this.hash,0),0,15,4,12),u=7*f;for(this.svg.setWidth(6*(u+f)+6*f),this.svg.setHeight(6*(u+f)+6*f),r=0,c=0;6>c;c++)for(l=0;6>l;l++)h=e(this.hash,r),s=o(h),t=n(h),a={fill:"none",stroke:t,opacity:s,"stroke-width":f+"px"},this.svg.rect(l*u+l*f*2+f/2,c*u+c*f*2+f/2,u,u,a),h=e(this.hash,39-r),s=o(h),t=n(h),a={fill:"none",stroke:t,opacity:s,"stroke-width":f+"px"},this.svg.rect(l*u+l*f*2+f/2+2*f,c*u+c*f*2+f/2+2*f,3*f,3*f,a),r+=1},H.prototype.geoMosaicSquares=function(){var t,r,s,n=i(e(this.hash,0),0,15,15,50);for(this.svg.setWidth(8*n),this.svg.setHeight(8*n),t=0,s=0;4>s;s++)for(r=0;4>r;r++)r%2===0?s%2===0?v(this.svg,r*n*2,s*n*2,n,e(this.hash,t)):g(this.svg,r*n*2,s*n*2,n,[e(this.hash,t),e(this.hash,t+1)]):s%2===0?g(this.svg,r*n*2,s*n*2,n,[e(this.hash,t),e(this.hash,t+1)]):v(this.svg,r*n*2,s*n*2,n,e(this.hash,t)),t+=1},H.prototype.geoPlaid=function(){var t,r,s,i,a,h,l,c=0,f=0;for(r=0;36>r;)i=e(this.hash,r),c+=i+5,l=e(this.hash,r+1),s=o(l),t=n(l),a=l+5,this.svg.rect(0,c,"100%",a,{opacity:s,fill:t}),c+=a,r+=2;for(r=0;36>r;)i=e(this.hash,r),f+=i+5,l=e(this.hash,r+1),s=o(l),t=n(l),h=l+5,this.svg.rect(f,0,h,"100%",{opacity:s,fill:t}),f+=h,r+=2;this.svg.setWidth(f),this.svg.setHeight(c)},H.prototype.geoTessellation=function(){var t,r,s,a,h,l=i(e(this.hash,0),0,15,5,40),c=l*Math.sqrt(3),f=2*l,u=l/2*Math.sqrt(3),p=y(l,u),g=3*l+2*u,v=2*c+2*l;for(this.svg.setWidth(g),this.svg.setHeight(v),r=0;20>r;r++)switch(h=e(this.hash,r),s=o(h),t=n(h),a={stroke:S,"stroke-opacity":A,fill:t,"fill-opacity":s,"stroke-width":1},r){case 0:this.svg.rect(-l/2,-l/2,l,l,a),this.svg.rect(g-l/2,-l/2,l,l,a),this.svg.rect(-l/2,v-l/2,l,l,a),this.svg.rect(g-l/2,v-l/2,l,l,a);break;case 1:this.svg.rect(f/2+u,c/2,l,l,a);break;case 2:this.svg.rect(-l/2,v/2-l/2,l,l,a),this.svg.rect(g-l/2,v/2-l/2,l,l,a);break;case 3:this.svg.rect(f/2+u,1.5*c+l,l,l,a);break;case 4:this.svg.polyline(p,a).transform({translate:[l/2,-l/2],rotate:[0,l/2,u/2]}),this.svg.polyline(p,a).transform({translate:[l/2,v- -l/2],rotate:[0,l/2,u/2],scale:[1,-1]});break;case 5:this.svg.polyline(p,a).transform({translate:[g-l/2,-l/2],rotate:[0,l/2,u/2],scale:[-1,1]}),this.svg.polyline(p,a).transform({translate:[g-l/2,v+l/2],rotate:[0,l/2,u/2],scale:[-1,-1]});break;case 6:this.svg.polyline(p,a).transform({translate:[g/2+l/2,c/2]});break;case 7:this.svg.polyline(p,a).transform({translate:[g-g/2-l/2,c/2],scale:[-1,1]});break;case 8:this.svg.polyline(p,a).transform({translate:[g/2+l/2,v-c/2],scale:[1,-1]});break;case 9:this.svg.polyline(p,a).transform({translate:[g-g/2-l/2,v-c/2],scale:[-1,-1]});break;case 10:this.svg.polyline(p,a).transform({translate:[l/2,v/2-l/2]});break;case 11:this.svg.polyline(p,a).transform({translate:[g-l/2,v/2-l/2],scale:[-1,1]});break;case 12:this.svg.rect(0,0,l,l,a).transform({translate:[l/2,l/2],rotate:[-30,0,0]});break;case 13:this.svg.rect(0,0,l,l,a).transform({scale:[-1,1],translate:[-g+l/2,l/2],rotate:[-30,0,0]});break;case 14:this.svg.rect(0,0,l,l,a).transform({translate:[l/2,v/2-l/2-l],rotate:[30,0,l]});break;case 15:this.svg.rect(0,0,l,l,a).transform({scale:[-1,1],translate:[-g+l/2,v/2-l/2-l],rotate:[30,0,l]});break;case 16:this.svg.rect(0,0,l,l,a).transform({scale:[1,-1],translate:[l/2,-v+v/2-l/2-l],rotate:[30,0,l]});break;case 17:this.svg.rect(0,0,l,l,a).transform({scale:[-1,-1],translate:[-g+l/2,-v+v/2-l/2-l],rotate:[30,0,l]});break;case 18:this.svg.rect(0,0,l,l,a).transform({scale:[1,-1],translate:[l/2,-v+l/2],rotate:[-30,0,0]});break;case 19:this.svg.rect(0,0,l,l,a).transform({scale:[-1,-1],translate:[-g+l/2,-v+l/2],rotate:[-30,0,0]})}}}).call(this,t("buffer").Buffer)},{"./color":2,"./sha1":5,"./svg":6,buffer:8,extend:9}],5:[function(t,r){"use strict";function s(){function t(){for(var t=16;80>t;t++){var r=f[t-3]^f[t-8]^f[t-14]^f[t-16];f[t]=r<<1|r>>>31}var s,e,i=o,n=a,p=h,g=l,v=c;for(t=0;80>t;t++){20>t?(s=g^n&(p^g),e=1518500249):40>t?(s=n^p^g,e=1859775393):60>t?(s=n&p|g&(n|p),e=2400959708):(s=n^p^g,e=3395469782);var y=(i<<5|i>>>27)+s+v+e+(0|f[t]);v=g,g=p,p=n<<30|n>>>2,n=i,i=y}for(o=o+i|0,a=a+n|0,h=h+p|0,l=l+g|0,c=c+v|0,u=0,t=0;16>t;t++)f[t]=0}function r(r){f[u]|=(255&r)<
e;e++)r(t.charCodeAt(e))}function e(t){if("string"==typeof t)return s(t);var e=t.length;g+=8*e;for(var i=0;e>i;i++)r(t[i])}function i(t){for(var r="",s=28;s>=0;s-=4)r+=(t>>s&15).toString(16);return r}function n(){r(128),(u>14||14===u&&24>p)&&t(),u=14,p=24,r(0),r(0),r(g>0xffffffffff?g/1099511627776:0),r(g>4294967295?g/4294967296:0);for(var s=24;s>=0;s-=8)r(g>>s);return i(o)+i(a)+i(h)+i(l)+i(c)}var o=1732584193,a=4023233417,h=2562383102,l=271733878,c=3285377520,f=new Uint32Array(80),u=0,p=24,g=0;return{update:e,digest:n}}r.exports=function(t){if(void 0===t)return s();var r=s();return r.update(t),r.digest()}},{}],6:[function(t,r){"use strict";function s(){return this.width=100,this.height=100,this.svg=new i("svg"),this.context=[],this.setAttributes(this.svg,{xmlns:"http://www.w3.org/2000/svg",width:this.width,height:this.height}),this}var e=t("extend"),i=t("./xml");r.exports=s,s.prototype.currentContext=function(){return this.context[this.context.length-1]||this.svg},s.prototype.end=function(){return this.context.pop(),this},s.prototype.currentNode=function(){var t=this.currentContext();return t.lastChild||t},s.prototype.transform=function(t){return this.currentNode().setAttribute("transform",Object.keys(t).map(function(r){return r+"("+t[r].join(",")+")"}).join(" ")),this},s.prototype.setAttributes=function(t,r){Object.keys(r).forEach(function(s){t.setAttribute(s,r[s])})},s.prototype.setWidth=function(t){this.svg.setAttribute("width",Math.floor(t))},s.prototype.setHeight=function(t){this.svg.setAttribute("height",Math.floor(t))},s.prototype.toString=function(){return this.svg.toString()},s.prototype.rect=function(t,r,s,n,o){var a=this;if(Array.isArray(t))return t.forEach(function(t){a.rect.apply(a,t.concat(o))}),this;var h=new i("rect");return this.currentContext().appendChild(h),this.setAttributes(h,e({x:t,y:r,width:s,height:n},o)),this},s.prototype.circle=function(t,r,s,n){var o=new i("circle");return this.currentContext().appendChild(o),this.setAttributes(o,e({cx:t,cy:r,r:s},n)),this},s.prototype.path=function(t,r){var s=new i("path");return this.currentContext().appendChild(s),this.setAttributes(s,e({d:t},r)),this},s.prototype.polyline=function(t,r){var s=this;if(Array.isArray(t))return t.forEach(function(t){s.polyline(t,r)}),this;var n=new i("polyline");return this.currentContext().appendChild(n),this.setAttributes(n,e({points:t},r)),this},s.prototype.group=function(t){var r=new i("g");return this.currentContext().appendChild(r),this.context.push(r),this.setAttributes(r,e({},t)),this}},{"./xml":7,extend:9}],7:[function(t,r){"use strict";var s=r.exports=function(t){return this instanceof s?(this.tagName=t,this.attributes=Object.create(null),this.children=[],this.lastChild=null,this):new s(t)};s.prototype.appendChild=function(t){return this.children.push(t),this.lastChild=t,this},s.prototype.setAttribute=function(t,r){return this.attributes[t]=r,this},s.prototype.toString=function(){var t=this;return["<",t.tagName,Object.keys(t.attributes).map(function(r){return[" ",r,'="',t.attributes[r],'"'].join("")}).join(""),">",t.children.map(function(t){return t.toString()}).join(""),"",t.tagName,">"].join("")}},{}],8:[function(){},{}],9:[function(t,r){function s(t){if(!t||"[object Object]"!==i.call(t)||t.nodeType||t.setInterval)return!1;var r=e.call(t,"constructor"),s=e.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!r&&!s)return!1;var n;for(n in t);return void 0===n||e.call(t,n)}var e=Object.prototype.hasOwnProperty,i=Object.prototype.toString;r.exports=function n(){var t,r,e,i,o,a,h=arguments[0]||{},l=1,c=arguments.length,f=!1;for("boolean"==typeof h&&(f=h,h=arguments[1]||{},l=2),"object"!=typeof h&&"function"!=typeof h&&(h={});c>l;l++)if(null!=(t=arguments[l]))for(r in t)e=h[r],i=t[r],h!==i&&(f&&i&&(s(i)||(o=Array.isArray(i)))?(o?(o=!1,a=e&&Array.isArray(e)?e:[]):a=e&&s(e)?e:{},h[r]=n(f,a,i)):void 0!==i&&(h[r]=i));return h}},{}]},{},[1])(1)});
\ No newline at end of file
+!(function (t) {
+ if (typeof exports === 'object') module.exports = t()
+ else if (typeof define === 'function' && define.amd) define(t)
+ else {
+ let r
+ typeof window !== 'undefined'
+ ? (r = window)
+ : typeof global !== 'undefined'
+ ? (r = global)
+ : typeof self !== 'undefined' && (r = self),
+ (r.GeoPattern = t())
+ }
+})(function () {
+ return (function t (r, s, e) {
+ function i (o, a) {
+ if (!s[o]) {
+ if (!r[o]) {
+ const h = typeof require === 'function' && require
+ if (!a && h) return h(o, !0)
+ if (n) return n(o, !0)
+ throw new Error("Cannot find module '" + o + "'")
+ }
+ const l = (s[o] = { exports: {} })
+ r[o][0].call(
+ l.exports,
+ function (t) {
+ const s = r[o][1][t]
+ return i(s || t)
+ },
+ l,
+ l.exports,
+ t,
+ r,
+ s,
+ e
+ )
+ }
+ return s[o].exports
+ }
+ for (
+ var n = typeof require === 'function' && require, o = 0;
+ o < e.length;
+ o++
+ ) {
+ i(e[o])
+ }
+ return i
+ })(
+ {
+ 1: [
+ function (t, r) {
+ r.exports = t('./lib/')
+ },
+ { './lib/': 3 }
+ ],
+ 2: [
+ function (t, r) {
+ 'use strict'
+ function s (t) {
+ const r = /^#?([a-f\d])([a-f\d])([a-f\d])$/i
+ t = t.replace(r, function (t, r, s, e) {
+ return r + r + s + s + e + e
+ })
+ const s = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t)
+ return s
+ ? {
+ r: parseInt(s[1], 16),
+ g: parseInt(s[2], 16),
+ b: parseInt(s[3], 16)
+ }
+ : null
+ }
+ function e (t) {
+ return (
+ '#' +
+ ['r', 'g', 'b']
+ .map(function (r) {
+ return ('0' + t[r].toString(16)).slice(-2)
+ })
+ .join('')
+ )
+ }
+ function i (t) {
+ let r = t.r
+ let s = t.g
+ let e = t.b;
+ (r /= 255), (s /= 255), (e /= 255)
+ let i
+ let n
+ const o = Math.max(r, s, e)
+ const a = Math.min(r, s, e)
+ const h = (o + a) / 2
+ if (o === a) i = n = 0
+ else {
+ const l = o - a
+ switch (((n = h > 0.5 ? l / (2 - o - a) : l / (o + a)), o)) {
+ case r:
+ i = (s - e) / l + (e > s ? 6 : 0)
+ break
+ case s:
+ i = (e - r) / l + 2
+ break
+ case e:
+ i = (r - s) / l + 4
+ }
+ i /= 6
+ }
+ return { h: i, s: n, l: h }
+ }
+ function n (t) {
+ function r (t, r, s) {
+ return (
+ s < 0 && (s += 1),
+ s > 1 && (s -= 1),
+ 1 / 6 > s
+ ? t + 6 * (r - t) * s
+ : s < 0.5
+ ? r
+ : 2 / 3 > s
+ ? t + (r - t) * (2 / 3 - s) * 6
+ : t
+ )
+ }
+ let s
+ let e
+ let i
+ const n = t.h
+ const o = t.s
+ const a = t.l
+ if (o === 0) s = e = i = a
+ else {
+ const h = a < 0.5 ? a * (1 + o) : a + o - a * o
+ const l = 2 * a - h;
+ (s = r(l, h, n + 1 / 3)),
+ (e = r(l, h, n)),
+ (i = r(l, h, n - 1 / 3))
+ }
+ return {
+ r: Math.round(255 * s),
+ g: Math.round(255 * e),
+ b: Math.round(255 * i)
+ }
+ }
+ r.exports = {
+ hex2rgb: s,
+ rgb2hex: e,
+ rgb2hsl: i,
+ hsl2rgb: n,
+ rgb2rgbString: function (t) {
+ return 'rgb(' + [t.r, t.g, t.b].join(',') + ')'
+ }
+ }
+ },
+ {}
+ ],
+ 3: [
+ function (t, r) {
+ !(function (s) {
+ 'use strict'
+ function e (t) {
+ return function (r, s) {
+ return (
+ typeof r === 'object' && ((s = r), (r = null)),
+ (r === null || void 0 === r) && (r = new Date().toString()),
+ s || (s = {}),
+ t.call(this, r, s)
+ )
+ }
+ }
+ const i = t('./pattern')
+ const n = (r.exports = {
+ generate: e(function (t, r) {
+ return new i(t, r)
+ })
+ })
+ s &&
+ (s.fn.geopattern = e(function (t, r) {
+ return this.each(function () {
+ const e = s(this).attr('data-title-sha')
+ e && (r = s.extend({ hash: e }, r))
+ const i = n.generate(t, r)
+ s(this).css('background-image', i.toDataUrl())
+ })
+ }))
+ })(typeof jQuery !== 'undefined' ? jQuery : null)
+ },
+ { './pattern': 4 }
+ ],
+ 4: [
+ function (t, r) {
+ (function (s) {
+ 'use strict'
+ function e (t, r, s) {
+ return parseInt(t.substr(r, s || 1), 16)
+ }
+ function i (t, r, s, e, i) {
+ const n = parseFloat(t)
+ const o = s - r
+ const a = i - e
+ return ((n - r) * a) / o + e
+ }
+ function n (t) {
+ return t % 2 === 0 ? C : j
+ }
+ function o (t) {
+ return i(t, 0, 15, M, W)
+ }
+ function a (t) {
+ const r = t
+ const s = r / 2
+ const e = Math.sin((60 * Math.PI) / 180) * r
+ return [
+ 0,
+ e,
+ s,
+ 0,
+ s + r,
+ 0,
+ 2 * r,
+ e,
+ s + r,
+ 2 * e,
+ s,
+ 2 * e,
+ 0,
+ e
+ ].join(',')
+ }
+ function h (t, r) {
+ const s = 0.66 * r
+ return [
+ [0, 0, t / 2, r - s, t / 2, r, 0, s, 0, 0],
+ [t / 2, r - s, t, 0, t, s, t / 2, r, t / 2, r - s]
+ ].map(function (t) {
+ return t.join(',')
+ })
+ }
+ function l (t) {
+ return [
+ [t, 0, t, 3 * t],
+ [0, t, 3 * t, t]
+ ]
+ }
+ function c (t) {
+ const r = t
+ const s = 0.33 * r
+ return [
+ s,
+ 0,
+ r - s,
+ 0,
+ r,
+ s,
+ r,
+ r - s,
+ r - s,
+ r,
+ s,
+ r,
+ 0,
+ r - s,
+ 0,
+ s,
+ s,
+ 0
+ ].join(',')
+ }
+ function f (t, r) {
+ const s = t / 2
+ return [s, 0, t, r, 0, r, s, 0].join(',')
+ }
+ function u (t, r) {
+ return [t / 2, 0, t, r / 2, t / 2, r, 0, r / 2].join(',')
+ }
+ function p (t) {
+ return [0, 0, t, t, 0, t, 0, 0].join(',')
+ }
+ function g (t, r, s, e, i) {
+ const a = p(e)
+ let h = o(i[0])
+ let l = n(i[0])
+ let c = {
+ stroke: S,
+ 'stroke-opacity': A,
+ 'fill-opacity': h,
+ fill: l
+ }
+ t
+ .polyline(a, c)
+ .transform({ translate: [r + e, s], scale: [-1, 1] }),
+ t
+ .polyline(a, c)
+ .transform({ translate: [r + e, s + 2 * e], scale: [1, -1] }),
+ (h = o(i[1])),
+ (l = n(i[1])),
+ (c = {
+ stroke: S,
+ 'stroke-opacity': A,
+ 'fill-opacity': h,
+ fill: l
+ }),
+ t.polyline(a, c).transform({
+ translate: [r + e, s + 2 * e],
+ scale: [-1, -1]
+ }),
+ t
+ .polyline(a, c)
+ .transform({ translate: [r + e, s], scale: [1, 1] })
+ }
+ function v (t, r, s, e, i) {
+ const a = o(i)
+ const h = n(i)
+ const l = p(e)
+ const c = {
+ stroke: S,
+ 'stroke-opacity': A,
+ 'fill-opacity': a,
+ fill: h
+ }
+ t
+ .polyline(l, c)
+ .transform({ translate: [r, s + e], scale: [1, -1] }),
+ t.polyline(l, c).transform({
+ translate: [r + 2 * e, s + e],
+ scale: [-1, -1]
+ }),
+ t
+ .polyline(l, c)
+ .transform({ translate: [r, s + e], scale: [1, 1] }),
+ t
+ .polyline(l, c)
+ .transform({ translate: [r + 2 * e, s + e], scale: [-1, 1] })
+ }
+ function y (t, r) {
+ const s = t / 2
+ return [0, 0, r, s, 0, t, 0, 0].join(',')
+ }
+ const d = t('extend')
+ const b = t('./color')
+ const m = t('./sha1')
+ const k = t('./svg')
+ const x = { baseColor: '#933c3c' }
+ const w = [
+ 'octogons',
+ 'overlappingCircles',
+ 'plusSigns',
+ 'xes',
+ 'sineWaves',
+ 'hexagons',
+ 'overlappingRings',
+ 'plaid',
+ 'triangles',
+ 'squares',
+ 'concentricCircles',
+ 'diamonds',
+ 'tessellation',
+ 'nestedSquares',
+ 'mosaicSquares',
+ 'chevrons'
+ ]
+ var j = '#222'
+ var C = '#ddd'
+ var S = '#000'
+ var A = 0.02
+ var M = 0.02
+ var W = 0.15
+ const H = (r.exports = function (t, r) {
+ return (
+ (this.opts = d({}, x, r)),
+ (this.hash = r.hash || m(t)),
+ (this.svg = new k()),
+ this.generateBackground(),
+ this.generatePattern(),
+ this
+ )
+ });
+ (H.prototype.toSvg = function () {
+ return this.svg.toString()
+ }),
+ (H.prototype.toString = function () {
+ return this.toSvg()
+ }),
+ (H.prototype.toBase64 = function () {
+ let t
+ const r = this.toSvg()
+ return (t =
+ typeof window !== 'undefined' &&
+ typeof window.btoa === 'function'
+ ? window.btoa(r)
+ : new s(r).toString('base64'))
+ }),
+ (H.prototype.toDataUri = function () {
+ return 'data:image/svg+xml;base64,' + this.toBase64()
+ }),
+ (H.prototype.toDataUrl = function () {
+ return 'url("' + this.toDataUri() + '")'
+ }),
+ (H.prototype.generateBackground = function () {
+ let t, r, s, n
+ this.opts.color
+ ? (s = b.hex2rgb(this.opts.color))
+ : ((r = i(e(this.hash, 14, 3), 0, 4095, 0, 359)),
+ (n = e(this.hash, 17)),
+ (t = b.rgb2hsl(b.hex2rgb(this.opts.baseColor))),
+ (t.h = ((360 * t.h - r + 360) % 360) / 360),
+ (t.s =
+ n % 2 === 0
+ ? Math.min(1, (100 * t.s + n) / 100)
+ : Math.max(0, (100 * t.s - n) / 100)),
+ (s = b.hsl2rgb(t))),
+ (this.color = b.rgb2hex(s)),
+ this.svg.rect(0, 0, '100%', '100%', {
+ fill: b.rgb2rgbString(s)
+ })
+ }),
+ (H.prototype.generatePattern = function () {
+ let t = this.opts.generator
+ if (t) {
+ if (w.indexOf(t) < 0) {
+ throw new Error('The generator ' + t + ' does not exist.')
+ }
+ } else t = w[e(this.hash, 20)]
+ return this['geo' + t.slice(0, 1).toUpperCase() + t.slice(1)]()
+ }),
+ (H.prototype.geoHexagons = function () {
+ let t
+ let r
+ let s
+ let h
+ let l
+ let c
+ let f
+ let u
+ const p = e(this.hash, 0)
+ const g = i(p, 0, 15, 8, 60)
+ const v = g * Math.sqrt(3)
+ const y = 2 * g
+ const d = a(g)
+ for (
+ this.svg.setWidth(3 * y + 3 * g),
+ this.svg.setHeight(6 * v),
+ s = 0,
+ u = 0;
+ u < 6;
+ u++
+ ) {
+ for (f = 0; f < 6; f++) {
+ (c = e(this.hash, s)),
+ (t = f % 2 === 0 ? u * v : u * v + v / 2),
+ (h = o(c)),
+ (r = n(c)),
+ (l = {
+ fill: r,
+ 'fill-opacity': h,
+ stroke: S,
+ 'stroke-opacity': A
+ }),
+ this.svg.polyline(d, l).transform({
+ translate: [f * g * 1.5 - y / 2, t - v / 2]
+ }),
+ f === 0 &&
+ this.svg.polyline(d, l).transform({
+ translate: [6 * g * 1.5 - y / 2, t - v / 2]
+ }),
+ u === 0 &&
+ ((t = f % 2 === 0 ? 6 * v : 6 * v + v / 2),
+ this.svg.polyline(d, l).transform({
+ translate: [f * g * 1.5 - y / 2, t - v / 2]
+ })),
+ f === 0 &&
+ u === 0 &&
+ this.svg.polyline(d, l).transform({
+ translate: [6 * g * 1.5 - y / 2, 5 * v + v / 2]
+ }),
+ s++
+ }
+ }
+ }),
+ (H.prototype.geoSineWaves = function () {
+ let t
+ let r
+ let s
+ let a
+ let h
+ let l
+ let c
+ const f = Math.floor(i(e(this.hash, 0), 0, 15, 100, 400))
+ const u = Math.floor(i(e(this.hash, 1), 0, 15, 30, 100))
+ const p = Math.floor(i(e(this.hash, 2), 0, 15, 3, 30))
+ for (
+ this.svg.setWidth(f), this.svg.setHeight(36 * p), r = 0;
+ r < 36;
+ r++
+ ) {
+ (l = e(this.hash, r)),
+ (s = o(l)),
+ (t = n(l)),
+ (c = (f / 4) * 0.7),
+ (h = {
+ fill: 'none',
+ stroke: t,
+ opacity: s,
+ 'stroke-width': '' + p + 'px'
+ }),
+ (a =
+ 'M0 ' +
+ u +
+ ' C ' +
+ c +
+ ' 0, ' +
+ (f / 2 - c) +
+ ' 0, ' +
+ f / 2 +
+ ' ' +
+ u +
+ ' S ' +
+ (f - c) +
+ ' ' +
+ 2 * u +
+ ', ' +
+ f +
+ ' ' +
+ u +
+ ' S ' +
+ (1.5 * f - c) +
+ ' 0, ' +
+ 1.5 * f +
+ ', ' +
+ u),
+ this.svg
+ .path(a, h)
+ .transform({ translate: [-f / 4, p * r - 1.5 * u] }),
+ this.svg.path(a, h).transform({
+ translate: [-f / 4, p * r - 1.5 * u + 36 * p]
+ })
+ }
+ }),
+ (H.prototype.geoChevrons = function () {
+ let t
+ let r
+ let s
+ let a
+ let l
+ let c
+ let f
+ const u = i(e(this.hash, 0), 0, 15, 30, 80)
+ const p = i(e(this.hash, 0), 0, 15, 30, 80)
+ const g = h(u, p)
+ for (
+ this.svg.setWidth(6 * u),
+ this.svg.setHeight(6 * p * 0.66),
+ r = 0,
+ f = 0;
+ f < 6;
+ f++
+ ) {
+ for (c = 0; c < 6; c++) {
+ (l = e(this.hash, r)),
+ (s = o(l)),
+ (t = n(l)),
+ (a = {
+ stroke: S,
+ 'stroke-opacity': A,
+ fill: t,
+ 'fill-opacity': s,
+ 'stroke-width': 1
+ }),
+ this.svg
+ .group(a)
+ .transform({ translate: [c * u, f * p * 0.66 - p / 2] })
+ .polyline(g)
+ .end(),
+ f === 0 &&
+ this.svg
+ .group(a)
+ .transform({
+ translate: [c * u, 6 * p * 0.66 - p / 2]
+ })
+ .polyline(g)
+ .end(),
+ (r += 1)
+ }
+ }
+ }),
+ (H.prototype.geoPlusSigns = function () {
+ let t
+ let r
+ let s
+ let a
+ let h
+ let c
+ let f
+ let u
+ const p = i(e(this.hash, 0), 0, 15, 10, 25)
+ const g = 3 * p
+ const v = l(p)
+ for (
+ this.svg.setWidth(12 * p),
+ this.svg.setHeight(12 * p),
+ s = 0,
+ u = 0;
+ u < 6;
+ u++
+ ) {
+ for (f = 0; f < 6; f++) {
+ (c = e(this.hash, s)),
+ (a = o(c)),
+ (r = n(c)),
+ (t = u % 2 === 0 ? 0 : 1),
+ (h = {
+ fill: r,
+ stroke: S,
+ 'stroke-opacity': A,
+ 'fill-opacity': a
+ }),
+ this.svg
+ .group(h)
+ .transform({
+ translate: [
+ f * g - f * p + t * p - p,
+ u * g - u * p - g / 2
+ ]
+ })
+ .rect(v)
+ .end(),
+ f === 0 &&
+ this.svg
+ .group(h)
+ .transform({
+ translate: [
+ 4 * g - f * p + t * p - p,
+ u * g - u * p - g / 2
+ ]
+ })
+ .rect(v)
+ .end(),
+ u === 0 &&
+ this.svg
+ .group(h)
+ .transform({
+ translate: [
+ f * g - f * p + t * p - p,
+ 4 * g - u * p - g / 2
+ ]
+ })
+ .rect(v)
+ .end(),
+ f === 0 &&
+ u === 0 &&
+ this.svg
+ .group(h)
+ .transform({
+ translate: [
+ 4 * g - f * p + t * p - p,
+ 4 * g - u * p - g / 2
+ ]
+ })
+ .rect(v)
+ .end(),
+ s++
+ }
+ }
+ }),
+ (H.prototype.geoXes = function () {
+ let t
+ let r
+ let s
+ let a
+ let h
+ let c
+ let f
+ let u
+ const p = i(e(this.hash, 0), 0, 15, 10, 25)
+ const g = l(p)
+ const v = 3 * p * 0.943
+ for (
+ this.svg.setWidth(3 * v),
+ this.svg.setHeight(3 * v),
+ s = 0,
+ u = 0;
+ u < 6;
+ u++
+ ) {
+ for (f = 0; f < 6; f++) {
+ (c = e(this.hash, s)),
+ (a = o(c)),
+ (t =
+ f % 2 === 0
+ ? u * v - 0.5 * v
+ : u * v - 0.5 * v + v / 4),
+ (r = n(c)),
+ (h = { fill: r, opacity: a }),
+ this.svg
+ .group(h)
+ .transform({
+ translate: [(f * v) / 2 - v / 2, t - (u * v) / 2],
+ rotate: [45, v / 2, v / 2]
+ })
+ .rect(g)
+ .end(),
+ f === 0 &&
+ this.svg
+ .group(h)
+ .transform({
+ translate: [(6 * v) / 2 - v / 2, t - (u * v) / 2],
+ rotate: [45, v / 2, v / 2]
+ })
+ .rect(g)
+ .end(),
+ u === 0 &&
+ ((t =
+ f % 2 === 0 ? 6 * v - v / 2 : 6 * v - v / 2 + v / 4),
+ this.svg
+ .group(h)
+ .transform({
+ translate: [(f * v) / 2 - v / 2, t - (6 * v) / 2],
+ rotate: [45, v / 2, v / 2]
+ })
+ .rect(g)
+ .end()),
+ u === 5 &&
+ this.svg
+ .group(h)
+ .transform({
+ translate: [(f * v) / 2 - v / 2, t - (11 * v) / 2],
+ rotate: [45, v / 2, v / 2]
+ })
+ .rect(g)
+ .end(),
+ f === 0 &&
+ u === 0 &&
+ this.svg
+ .group(h)
+ .transform({
+ translate: [(6 * v) / 2 - v / 2, t - (6 * v) / 2],
+ rotate: [45, v / 2, v / 2]
+ })
+ .rect(g)
+ .end(),
+ s++
+ }
+ }
+ }),
+ (H.prototype.geoOverlappingCircles = function () {
+ let t
+ let r
+ let s
+ let a
+ let h
+ let l
+ let c
+ const f = e(this.hash, 0)
+ const u = i(f, 0, 15, 25, 200)
+ const p = u / 2
+ for (
+ this.svg.setWidth(6 * p),
+ this.svg.setHeight(6 * p),
+ r = 0,
+ c = 0;
+ c < 6;
+ c++
+ ) {
+ for (l = 0; l < 6; l++) {
+ (h = e(this.hash, r)),
+ (s = o(h)),
+ (t = n(h)),
+ (a = { fill: t, opacity: s }),
+ this.svg.circle(l * p, c * p, p, a),
+ l === 0 && this.svg.circle(6 * p, c * p, p, a),
+ c === 0 && this.svg.circle(l * p, 6 * p, p, a),
+ l === 0 && c === 0 && this.svg.circle(6 * p, 6 * p, p, a),
+ r++
+ }
+ }
+ }),
+ (H.prototype.geoOctogons = function () {
+ let t
+ let r
+ let s
+ let a
+ let h
+ let l
+ const f = i(e(this.hash, 0), 0, 15, 10, 60)
+ const u = c(f)
+ for (
+ this.svg.setWidth(6 * f),
+ this.svg.setHeight(6 * f),
+ r = 0,
+ l = 0;
+ l < 6;
+ l++
+ ) {
+ for (h = 0; h < 6; h++) {
+ (a = e(this.hash, r)),
+ (s = o(a)),
+ (t = n(a)),
+ this.svg
+ .polyline(u, {
+ fill: t,
+ 'fill-opacity': s,
+ stroke: S,
+ 'stroke-opacity': A
+ })
+ .transform({ translate: [h * f, l * f] }),
+ (r += 1)
+ }
+ }
+ }),
+ (H.prototype.geoSquares = function () {
+ let t
+ let r
+ let s
+ let a
+ let h
+ let l
+ const c = i(e(this.hash, 0), 0, 15, 10, 60)
+ for (
+ this.svg.setWidth(6 * c),
+ this.svg.setHeight(6 * c),
+ r = 0,
+ l = 0;
+ l < 6;
+ l++
+ ) {
+ for (h = 0; h < 6; h++) {
+ (a = e(this.hash, r)),
+ (s = o(a)),
+ (t = n(a)),
+ this.svg.rect(h * c, l * c, c, c, {
+ fill: t,
+ 'fill-opacity': s,
+ stroke: S,
+ 'stroke-opacity': A
+ }),
+ (r += 1)
+ }
+ }
+ }),
+ (H.prototype.geoConcentricCircles = function () {
+ let t
+ let r
+ let s
+ let a
+ let h
+ let l
+ const c = e(this.hash, 0)
+ const f = i(c, 0, 15, 10, 60)
+ const u = f / 5
+ for (
+ this.svg.setWidth(6 * (f + u)),
+ this.svg.setHeight(6 * (f + u)),
+ r = 0,
+ l = 0;
+ l < 6;
+ l++
+ ) {
+ for (h = 0; h < 6; h++) {
+ (a = e(this.hash, r)),
+ (s = o(a)),
+ (t = n(a)),
+ this.svg.circle(
+ h * f + h * u + (f + u) / 2,
+ l * f + l * u + (f + u) / 2,
+ f / 2,
+ {
+ fill: 'none',
+ stroke: t,
+ opacity: s,
+ 'stroke-width': u + 'px'
+ }
+ ),
+ (a = e(this.hash, 39 - r)),
+ (s = o(a)),
+ (t = n(a)),
+ this.svg.circle(
+ h * f + h * u + (f + u) / 2,
+ l * f + l * u + (f + u) / 2,
+ f / 4,
+ { fill: t, 'fill-opacity': s }
+ ),
+ (r += 1)
+ }
+ }
+ }),
+ (H.prototype.geoOverlappingRings = function () {
+ let t
+ let r
+ let s
+ let a
+ let h
+ let l
+ let c
+ const f = e(this.hash, 0)
+ const u = i(f, 0, 15, 10, 60)
+ const p = u / 4
+ for (
+ this.svg.setWidth(6 * u),
+ this.svg.setHeight(6 * u),
+ r = 0,
+ c = 0;
+ c < 6;
+ c++
+ ) {
+ for (l = 0; l < 6; l++) {
+ (h = e(this.hash, r)),
+ (s = o(h)),
+ (t = n(h)),
+ (a = {
+ fill: 'none',
+ stroke: t,
+ opacity: s,
+ 'stroke-width': p + 'px'
+ }),
+ this.svg.circle(l * u, c * u, u - p / 2, a),
+ l === 0 && this.svg.circle(6 * u, c * u, u - p / 2, a),
+ c === 0 && this.svg.circle(l * u, 6 * u, u - p / 2, a),
+ l === 0 &&
+ c === 0 &&
+ this.svg.circle(6 * u, 6 * u, u - p / 2, a),
+ (r += 1)
+ }
+ }
+ }),
+ (H.prototype.geoTriangles = function () {
+ let t
+ let r
+ let s
+ let a
+ let h
+ let l
+ let c
+ let u
+ const p = e(this.hash, 0)
+ const g = i(p, 0, 15, 15, 80)
+ const v = (g / 2) * Math.sqrt(3)
+ const y = f(g, v)
+ for (
+ this.svg.setWidth(3 * g),
+ this.svg.setHeight(6 * v),
+ r = 0,
+ u = 0;
+ u < 6;
+ u++
+ ) {
+ for (c = 0; c < 6; c++) {
+ (l = e(this.hash, r)),
+ (s = o(l)),
+ (t = n(l)),
+ (h = {
+ fill: t,
+ 'fill-opacity': s,
+ stroke: S,
+ 'stroke-opacity': A
+ }),
+ (a =
+ u % 2 === 0
+ ? c % 2 === 0
+ ? 180
+ : 0
+ : c % 2 !== 0
+ ? 180
+ : 0),
+ this.svg.polyline(y, h).transform({
+ translate: [c * g * 0.5 - g / 2, v * u],
+ rotate: [a, g / 2, v / 2]
+ }),
+ c === 0 &&
+ this.svg.polyline(y, h).transform({
+ translate: [6 * g * 0.5 - g / 2, v * u],
+ rotate: [a, g / 2, v / 2]
+ }),
+ (r += 1)
+ }
+ }
+ }),
+ (H.prototype.geoDiamonds = function () {
+ let t
+ let r
+ let s
+ let a
+ let h
+ let l
+ let c
+ let f
+ const p = i(e(this.hash, 0), 0, 15, 10, 50)
+ const g = i(e(this.hash, 1), 0, 15, 10, 50)
+ const v = u(p, g)
+ for (
+ this.svg.setWidth(6 * p),
+ this.svg.setHeight(3 * g),
+ s = 0,
+ f = 0;
+ f < 6;
+ f++
+ ) {
+ for (c = 0; c < 6; c++) {
+ (l = e(this.hash, s)),
+ (a = o(l)),
+ (r = n(l)),
+ (h = {
+ fill: r,
+ 'fill-opacity': a,
+ stroke: S,
+ 'stroke-opacity': A
+ }),
+ (t = f % 2 === 0 ? 0 : p / 2),
+ this.svg.polyline(v, h).transform({
+ translate: [c * p - p / 2 + t, (g / 2) * f - g / 2]
+ }),
+ c === 0 &&
+ this.svg.polyline(v, h).transform({
+ translate: [6 * p - p / 2 + t, (g / 2) * f - g / 2]
+ }),
+ f === 0 &&
+ this.svg.polyline(v, h).transform({
+ translate: [c * p - p / 2 + t, (g / 2) * 6 - g / 2]
+ }),
+ c === 0 &&
+ f === 0 &&
+ this.svg.polyline(v, h).transform({
+ translate: [6 * p - p / 2 + t, (g / 2) * 6 - g / 2]
+ }),
+ (s += 1)
+ }
+ }
+ }),
+ (H.prototype.geoNestedSquares = function () {
+ let t
+ let r
+ let s
+ let a
+ let h
+ let l
+ let c
+ const f = i(e(this.hash, 0), 0, 15, 4, 12)
+ const u = 7 * f
+ for (
+ this.svg.setWidth(6 * (u + f) + 6 * f),
+ this.svg.setHeight(6 * (u + f) + 6 * f),
+ r = 0,
+ c = 0;
+ c < 6;
+ c++
+ ) {
+ for (l = 0; l < 6; l++) {
+ (h = e(this.hash, r)),
+ (s = o(h)),
+ (t = n(h)),
+ (a = {
+ fill: 'none',
+ stroke: t,
+ opacity: s,
+ 'stroke-width': f + 'px'
+ }),
+ this.svg.rect(
+ l * u + l * f * 2 + f / 2,
+ c * u + c * f * 2 + f / 2,
+ u,
+ u,
+ a
+ ),
+ (h = e(this.hash, 39 - r)),
+ (s = o(h)),
+ (t = n(h)),
+ (a = {
+ fill: 'none',
+ stroke: t,
+ opacity: s,
+ 'stroke-width': f + 'px'
+ }),
+ this.svg.rect(
+ l * u + l * f * 2 + f / 2 + 2 * f,
+ c * u + c * f * 2 + f / 2 + 2 * f,
+ 3 * f,
+ 3 * f,
+ a
+ ),
+ (r += 1)
+ }
+ }
+ }),
+ (H.prototype.geoMosaicSquares = function () {
+ let t
+ let r
+ let s
+ const n = i(e(this.hash, 0), 0, 15, 15, 50)
+ for (
+ this.svg.setWidth(8 * n),
+ this.svg.setHeight(8 * n),
+ t = 0,
+ s = 0;
+ s < 4;
+ s++
+ ) {
+ for (r = 0; r < 4; r++) {
+ r % 2 === 0
+ ? s % 2 === 0
+ ? v(this.svg, r * n * 2, s * n * 2, n, e(this.hash, t))
+ : g(this.svg, r * n * 2, s * n * 2, n, [
+ e(this.hash, t),
+ e(this.hash, t + 1)
+ ])
+ : s % 2 === 0
+ ? g(this.svg, r * n * 2, s * n * 2, n, [
+ e(this.hash, t),
+ e(this.hash, t + 1)
+ ])
+ : v(this.svg, r * n * 2, s * n * 2, n, e(this.hash, t)),
+ (t += 1)
+ }
+ }
+ }),
+ (H.prototype.geoPlaid = function () {
+ let t
+ let r
+ let s
+ let i
+ let a
+ let h
+ let l
+ let c = 0
+ let f = 0
+ for (r = 0; r < 36;) {
+ (i = e(this.hash, r)),
+ (c += i + 5),
+ (l = e(this.hash, r + 1)),
+ (s = o(l)),
+ (t = n(l)),
+ (a = l + 5),
+ this.svg.rect(0, c, '100%', a, { opacity: s, fill: t }),
+ (c += a),
+ (r += 2)
+ }
+ for (r = 0; r < 36;) {
+ (i = e(this.hash, r)),
+ (f += i + 5),
+ (l = e(this.hash, r + 1)),
+ (s = o(l)),
+ (t = n(l)),
+ (h = l + 5),
+ this.svg.rect(f, 0, h, '100%', { opacity: s, fill: t }),
+ (f += h),
+ (r += 2)
+ }
+ this.svg.setWidth(f), this.svg.setHeight(c)
+ }),
+ (H.prototype.geoTessellation = function () {
+ let t
+ let r
+ let s
+ let a
+ let h
+ const l = i(e(this.hash, 0), 0, 15, 5, 40)
+ const c = l * Math.sqrt(3)
+ const f = 2 * l
+ const u = (l / 2) * Math.sqrt(3)
+ const p = y(l, u)
+ const g = 3 * l + 2 * u
+ const v = 2 * c + 2 * l
+ for (
+ this.svg.setWidth(g), this.svg.setHeight(v), r = 0;
+ r < 20;
+ r++
+ ) {
+ switch (
+ ((h = e(this.hash, r)),
+ (s = o(h)),
+ (t = n(h)),
+ (a = {
+ stroke: S,
+ 'stroke-opacity': A,
+ fill: t,
+ 'fill-opacity': s,
+ 'stroke-width': 1
+ }),
+ r)
+ ) {
+ case 0:
+ this.svg.rect(-l / 2, -l / 2, l, l, a),
+ this.svg.rect(g - l / 2, -l / 2, l, l, a),
+ this.svg.rect(-l / 2, v - l / 2, l, l, a),
+ this.svg.rect(g - l / 2, v - l / 2, l, l, a)
+ break
+ case 1:
+ this.svg.rect(f / 2 + u, c / 2, l, l, a)
+ break
+ case 2:
+ this.svg.rect(-l / 2, v / 2 - l / 2, l, l, a),
+ this.svg.rect(g - l / 2, v / 2 - l / 2, l, l, a)
+ break
+ case 3:
+ this.svg.rect(f / 2 + u, 1.5 * c + l, l, l, a)
+ break
+ case 4:
+ this.svg.polyline(p, a).transform({
+ translate: [l / 2, -l / 2],
+ rotate: [0, l / 2, u / 2]
+ }),
+ this.svg.polyline(p, a).transform({
+ translate: [l / 2, v - -l / 2],
+ rotate: [0, l / 2, u / 2],
+ scale: [1, -1]
+ })
+ break
+ case 5:
+ this.svg.polyline(p, a).transform({
+ translate: [g - l / 2, -l / 2],
+ rotate: [0, l / 2, u / 2],
+ scale: [-1, 1]
+ }),
+ this.svg.polyline(p, a).transform({
+ translate: [g - l / 2, v + l / 2],
+ rotate: [0, l / 2, u / 2],
+ scale: [-1, -1]
+ })
+ break
+ case 6:
+ this.svg
+ .polyline(p, a)
+ .transform({ translate: [g / 2 + l / 2, c / 2] })
+ break
+ case 7:
+ this.svg.polyline(p, a).transform({
+ translate: [g - g / 2 - l / 2, c / 2],
+ scale: [-1, 1]
+ })
+ break
+ case 8:
+ this.svg.polyline(p, a).transform({
+ translate: [g / 2 + l / 2, v - c / 2],
+ scale: [1, -1]
+ })
+ break
+ case 9:
+ this.svg.polyline(p, a).transform({
+ translate: [g - g / 2 - l / 2, v - c / 2],
+ scale: [-1, -1]
+ })
+ break
+ case 10:
+ this.svg
+ .polyline(p, a)
+ .transform({ translate: [l / 2, v / 2 - l / 2] })
+ break
+ case 11:
+ this.svg.polyline(p, a).transform({
+ translate: [g - l / 2, v / 2 - l / 2],
+ scale: [-1, 1]
+ })
+ break
+ case 12:
+ this.svg.rect(0, 0, l, l, a).transform({
+ translate: [l / 2, l / 2],
+ rotate: [-30, 0, 0]
+ })
+ break
+ case 13:
+ this.svg.rect(0, 0, l, l, a).transform({
+ scale: [-1, 1],
+ translate: [-g + l / 2, l / 2],
+ rotate: [-30, 0, 0]
+ })
+ break
+ case 14:
+ this.svg.rect(0, 0, l, l, a).transform({
+ translate: [l / 2, v / 2 - l / 2 - l],
+ rotate: [30, 0, l]
+ })
+ break
+ case 15:
+ this.svg.rect(0, 0, l, l, a).transform({
+ scale: [-1, 1],
+ translate: [-g + l / 2, v / 2 - l / 2 - l],
+ rotate: [30, 0, l]
+ })
+ break
+ case 16:
+ this.svg.rect(0, 0, l, l, a).transform({
+ scale: [1, -1],
+ translate: [l / 2, -v + v / 2 - l / 2 - l],
+ rotate: [30, 0, l]
+ })
+ break
+ case 17:
+ this.svg.rect(0, 0, l, l, a).transform({
+ scale: [-1, -1],
+ translate: [-g + l / 2, -v + v / 2 - l / 2 - l],
+ rotate: [30, 0, l]
+ })
+ break
+ case 18:
+ this.svg.rect(0, 0, l, l, a).transform({
+ scale: [1, -1],
+ translate: [l / 2, -v + l / 2],
+ rotate: [-30, 0, 0]
+ })
+ break
+ case 19:
+ this.svg.rect(0, 0, l, l, a).transform({
+ scale: [-1, -1],
+ translate: [-g + l / 2, -v + l / 2],
+ rotate: [-30, 0, 0]
+ })
+ }
+ }
+ })
+ }.call(this, t('buffer').Buffer))
+ },
+ { './color': 2, './sha1': 5, './svg': 6, buffer: 8, extend: 9 }
+ ],
+ 5: [
+ function (t, r) {
+ 'use strict'
+ function s () {
+ function t () {
+ for (var t = 16; t < 80; t++) {
+ const r = f[t - 3] ^ f[t - 8] ^ f[t - 14] ^ f[t - 16]
+ f[t] = (r << 1) | (r >>> 31)
+ }
+ let s
+ let e
+ let i = o
+ let n = a
+ let p = h
+ let g = l
+ let v = c
+ for (t = 0; t < 80; t++) {
+ t < 20
+ ? ((s = g ^ (n & (p ^ g))), (e = 1518500249))
+ : t < 40
+ ? ((s = n ^ p ^ g), (e = 1859775393))
+ : t < 60
+ ? ((s = (n & p) | (g & (n | p))), (e = 2400959708))
+ : ((s = n ^ p ^ g), (e = 3395469782))
+ const y = ((i << 5) | (i >>> 27)) + s + v + e + (0 | f[t]);
+ (v = g), (g = p), (p = (n << 30) | (n >>> 2)), (n = i), (i = y)
+ }
+ for (
+ o = (o + i) | 0,
+ a = (a + n) | 0,
+ h = (h + p) | 0,
+ l = (l + g) | 0,
+ c = (c + v) | 0,
+ u = 0,
+ t = 0;
+ t < 16;
+ t++
+ ) {
+ f[t] = 0
+ }
+ }
+ function r (r) {
+ (f[u] |= (255 & r) << p),
+ p ? (p -= 8) : (u++, (p = 24)),
+ u === 16 && t()
+ }
+ function s (t) {
+ const s = t.length
+ g += 8 * s
+ for (let e = 0; s > e; e++) r(t.charCodeAt(e))
+ }
+ function e (t) {
+ if (typeof t === 'string') return s(t)
+ const e = t.length
+ g += 8 * e
+ for (let i = 0; e > i; i++) r(t[i])
+ }
+ function i (t) {
+ for (var r = '', s = 28; s >= 0; s -= 4) {
+ r += ((t >> s) & 15).toString(16)
+ }
+ return r
+ }
+ function n () {
+ r(128),
+ (u > 14 || (u === 14 && p < 24)) && t(),
+ (u = 14),
+ (p = 24),
+ r(0),
+ r(0),
+ r(g > 0xffffffffff ? g / 1099511627776 : 0),
+ r(g > 4294967295 ? g / 4294967296 : 0)
+ for (let s = 24; s >= 0; s -= 8) r(g >> s)
+ return i(o) + i(a) + i(h) + i(l) + i(c)
+ }
+ var o = 1732584193
+ var a = 4023233417
+ var h = 2562383102
+ var l = 271733878
+ var c = 3285377520
+ var f = new Uint32Array(80)
+ var u = 0
+ var p = 24
+ var g = 0
+ return { update: e, digest: n }
+ }
+ r.exports = function (t) {
+ if (void 0 === t) return s()
+ const r = s()
+ return r.update(t), r.digest()
+ }
+ },
+ {}
+ ],
+ 6: [
+ function (t, r) {
+ 'use strict'
+ function s () {
+ return (
+ (this.width = 100),
+ (this.height = 100),
+ (this.svg = new i('svg')),
+ (this.context = []),
+ this.setAttributes(this.svg, {
+ xmlns: 'http://www.w3.org/2000/svg',
+ width: this.width,
+ height: this.height
+ }),
+ this
+ )
+ }
+ const e = t('extend')
+ var i = t('./xml');
+ (r.exports = s),
+ (s.prototype.currentContext = function () {
+ return this.context[this.context.length - 1] || this.svg
+ }),
+ (s.prototype.end = function () {
+ return this.context.pop(), this
+ }),
+ (s.prototype.currentNode = function () {
+ const t = this.currentContext()
+ return t.lastChild || t
+ }),
+ (s.prototype.transform = function (t) {
+ return (
+ this.currentNode().setAttribute(
+ 'transform',
+ Object.keys(t)
+ .map(function (r) {
+ return r + '(' + t[r].join(',') + ')'
+ })
+ .join(' ')
+ ),
+ this
+ )
+ }),
+ (s.prototype.setAttributes = function (t, r) {
+ Object.keys(r).forEach(function (s) {
+ t.setAttribute(s, r[s])
+ })
+ }),
+ (s.prototype.setWidth = function (t) {
+ this.svg.setAttribute('width', Math.floor(t))
+ }),
+ (s.prototype.setHeight = function (t) {
+ this.svg.setAttribute('height', Math.floor(t))
+ }),
+ (s.prototype.toString = function () {
+ return this.svg.toString()
+ }),
+ (s.prototype.rect = function (t, r, s, n, o) {
+ const a = this
+ if (Array.isArray(t)) {
+ return (
+ t.forEach(function (t) {
+ a.rect.apply(a, t.concat(o))
+ }),
+ this
+ )
+ }
+ const h = new i('rect')
+ return (
+ this.currentContext().appendChild(h),
+ this.setAttributes(
+ h,
+ e({ x: t, y: r, width: s, height: n }, o)
+ ),
+ this
+ )
+ }),
+ (s.prototype.circle = function (t, r, s, n) {
+ const o = new i('circle')
+ return (
+ this.currentContext().appendChild(o),
+ this.setAttributes(o, e({ cx: t, cy: r, r: s }, n)),
+ this
+ )
+ }),
+ (s.prototype.path = function (t, r) {
+ const s = new i('path')
+ return (
+ this.currentContext().appendChild(s),
+ this.setAttributes(s, e({ d: t }, r)),
+ this
+ )
+ }),
+ (s.prototype.polyline = function (t, r) {
+ const s = this
+ if (Array.isArray(t)) {
+ return (
+ t.forEach(function (t) {
+ s.polyline(t, r)
+ }),
+ this
+ )
+ }
+ const n = new i('polyline')
+ return (
+ this.currentContext().appendChild(n),
+ this.setAttributes(n, e({ points: t }, r)),
+ this
+ )
+ }),
+ (s.prototype.group = function (t) {
+ const r = new i('g')
+ return (
+ this.currentContext().appendChild(r),
+ this.context.push(r),
+ this.setAttributes(r, e({}, t)),
+ this
+ )
+ })
+ },
+ { './xml': 7, extend: 9 }
+ ],
+ 7: [
+ function (t, r) {
+ 'use strict'
+ var s = (r.exports = function (t) {
+ return this instanceof s
+ ? ((this.tagName = t),
+ (this.attributes = Object.create(null)),
+ (this.children = []),
+ (this.lastChild = null),
+ this)
+ : new s(t)
+ });
+ (s.prototype.appendChild = function (t) {
+ return this.children.push(t), (this.lastChild = t), this
+ }),
+ (s.prototype.setAttribute = function (t, r) {
+ return (this.attributes[t] = r), this
+ }),
+ (s.prototype.toString = function () {
+ const t = this
+ return [
+ '<',
+ t.tagName,
+ Object.keys(t.attributes)
+ .map(function (r) {
+ return [' ', r, '="', t.attributes[r], '"'].join('')
+ })
+ .join(''),
+ '>',
+ t.children
+ .map(function (t) {
+ return t.toString()
+ })
+ .join(''),
+ '',
+ t.tagName,
+ '>'
+ ].join('')
+ })
+ },
+ {}
+ ],
+ 8: [function () {}, {}],
+ 9: [
+ function (t, r) {
+ function s (t) {
+ if (
+ !t ||
+ i.call(t) !== '[object Object]' ||
+ t.nodeType ||
+ t.setInterval
+ ) {
+ return !1
+ }
+ const r = e.call(t, 'constructor')
+ const s = e.call(t.constructor.prototype, 'isPrototypeOf')
+ if (t.constructor && !r && !s) return !1
+ let n
+ for (n in t);
+ return void 0 === n || e.call(t, n)
+ }
+ var e = Object.prototype.hasOwnProperty
+ var i = Object.prototype.toString
+ r.exports = function n () {
+ let t
+ let r
+ let e
+ let i
+ let o
+ let a
+ let h = arguments[0] || {}
+ let l = 1
+ const c = arguments.length
+ let f = !1
+ for (
+ typeof h === 'boolean' &&
+ ((f = h), (h = arguments[1] || {}), (l = 2)),
+ typeof h !== 'object' && typeof h !== 'function' && (h = {});
+ c > l;
+ l++
+ ) {
+ if ((t = arguments[l]) != null) {
+ for (r in t) {
+ (e = h[r]),
+ (i = t[r]),
+ h !== i &&
+ (f && i && (s(i) || (o = Array.isArray(i)))
+ ? (o
+ ? ((o = !1), (a = e && Array.isArray(e) ? e : []))
+ : (a = e && s(e) ? e : {}),
+ (h[r] = n(f, a, i)))
+ : void 0 !== i && (h[r] = i))
+ }
+ }
+ }
+ return h
+ }
+ },
+ {}
+ ]
+ },
+ {},
+ [1]
+ )(1)
+})
diff --git a/assets/js/jquery-ui.js b/assets/js/jquery-ui.js
index 31ee9cd8116..455625f01d7 100644
--- a/assets/js/jquery-ui.js
+++ b/assets/js/jquery-ui.js
@@ -1,16617 +1,18677 @@
/*! jQuery UI - v1.11.4 - 2015-03-11
-* http://jqueryui.com
-* Includes: core.js, widget.js, mouse.js, position.js, accordion.js, autocomplete.js, button.js, datepicker.js, dialog.js, draggable.js, droppable.js, effect.js, effect-blind.js, effect-bounce.js, effect-clip.js, effect-drop.js, effect-explode.js, effect-fade.js, effect-fold.js, effect-highlight.js, effect-puff.js, effect-pulsate.js, effect-scale.js, effect-shake.js, effect-size.js, effect-slide.js, effect-transfer.js, menu.js, progressbar.js, resizable.js, selectable.js, selectmenu.js, slider.js, sortable.js, spinner.js, tabs.js, tooltip.js
-* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */
-
-(function( factory ) {
- if ( typeof define === "function" && define.amd ) {
-
- // AMD. Register as an anonymous module.
- define([ "jquery" ], factory );
- } else {
-
- // Browser globals
- factory( jQuery );
- }
-}(function( $ ) {
-/*!
- * jQuery UI Core 1.11.4
* http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/category/ui-core/
- */
-
-
-// $.ui might exist from components with no dependencies, e.g., $.ui.position
-$.ui = $.ui || {};
-
-$.extend( $.ui, {
- version: "1.11.4",
-
- keyCode: {
- BACKSPACE: 8,
- COMMA: 188,
- DELETE: 46,
- DOWN: 40,
- END: 35,
- ENTER: 13,
- ESCAPE: 27,
- HOME: 36,
- LEFT: 37,
- PAGE_DOWN: 34,
- PAGE_UP: 33,
- PERIOD: 190,
- RIGHT: 39,
- SPACE: 32,
- TAB: 9,
- UP: 38
- }
-});
-
-// plugins
-$.fn.extend({
- scrollParent: function( includeHidden ) {
- var position = this.css( "position" ),
- excludeStaticParent = position === "absolute",
- overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/,
- scrollParent = this.parents().filter( function() {
- var parent = $( this );
- if ( excludeStaticParent && parent.css( "position" ) === "static" ) {
- return false;
- }
- return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + parent.css( "overflow-x" ) );
- }).eq( 0 );
-
- return position === "fixed" || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent;
- },
-
- uniqueId: (function() {
- var uuid = 0;
-
- return function() {
- return this.each(function() {
- if ( !this.id ) {
- this.id = "ui-id-" + ( ++uuid );
- }
- });
- };
- })(),
-
- removeUniqueId: function() {
- return this.each(function() {
- if ( /^ui-id-\d+$/.test( this.id ) ) {
- $( this ).removeAttr( "id" );
- }
- });
- }
-});
-
-// selectors
-function focusable( element, isTabIndexNotNaN ) {
- var map, mapName, img,
- nodeName = element.nodeName.toLowerCase();
- if ( "area" === nodeName ) {
- map = element.parentNode;
- mapName = map.name;
- if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) {
- return false;
- }
- img = $( "img[usemap='#" + mapName + "']" )[ 0 ];
- return !!img && visible( img );
- }
- return ( /^(input|select|textarea|button|object)$/.test( nodeName ) ?
- !element.disabled :
- "a" === nodeName ?
- element.href || isTabIndexNotNaN :
- isTabIndexNotNaN) &&
- // the element and all of its ancestors must be visible
- visible( element );
-}
-
-function visible( element ) {
- return $.expr.filters.visible( element ) &&
- !$( element ).parents().addBack().filter(function() {
- return $.css( this, "visibility" ) === "hidden";
- }).length;
-}
-
-$.extend( $.expr[ ":" ], {
- data: $.expr.createPseudo ?
- $.expr.createPseudo(function( dataName ) {
- return function( elem ) {
- return !!$.data( elem, dataName );
- };
- }) :
- // support: jQuery <1.8
- function( elem, i, match ) {
- return !!$.data( elem, match[ 3 ] );
- },
-
- focusable: function( element ) {
- return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) );
- },
-
- tabbable: function( element ) {
- var tabIndex = $.attr( element, "tabindex" ),
- isTabIndexNaN = isNaN( tabIndex );
- return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN );
- }
-});
-
-// support: jQuery <1.8
-if ( !$( "" ).outerWidth( 1 ).jquery ) {
- $.each( [ "Width", "Height" ], function( i, name ) {
- var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ],
- type = name.toLowerCase(),
- orig = {
- innerWidth: $.fn.innerWidth,
- innerHeight: $.fn.innerHeight,
- outerWidth: $.fn.outerWidth,
- outerHeight: $.fn.outerHeight
- };
-
- function reduce( elem, size, border, margin ) {
- $.each( side, function() {
- size -= parseFloat( $.css( elem, "padding" + this ) ) || 0;
- if ( border ) {
- size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0;
- }
- if ( margin ) {
- size -= parseFloat( $.css( elem, "margin" + this ) ) || 0;
- }
- });
- return size;
- }
-
- $.fn[ "inner" + name ] = function( size ) {
- if ( size === undefined ) {
- return orig[ "inner" + name ].call( this );
- }
-
- return this.each(function() {
- $( this ).css( type, reduce( this, size ) + "px" );
- });
- };
-
- $.fn[ "outer" + name] = function( size, margin ) {
- if ( typeof size !== "number" ) {
- return orig[ "outer" + name ].call( this, size );
- }
-
- return this.each(function() {
- $( this).css( type, reduce( this, size, true, margin ) + "px" );
- });
- };
- });
-}
-
-// support: jQuery <1.8
-if ( !$.fn.addBack ) {
- $.fn.addBack = function( selector ) {
- return this.add( selector == null ?
- this.prevObject : this.prevObject.filter( selector )
- );
- };
-}
-
-// support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413)
-if ( $( "" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) {
- $.fn.removeData = (function( removeData ) {
- return function( key ) {
- if ( arguments.length ) {
- return removeData.call( this, $.camelCase( key ) );
- } else {
- return removeData.call( this );
- }
- };
- })( $.fn.removeData );
-}
-
-// deprecated
-$.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() );
-
-$.fn.extend({
- focus: (function( orig ) {
- return function( delay, fn ) {
- return typeof delay === "number" ?
- this.each(function() {
- var elem = this;
- setTimeout(function() {
- $( elem ).focus();
- if ( fn ) {
- fn.call( elem );
- }
- }, delay );
- }) :
- orig.apply( this, arguments );
- };
- })( $.fn.focus ),
-
- disableSelection: (function() {
- var eventType = "onselectstart" in document.createElement( "div" ) ?
- "selectstart" :
- "mousedown";
-
- return function() {
- return this.bind( eventType + ".ui-disableSelection", function( event ) {
- event.preventDefault();
- });
- };
- })(),
-
- enableSelection: function() {
- return this.unbind( ".ui-disableSelection" );
- },
-
- zIndex: function( zIndex ) {
- if ( zIndex !== undefined ) {
- return this.css( "zIndex", zIndex );
- }
-
- if ( this.length ) {
- var elem = $( this[ 0 ] ), position, value;
- while ( elem.length && elem[ 0 ] !== document ) {
- // Ignore z-index if position is set to a value where z-index is ignored by the browser
- // This makes behavior of this function consistent across browsers
- // WebKit always returns auto if the element is positioned
- position = elem.css( "position" );
- if ( position === "absolute" || position === "relative" || position === "fixed" ) {
- // IE returns 0 when zIndex is not specified
- // other browsers return a string
- // we ignore the case of nested elements with an explicit value of 0
- //