From b183141b1e68de77ad1ef02e9cb79116cdf36d61 Mon Sep 17 00:00:00 2001 From: hmkcode Date: Fri, 29 May 2015 16:45:56 +0300 Subject: [PATCH 01/27] TextInputLayout TextInputLayout --- android-input-text-layout/AndroidManifest.xml | 27 ++++++++++++++ android-input-text-layout/project.properties | 16 +++++++++ .../res/layout/activity_main.xml | 36 +++++++++++++++++++ .../hmkcode/inputtextlayout/MainActivity.java | 34 ++++++++++++++++++ 4 files changed, 113 insertions(+) create mode 100644 android-input-text-layout/AndroidManifest.xml create mode 100644 android-input-text-layout/project.properties create mode 100644 android-input-text-layout/res/layout/activity_main.xml create mode 100644 android-input-text-layout/src/com/hmkcode/inputtextlayout/MainActivity.java diff --git a/android-input-text-layout/AndroidManifest.xml b/android-input-text-layout/AndroidManifest.xml new file mode 100644 index 00000000..827af018 --- /dev/null +++ b/android-input-text-layout/AndroidManifest.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + diff --git a/android-input-text-layout/project.properties b/android-input-text-layout/project.properties new file mode 100644 index 00000000..fe03cc61 --- /dev/null +++ b/android-input-text-layout/project.properties @@ -0,0 +1,16 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-22 +android.library.reference.1=..\\..\\sdk\\extras\\android\\support\\design +android.library.reference.2=../../sdk/extras/android/support/v7/appcompat diff --git a/android-input-text-layout/res/layout/activity_main.xml b/android-input-text-layout/res/layout/activity_main.xml new file mode 100644 index 00000000..fc90c755 --- /dev/null +++ b/android-input-text-layout/res/layout/activity_main.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + diff --git a/android-input-text-layout/src/com/hmkcode/inputtextlayout/MainActivity.java b/android-input-text-layout/src/com/hmkcode/inputtextlayout/MainActivity.java new file mode 100644 index 00000000..5a3b1109 --- /dev/null +++ b/android-input-text-layout/src/com/hmkcode/inputtextlayout/MainActivity.java @@ -0,0 +1,34 @@ +package com.hmkcode.inputtextlayout; + +import android.support.v7.app.ActionBarActivity; +import android.os.Bundle; +import android.view.Menu; +import android.view.MenuItem; + +public class MainActivity extends ActionBarActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.main, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + if (id == R.id.action_settings) { + return true; + } + return super.onOptionsItemSelected(item); + } +} From 68acc1ea044a6aa61756e6010446aa86b8d61d28 Mon Sep 17 00:00:00 2001 From: hmkcode Date: Sun, 7 Jun 2015 19:58:41 +0300 Subject: [PATCH 02/27] design support library design support library --- .../AndroidManifest.xml | 27 +++++ .../res/drawable-hdpi/cardview_border.xml | 5 + .../ic_action_location_found.png | Bin 0 -> 638 bytes .../ic_action_location_found_dark.png | Bin 0 -> 722 bytes .../res/drawable-hdpi/ic_launcher.png | Bin 0 -> 7658 bytes .../res/drawable-hdpi/ic_menu.png | Bin 0 -> 116 bytes .../res/layout/activity_main.xml | 72 ++++++++++++ .../res/layout/activity_main_1.xml | 16 +++ .../res/layout/activity_main_2.xml | 27 +++++ .../res/layout/activity_main_3.xml | 33 ++++++ .../res/layout/activity_main_4.xml | 37 ++++++ .../res/layout/activity_main_5.xml | 46 ++++++++ .../res/layout/activity_main_6.xml | 55 +++++++++ .../res/layout/cardviews.xml | 107 ++++++++++++++++++ .../res/layout/nav_header.xml | 18 +++ .../res/menu/main.xml | 20 ++++ .../res/menu/navigation_drawer_items.xml | 22 ++++ .../res/values-v21/colors.xml | 5 + .../res/values-v21/dimens.xml | 7 ++ .../res/values-v21/strings.xml | 8 ++ .../res/values-v21/styles.xml | 11 ++ .../res/values/colors.xml | 14 +++ .../res/values/dimens.xml | 9 ++ .../res/values/strings.xml | 17 +++ .../res/values/styles.xml | 48 ++++++++ .../src/com/hmkcode/app/MainActivity.java | 107 ++++++++++++++++++ 26 files changed, 711 insertions(+) create mode 100644 android-material-design-appcompat/AndroidManifest.xml create mode 100644 android-material-design-appcompat/res/drawable-hdpi/cardview_border.xml create mode 100644 android-material-design-appcompat/res/drawable-hdpi/ic_action_location_found.png create mode 100644 android-material-design-appcompat/res/drawable-hdpi/ic_action_location_found_dark.png create mode 100644 android-material-design-appcompat/res/drawable-hdpi/ic_launcher.png create mode 100644 android-material-design-appcompat/res/drawable-hdpi/ic_menu.png create mode 100644 android-material-design-appcompat/res/layout/activity_main.xml create mode 100644 android-material-design-appcompat/res/layout/activity_main_1.xml create mode 100644 android-material-design-appcompat/res/layout/activity_main_2.xml create mode 100644 android-material-design-appcompat/res/layout/activity_main_3.xml create mode 100644 android-material-design-appcompat/res/layout/activity_main_4.xml create mode 100644 android-material-design-appcompat/res/layout/activity_main_5.xml create mode 100644 android-material-design-appcompat/res/layout/activity_main_6.xml create mode 100644 android-material-design-appcompat/res/layout/cardviews.xml create mode 100644 android-material-design-appcompat/res/layout/nav_header.xml create mode 100644 android-material-design-appcompat/res/menu/main.xml create mode 100644 android-material-design-appcompat/res/menu/navigation_drawer_items.xml create mode 100644 android-material-design-appcompat/res/values-v21/colors.xml create mode 100644 android-material-design-appcompat/res/values-v21/dimens.xml create mode 100644 android-material-design-appcompat/res/values-v21/strings.xml create mode 100644 android-material-design-appcompat/res/values-v21/styles.xml create mode 100644 android-material-design-appcompat/res/values/colors.xml create mode 100644 android-material-design-appcompat/res/values/dimens.xml create mode 100644 android-material-design-appcompat/res/values/strings.xml create mode 100644 android-material-design-appcompat/res/values/styles.xml create mode 100644 android-material-design-appcompat/src/com/hmkcode/app/MainActivity.java diff --git a/android-material-design-appcompat/AndroidManifest.xml b/android-material-design-appcompat/AndroidManifest.xml new file mode 100644 index 00000000..70227ada --- /dev/null +++ b/android-material-design-appcompat/AndroidManifest.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + diff --git a/android-material-design-appcompat/res/drawable-hdpi/cardview_border.xml b/android-material-design-appcompat/res/drawable-hdpi/cardview_border.xml new file mode 100644 index 00000000..fdfa61f3 --- /dev/null +++ b/android-material-design-appcompat/res/drawable-hdpi/cardview_border.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android-material-design-appcompat/res/drawable-hdpi/ic_action_location_found.png b/android-material-design-appcompat/res/drawable-hdpi/ic_action_location_found.png new file mode 100644 index 0000000000000000000000000000000000000000..4748e9016541f3bea4390d244691291d8237f851 GIT binary patch literal 638 zcmV-^0)hRBP)s?JgKqcTp>z z(vLYXJ{^PSbC55T3}e4{p5PokKfkx}DN&w|y^c8MZ7MaK*f`ArWSb96Mn#ExW{jfG z1jIB(C2Ik5DrQcGw5t;PRl-ivLKYJyIWUI2!6##k5Aa`xV@w=K`w_dW#9P7~XU6!X z#~O+01g=#YI_x@tETfB5-Vru^k>DH(z2;KFXp$4q3NH-LCpYA8Vw^&aIS@#?SV=FW zcfan4Zz;GrweF+f6ljQEx{70TC1kRD^z&E9f+n+KuKmNc(?_HEdXZAx0GuFXPJT5jtsq$}tGyGn}UhFvb0PIY1EvgZI6n}#bk*d9on;93g3 zW+S<^Nt0L?o7gNip!C?&i2}!R;rXjb&c2zOd^;_!19*omNhl4v(2&q6hu)9Jyi(r$ z{5bhb{bN6?%;I6IU;qFB07*qoM6N<$g3uWk2LJ#7 literal 0 HcmV?d00001 diff --git a/android-material-design-appcompat/res/drawable-hdpi/ic_action_location_found_dark.png b/android-material-design-appcompat/res/drawable-hdpi/ic_action_location_found_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..e1bf5807b02dd04383733c2f78c08cb18063ac89 GIT binary patch literal 722 zcmV;@0xkWCP)B++;PGV-~xKnd&N%+SNkB#A?CrUGgruTwc4ras>+alFOCje%^QY zy?5_j!>PG6EC36@0;sn%tD1N)7<8e!7vHnlET|m-kTWPfOCf6meD1f9I+se@EmXfy z60nEV3Ngis;?v)VZTP`(e<0~A+j7K$yjt`|g~cK{LZ3;-xU z!kw2AiQNUI<~gp_)5k#n$<_gYGS5(T@n-^MQk36lCnLqp&SC6J89h!n*!e4E2gl3h za$R)1=nEz4bUJO^gmdu?ZE@uQkn?vYj$bIOfat>a0@{8mqY!$VS2V_i3K5`B4|(3# z{)*8)5@L*xbP|UB#PLqti)^TPk_n-Rh<$uQc?a8k?4ygE%he3rH~>$fPD&{66`4Z^ zfpbOL8fF2Y=a83Fm_eJu8-Zg~k#n|iE#oI37hDm3-Ya3lo^}dzv;l_`#d2byHr9&_ zeshHyvygEVoPtWxb=KwB%%P0Gjd(uCS*XS=JXdgZ;q(-tA@-%{$v#akfJnJ)M#L#i(cQ%voDX#6wYgSGNKs8fgW>d}iEx_8 z>c-p@lbsKUcwLL(OC=(N@?tZ->Y7p}WuG69H>p2}XO)9^*vjB{55w;pg<9XvzCJDH zfO*5ufJ){~h<#q)=X}6~NZPC&E7k@q01MzC0sILt0A9ZlB8=j0ng9R*07*qoM6N<$ Eg4(7>!2kdN literal 0 HcmV?d00001 diff --git a/android-material-design-appcompat/res/drawable-hdpi/ic_launcher.png b/android-material-design-appcompat/res/drawable-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..288b66551d1efd1f13dd06f20a67534d2df57946 GIT binary patch literal 7658 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 K=d#Wzp$Pyxy(5hP literal 0 HcmV?d00001 diff --git a/android-material-design-appcompat/res/layout/activity_main.xml b/android-material-design-appcompat/res/layout/activity_main.xml new file mode 100644 index 00000000..029a8f0c --- /dev/null +++ b/android-material-design-appcompat/res/layout/activity_main.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android-material-design-appcompat/res/layout/activity_main_1.xml b/android-material-design-appcompat/res/layout/activity_main_1.xml new file mode 100644 index 00000000..d87cbe42 --- /dev/null +++ b/android-material-design-appcompat/res/layout/activity_main_1.xml @@ -0,0 +1,16 @@ + + + + + + + diff --git a/android-material-design-appcompat/res/layout/activity_main_2.xml b/android-material-design-appcompat/res/layout/activity_main_2.xml new file mode 100644 index 00000000..95915fb7 --- /dev/null +++ b/android-material-design-appcompat/res/layout/activity_main_2.xml @@ -0,0 +1,27 @@ + + + + + + + + diff --git a/android-material-design-appcompat/res/layout/activity_main_3.xml b/android-material-design-appcompat/res/layout/activity_main_3.xml new file mode 100644 index 00000000..48f33a98 --- /dev/null +++ b/android-material-design-appcompat/res/layout/activity_main_3.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + diff --git a/android-material-design-appcompat/res/layout/activity_main_4.xml b/android-material-design-appcompat/res/layout/activity_main_4.xml new file mode 100644 index 00000000..4b712fbb --- /dev/null +++ b/android-material-design-appcompat/res/layout/activity_main_4.xml @@ -0,0 +1,37 @@ + + + + + + + + + + diff --git a/android-material-design-appcompat/res/layout/activity_main_5.xml b/android-material-design-appcompat/res/layout/activity_main_5.xml new file mode 100644 index 00000000..5d8fe417 --- /dev/null +++ b/android-material-design-appcompat/res/layout/activity_main_5.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + diff --git a/android-material-design-appcompat/res/layout/activity_main_6.xml b/android-material-design-appcompat/res/layout/activity_main_6.xml new file mode 100644 index 00000000..3d5fcff6 --- /dev/null +++ b/android-material-design-appcompat/res/layout/activity_main_6.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android-material-design-appcompat/res/layout/cardviews.xml b/android-material-design-appcompat/res/layout/cardviews.xml new file mode 100644 index 00000000..3ce1874c --- /dev/null +++ b/android-material-design-appcompat/res/layout/cardviews.xml @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android-material-design-appcompat/res/layout/nav_header.xml b/android-material-design-appcompat/res/layout/nav_header.xml new file mode 100644 index 00000000..342e3ded --- /dev/null +++ b/android-material-design-appcompat/res/layout/nav_header.xml @@ -0,0 +1,18 @@ + + + + + + + \ No newline at end of file diff --git a/android-material-design-appcompat/res/menu/main.xml b/android-material-design-appcompat/res/menu/main.xml new file mode 100644 index 00000000..1db8bac6 --- /dev/null +++ b/android-material-design-appcompat/res/menu/main.xml @@ -0,0 +1,20 @@ + + + + + + + diff --git a/android-material-design-appcompat/res/menu/navigation_drawer_items.xml b/android-material-design-appcompat/res/menu/navigation_drawer_items.xml new file mode 100644 index 00000000..d2be94fb --- /dev/null +++ b/android-material-design-appcompat/res/menu/navigation_drawer_items.xml @@ -0,0 +1,22 @@ + + + + + + + + + + diff --git a/android-material-design-appcompat/res/values-v21/colors.xml b/android-material-design-appcompat/res/values-v21/colors.xml new file mode 100644 index 00000000..d96316ee --- /dev/null +++ b/android-material-design-appcompat/res/values-v21/colors.xml @@ -0,0 +1,5 @@ + + + #FFF5F5F5 + + diff --git a/android-material-design-appcompat/res/values-v21/dimens.xml b/android-material-design-appcompat/res/values-v21/dimens.xml new file mode 100644 index 00000000..55c1e590 --- /dev/null +++ b/android-material-design-appcompat/res/values-v21/dimens.xml @@ -0,0 +1,7 @@ + + + + 16dp + 16dp + + diff --git a/android-material-design-appcompat/res/values-v21/strings.xml b/android-material-design-appcompat/res/values-v21/strings.xml new file mode 100644 index 00000000..20258df1 --- /dev/null +++ b/android-material-design-appcompat/res/values-v21/strings.xml @@ -0,0 +1,8 @@ + + + + HMKCODE App + Hello world! + Settings + + diff --git a/android-material-design-appcompat/res/values-v21/styles.xml b/android-material-design-appcompat/res/values-v21/styles.xml new file mode 100644 index 00000000..cf204b67 --- /dev/null +++ b/android-material-design-appcompat/res/values-v21/styles.xml @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/android-material-design-appcompat/res/values/colors.xml b/android-material-design-appcompat/res/values/colors.xml new file mode 100644 index 00000000..74084b97 --- /dev/null +++ b/android-material-design-appcompat/res/values/colors.xml @@ -0,0 +1,14 @@ + + + #CC000000 + + + #ED1C24 + #CC0000 + #B3E5FC + #ED1C24 + #ffffff + #ffffff + #FFFFFF + #B6B6B6 + diff --git a/android-material-design-appcompat/res/values/dimens.xml b/android-material-design-appcompat/res/values/dimens.xml new file mode 100644 index 00000000..b358808f --- /dev/null +++ b/android-material-design-appcompat/res/values/dimens.xml @@ -0,0 +1,9 @@ + + + + 16dp + 16dp + 16dp + 256dp + + diff --git a/android-material-design-appcompat/res/values/strings.xml b/android-material-design-appcompat/res/values/strings.xml new file mode 100644 index 00000000..6b69df83 --- /dev/null +++ b/android-material-design-appcompat/res/values/strings.xml @@ -0,0 +1,17 @@ + + + + HMKCODE App + Hello world! + Settings + Find + + Android 5.0 Lollipop was one of the most significant Android releases ever, + in no small part due to the introduction of material design, + a new design language that refreshed the entire Android experience + + + Open navigation drawer + Close navigation drawer + + diff --git a/android-material-design-appcompat/res/values/styles.xml b/android-material-design-appcompat/res/values/styles.xml new file mode 100644 index 00000000..23faf736 --- /dev/null +++ b/android-material-design-appcompat/res/values/styles.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + diff --git a/android-material-design-appcompat/src/com/hmkcode/app/MainActivity.java b/android-material-design-appcompat/src/com/hmkcode/app/MainActivity.java new file mode 100644 index 00000000..10acd7d2 --- /dev/null +++ b/android-material-design-appcompat/src/com/hmkcode/app/MainActivity.java @@ -0,0 +1,107 @@ +package com.hmkcode.app; + + +import android.os.Bundle; +import android.support.design.widget.CollapsingToolbarLayout; +import android.support.design.widget.FloatingActionButton; +import android.support.design.widget.Snackbar; +import android.support.design.widget.TabLayout; +import android.support.v4.view.GravityCompat; +import android.support.v4.widget.DrawerLayout; +import android.support.v7.app.ActionBar; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.Toolbar; +import android.view.MenuItem; +import android.view.View; +import android.view.View.OnClickListener; + +public class MainActivity extends AppCompatActivity implements OnClickListener { + + DrawerLayout drawerLayout; + CollapsingToolbarLayout collapsingToolbarLayout; + Toolbar toolbar; + TabLayout tabLayout; + FloatingActionButton fab; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + setupNavigationView(); + setupToolbar(); + setupTablayout(); + setupCollapsingToolbarLayout(); + setupFab(); + + } + + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + if(drawerLayout != null) + drawerLayout.openDrawer(GravityCompat.START); + return true; + } + return super.onOptionsItemSelected(item); + } + + private void setupNavigationView(){ + + drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); + } + + private void setupCollapsingToolbarLayout(){ + + collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar); + if(collapsingToolbarLayout != null){ + collapsingToolbarLayout.setTitle(toolbar.getTitle()); + //collapsingToolbarLayout.setCollapsedTitleTextColor(0xED1C24); + //collapsingToolbarLayout.setExpandedTitleColor(0xED1C24); + } + } + + private void setupTablayout(){ + + tabLayout = (TabLayout) findViewById(R.id.tabLayout); + + if(tabLayout == null) + return; + + tabLayout.setTabGravity(TabLayout.GRAVITY_FILL); + tabLayout.addTab(tabLayout.newTab().setText("Tab 1")); + tabLayout.addTab(tabLayout.newTab().setText("Tab 2")); + tabLayout.addTab(tabLayout.newTab().setText("Tab 3")); + tabLayout.addTab(tabLayout.newTab().setText("Tab 4")); + } + + private void setupFab(){ + fab = (FloatingActionButton) findViewById(R.id.fab); + if(fab != null) + fab.setOnClickListener(this); + } + private void setupToolbar(){ + toolbar = (Toolbar) findViewById(R.id.toolbar); + if(toolbar != null) + setSupportActionBar(toolbar); + + // Show menu icon + final ActionBar ab = getSupportActionBar(); + ab.setHomeAsUpIndicator(R.drawable.ic_menu); + ab.setDisplayHomeAsUpEnabled(true); + } + + @Override + public void onClick(View view) { + + if(view.getId() == R.id.fab){ + + Snackbar + .make(findViewById(R.id.coordinatorLayout), "This is Snackbar", Snackbar.LENGTH_LONG) + .setAction("Action", this) + .show(); // Don’t forget to show! + } + } +} From c7498b54ce676cc9e6f76631ef8ff6c5cb2616ae Mon Sep 17 00:00:00 2001 From: "Hani M. K" Date: Wed, 15 Jun 2016 21:30:18 +0300 Subject: [PATCH 03/27] android-http HttpURLConnection android-http HttpURLConnection --- android-http/AndroidManifest.xml | 23 ++++ .../hmkcode/android/http/MainActivity.java | 114 ++++++++++++++++++ android-http/res/layout/activity_main.xml | 38 ++++++ android-http/res/mipmap-hdpi/Thumbs.db | Bin 0 -> 6144 bytes android-http/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3418 bytes android-http/res/mipmap-mdpi/Thumbs.db | Bin 0 -> 4608 bytes android-http/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2206 bytes android-http/res/mipmap-xhdpi/Thumbs.db | Bin 0 -> 8192 bytes android-http/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4842 bytes android-http/res/mipmap-xxhdpi/Thumbs.db | Bin 0 -> 11264 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7718 bytes android-http/res/mipmap-xxxhdpi/Thumbs.db | Bin 0 -> 14336 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 10486 bytes android-http/res/values-w820dp/dimens.xml | 6 + android-http/res/values/colors.xml | 6 + android-http/res/values/dimens.xml | 5 + android-http/res/values/strings.xml | 3 + android-http/res/values/styles.xml | 11 ++ 18 files changed, 206 insertions(+) create mode 100644 android-http/AndroidManifest.xml create mode 100644 android-http/java/com/hmkcode/android/http/MainActivity.java create mode 100644 android-http/res/layout/activity_main.xml create mode 100644 android-http/res/mipmap-hdpi/Thumbs.db create mode 100644 android-http/res/mipmap-hdpi/ic_launcher.png create mode 100644 android-http/res/mipmap-mdpi/Thumbs.db create mode 100644 android-http/res/mipmap-mdpi/ic_launcher.png create mode 100644 android-http/res/mipmap-xhdpi/Thumbs.db create mode 100644 android-http/res/mipmap-xhdpi/ic_launcher.png create mode 100644 android-http/res/mipmap-xxhdpi/Thumbs.db create mode 100644 android-http/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 android-http/res/mipmap-xxxhdpi/Thumbs.db create mode 100644 android-http/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 android-http/res/values-w820dp/dimens.xml create mode 100644 android-http/res/values/colors.xml create mode 100644 android-http/res/values/dimens.xml create mode 100644 android-http/res/values/strings.xml create mode 100644 android-http/res/values/styles.xml diff --git a/android-http/AndroidManifest.xml b/android-http/AndroidManifest.xml new file mode 100644 index 00000000..bcec53c5 --- /dev/null +++ b/android-http/AndroidManifest.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android-http/java/com/hmkcode/android/http/MainActivity.java b/android-http/java/com/hmkcode/android/http/MainActivity.java new file mode 100644 index 00000000..b459e2c6 --- /dev/null +++ b/android-http/java/com/hmkcode/android/http/MainActivity.java @@ -0,0 +1,114 @@ + package com.hmkcode.android.http; + +import android.content.Context; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.os.AsyncTask; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.util.Log; +import android.widget.TextView; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.URL; + + public class MainActivity extends AppCompatActivity { + + TextView tvIsConnected; + TextView tvResult; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + tvIsConnected = (TextView) findViewById(R.id.tvIsConnected); + tvResult = (TextView) findViewById(R.id.tvResult); + if(checkNetworkConnection()) + // perform HTTP GET request + new HTTPAsyncTask().execute("http://hmkcode.com/examples/index.php"); + } + + + // check network connection + public boolean checkNetworkConnection() { + ConnectivityManager connMgr = (ConnectivityManager) + getSystemService(Context.CONNECTIVITY_SERVICE); + + NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); + boolean isConnected = false; + if (networkInfo != null && (isConnected = networkInfo.isConnected())) { + // show "Connected" & type of network "WIFI or MOBILE" + tvIsConnected.setText("Connected "+networkInfo.getTypeName()); + // change background color to red + tvIsConnected.setBackgroundColor(0xFF7CCC26); + + + } else { + // show "Not Connected" + tvIsConnected.setText("Not Connected"); + // change background color to green + tvIsConnected.setBackgroundColor(0xFFFF0000); + } + + return isConnected; + } + + private class HTTPAsyncTask extends AsyncTask { + @Override + protected String doInBackground(String... urls) { + + // params comes from the execute() call: params[0] is the url. + try { + return HttpGet(urls[0]); + } catch (IOException e) { + return "Unable to retrieve web page. URL may be invalid."; + } + } + // onPostExecute displays the results of the AsyncTask. + @Override + protected void onPostExecute(String result) { + tvResult.setText(result); + } + } + + private String HttpGet(String myUrl) throws IOException { + InputStream inputStream = null; + String result = ""; + + URL url = new URL(myUrl); + + // create HttpURLConnection + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + + // make GET request to the given URL + conn.connect(); + + // receive response as inputStream + inputStream = conn.getInputStream(); + + // convert inputstream to string + if(inputStream != null) + result = convertInputStreamToString(inputStream); + else + result = "Did not work!"; + + return result; + } + + private static String convertInputStreamToString(InputStream inputStream) throws IOException{ + BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(inputStream)); + String line = ""; + String result = ""; + while((line = bufferedReader.readLine()) != null) + result += line; + + inputStream.close(); + return result; + + } + + + } diff --git a/android-http/res/layout/activity_main.xml b/android-http/res/layout/activity_main.xml new file mode 100644 index 00000000..cb632171 --- /dev/null +++ b/android-http/res/layout/activity_main.xml @@ -0,0 +1,38 @@ + + + + + + + + + diff --git a/android-http/res/mipmap-hdpi/Thumbs.db b/android-http/res/mipmap-hdpi/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..c7be6532b96c11ec414eae5e1105828f3662f6db GIT binary patch literal 6144 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 SD6I-jJM3BeulP?`fxiKy2JN;0 literal 0 HcmV?d00001 diff --git a/android-http/res/mipmap-hdpi/ic_launcher.png b/android-http/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..cde69bcccec65160d92116f20ffce4fce0b5245c GIT binary patch literal 3418 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 literal 0 HcmV?d00001 diff --git a/android-http/res/mipmap-xhdpi/Thumbs.db b/android-http/res/mipmap-xhdpi/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..955fa4125dac4131fce47d0b2f199a121b5ea669 GIT binary patch literal 8192 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 HIs*RzCi)Wq~U2RobsvA@Q0MM$dq4lq5{hy#9 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 literal 0 HcmV?d00001 diff --git a/android-http/res/mipmap-xxhdpi/Thumbs.db b/android-http/res/mipmap-xxhdpi/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..3b892076543f3bd4c6569ba9b9eb38f31a67c134 GIT binary patch literal 11264 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 literal 0 HcmV?d00001 diff --git a/android-http/res/mipmap-xxxhdpi/Thumbs.db b/android-http/res/mipmap-xxxhdpi/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..65eaac7413a98bb906a4def68fa10f1c80476413 GIT binary patch literal 14336 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 literal 0 HcmV?d00001 diff --git a/android-http/res/mipmap-xxxhdpi/ic_launcher.png b/android-http/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..aee44e138434630332d88b1680f33c4b24c70ab3 GIT binary patch literal 10486 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 + + 64dp + diff --git a/android-http/res/values/colors.xml b/android-http/res/values/colors.xml new file mode 100644 index 00000000..3ab3e9cb --- /dev/null +++ b/android-http/res/values/colors.xml @@ -0,0 +1,6 @@ + + + #3F51B5 + #303F9F + #FF4081 + diff --git a/android-http/res/values/dimens.xml b/android-http/res/values/dimens.xml new file mode 100644 index 00000000..47c82246 --- /dev/null +++ b/android-http/res/values/dimens.xml @@ -0,0 +1,5 @@ + + + 16dp + 16dp + diff --git a/android-http/res/values/strings.xml b/android-http/res/values/strings.xml new file mode 100644 index 00000000..a6212708 --- /dev/null +++ b/android-http/res/values/strings.xml @@ -0,0 +1,3 @@ + + Android HTTP + diff --git a/android-http/res/values/styles.xml b/android-http/res/values/styles.xml new file mode 100644 index 00000000..5885930d --- /dev/null +++ b/android-http/res/values/styles.xml @@ -0,0 +1,11 @@ + + + + + + From 0c82b36e2df927c111d23c5e759bd416884b7539 Mon Sep 17 00:00:00 2001 From: "Hani M. K" Date: Fri, 22 Dec 2017 09:34:55 +0300 Subject: [PATCH 04/27] readme readm UI --- User Interface/readme.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 User Interface/readme.md diff --git a/User Interface/readme.md b/User Interface/readme.md new file mode 100644 index 00000000..958a3d7b --- /dev/null +++ b/User Interface/readme.md @@ -0,0 +1,6 @@ +Android UI +========== + +Android offers a set of views that offer you a standard UI layout and input controls. +`View` is the parent object of all user interface elements in Android app. View draws a components such buttons or text fields that users can interact with. + From 29b055049ad0e5ec80bb6275cb80c8df082f26bb Mon Sep 17 00:00:00 2001 From: "Hani M. K" Date: Fri, 22 Dec 2017 21:23:02 +0300 Subject: [PATCH 05/27] swipe views swipe views --- User Interface/android-tabs/app/build.gradle | 29 +++++++++++++++ .../app/src/main/AndroidManifest.xml | 21 +++++++++++ .../com/hmkcode/android/MainActivity.java | 26 +++++++++++++ .../adapters/MyFragmentPagerAdapter.java | 37 +++++++++++++++++++ .../android/fragments/FirstFragment.java | 30 +++++++++++++++ .../android/fragments/SecondFragment.java | 27 ++++++++++++++ .../app/src/main/res/layout/activity_main.xml | 16 ++++++++ .../src/main/res/layout/fragment_first.xml | 13 +++++++ .../src/main/res/layout/fragment_second.xml | 13 +++++++ User Interface/android-tabs/build.gradle | 27 ++++++++++++++ 10 files changed, 239 insertions(+) create mode 100644 User Interface/android-tabs/app/build.gradle create mode 100644 User Interface/android-tabs/app/src/main/AndroidManifest.xml create mode 100644 User Interface/android-tabs/app/src/main/java/com/hmkcode/android/MainActivity.java create mode 100644 User Interface/android-tabs/app/src/main/java/com/hmkcode/android/adapters/MyFragmentPagerAdapter.java create mode 100644 User Interface/android-tabs/app/src/main/java/com/hmkcode/android/fragments/FirstFragment.java create mode 100644 User Interface/android-tabs/app/src/main/java/com/hmkcode/android/fragments/SecondFragment.java create mode 100644 User Interface/android-tabs/app/src/main/res/layout/activity_main.xml create mode 100644 User Interface/android-tabs/app/src/main/res/layout/fragment_first.xml create mode 100644 User Interface/android-tabs/app/src/main/res/layout/fragment_second.xml create mode 100644 User Interface/android-tabs/build.gradle diff --git a/User Interface/android-tabs/app/build.gradle b/User Interface/android-tabs/app/build.gradle new file mode 100644 index 00000000..cd2ff596 --- /dev/null +++ b/User Interface/android-tabs/app/build.gradle @@ -0,0 +1,29 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 26 + defaultConfig { + applicationId "com.hmkcode.android" + minSdkVersion 19 + targetSdkVersion 26 + versionCode 1 + versionName "1.0" + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'com.android.support:appcompat-v7:26.1.0' + implementation 'com.android.support.constraint:constraint-layout:1.0.2' + implementation 'com.android.support:support-v4:26.1.0' + testImplementation 'junit:junit:4.12' + androidTestImplementation 'com.android.support.test:runner:1.0.1' + androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' +} diff --git a/User Interface/android-tabs/app/src/main/AndroidManifest.xml b/User Interface/android-tabs/app/src/main/AndroidManifest.xml new file mode 100644 index 00000000..c80de63d --- /dev/null +++ b/User Interface/android-tabs/app/src/main/AndroidManifest.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/User Interface/android-tabs/app/src/main/java/com/hmkcode/android/MainActivity.java b/User Interface/android-tabs/app/src/main/java/com/hmkcode/android/MainActivity.java new file mode 100644 index 00000000..e5e65b76 --- /dev/null +++ b/User Interface/android-tabs/app/src/main/java/com/hmkcode/android/MainActivity.java @@ -0,0 +1,26 @@ +package com.hmkcode.android; + +import android.support.v4.view.ViewPager; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; + +import com.hmkcode.android.adapters.MyFragmentPagerAdapter; + +public class MainActivity extends AppCompatActivity { + + MyFragmentPagerAdapter myFragmentPagerAdapter; + ViewPager mViewPager; + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + + myFragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager()); + mViewPager = (ViewPager) findViewById(R.id.pager); + mViewPager.setAdapter(myFragmentPagerAdapter); + + } +} diff --git a/User Interface/android-tabs/app/src/main/java/com/hmkcode/android/adapters/MyFragmentPagerAdapter.java b/User Interface/android-tabs/app/src/main/java/com/hmkcode/android/adapters/MyFragmentPagerAdapter.java new file mode 100644 index 00000000..32e928e8 --- /dev/null +++ b/User Interface/android-tabs/app/src/main/java/com/hmkcode/android/adapters/MyFragmentPagerAdapter.java @@ -0,0 +1,37 @@ +package com.hmkcode.android.adapters; + +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.support.v4.app.FragmentPagerAdapter; + +import com.hmkcode.android.fragments.FirstFragment; +import com.hmkcode.android.fragments.SecondFragment; + +/** + * Created by Hani on 12/22/2017. + */ + +public class MyFragmentPagerAdapter extends FragmentPagerAdapter { + + + public MyFragmentPagerAdapter(FragmentManager fm) { + super(fm); + } + + @Override + public Fragment getItem(int position) { + switch (position) { + case 0: + return new FirstFragment(); + case 1: + return new SecondFragment(); + default: + return null; + } + } + + @Override + public int getCount() { + return 2; + } +} diff --git a/User Interface/android-tabs/app/src/main/java/com/hmkcode/android/fragments/FirstFragment.java b/User Interface/android-tabs/app/src/main/java/com/hmkcode/android/fragments/FirstFragment.java new file mode 100644 index 00000000..d3f7045f --- /dev/null +++ b/User Interface/android-tabs/app/src/main/java/com/hmkcode/android/fragments/FirstFragment.java @@ -0,0 +1,30 @@ +package com.hmkcode.android.fragments; + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.hmkcode.android.R; + + +public class FirstFragment extends Fragment { + + + public FirstFragment() {} + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + return inflater.inflate(R.layout.fragment_first, container, false); + } + + +} diff --git a/User Interface/android-tabs/app/src/main/java/com/hmkcode/android/fragments/SecondFragment.java b/User Interface/android-tabs/app/src/main/java/com/hmkcode/android/fragments/SecondFragment.java new file mode 100644 index 00000000..341badb5 --- /dev/null +++ b/User Interface/android-tabs/app/src/main/java/com/hmkcode/android/fragments/SecondFragment.java @@ -0,0 +1,27 @@ +package com.hmkcode.android.fragments; + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.hmkcode.android.R; + + +public class SecondFragment extends Fragment { + + public SecondFragment() {} + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + return inflater.inflate(R.layout.fragment_second, container, false); + } +} diff --git a/User Interface/android-tabs/app/src/main/res/layout/activity_main.xml b/User Interface/android-tabs/app/src/main/res/layout/activity_main.xml new file mode 100644 index 00000000..f18c8add --- /dev/null +++ b/User Interface/android-tabs/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,16 @@ + + + + + + \ No newline at end of file diff --git a/User Interface/android-tabs/app/src/main/res/layout/fragment_first.xml b/User Interface/android-tabs/app/src/main/res/layout/fragment_first.xml new file mode 100644 index 00000000..6217502b --- /dev/null +++ b/User Interface/android-tabs/app/src/main/res/layout/fragment_first.xml @@ -0,0 +1,13 @@ + + + + + diff --git a/User Interface/android-tabs/app/src/main/res/layout/fragment_second.xml b/User Interface/android-tabs/app/src/main/res/layout/fragment_second.xml new file mode 100644 index 00000000..38804084 --- /dev/null +++ b/User Interface/android-tabs/app/src/main/res/layout/fragment_second.xml @@ -0,0 +1,13 @@ + + + + + diff --git a/User Interface/android-tabs/build.gradle b/User Interface/android-tabs/build.gradle new file mode 100644 index 00000000..e6b32bc7 --- /dev/null +++ b/User Interface/android-tabs/build.gradle @@ -0,0 +1,27 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + + repositories { + google() + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:3.0.1' + + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + google() + jcenter() + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} From db4c3b8570247e2fa8f561de5a520a0a47de88de Mon Sep 17 00:00:00 2001 From: "Hani M. K" Date: Fri, 22 Dec 2017 21:29:30 +0300 Subject: [PATCH 06/27] change folder name change folder name --- .../android-swipe-views-tabs}/app/build.gradle | 0 .../android-swipe-views-tabs}/app/src/main/AndroidManifest.xml | 0 .../app/src/main/java/com/hmkcode/android/MainActivity.java | 0 .../java/com/hmkcode/android/adapters/MyFragmentPagerAdapter.java | 0 .../main/java/com/hmkcode/android/fragments/FirstFragment.java | 0 .../main/java/com/hmkcode/android/fragments/SecondFragment.java | 0 .../app/src/main/res/layout/activity_main.xml | 0 .../app/src/main/res/layout/fragment_first.xml | 0 .../app/src/main/res/layout/fragment_second.xml | 0 .../android-swipe-views-tabs}/build.gradle | 0 {User Interface => user-interface}/readme.md | 0 11 files changed, 0 insertions(+), 0 deletions(-) rename {User Interface/android-tabs => user-interface/android-swipe-views-tabs}/app/build.gradle (100%) rename {User Interface/android-tabs => user-interface/android-swipe-views-tabs}/app/src/main/AndroidManifest.xml (100%) rename {User Interface/android-tabs => user-interface/android-swipe-views-tabs}/app/src/main/java/com/hmkcode/android/MainActivity.java (100%) rename {User Interface/android-tabs => user-interface/android-swipe-views-tabs}/app/src/main/java/com/hmkcode/android/adapters/MyFragmentPagerAdapter.java (100%) rename {User Interface/android-tabs => user-interface/android-swipe-views-tabs}/app/src/main/java/com/hmkcode/android/fragments/FirstFragment.java (100%) rename {User Interface/android-tabs => user-interface/android-swipe-views-tabs}/app/src/main/java/com/hmkcode/android/fragments/SecondFragment.java (100%) rename {User Interface/android-tabs => user-interface/android-swipe-views-tabs}/app/src/main/res/layout/activity_main.xml (100%) rename {User Interface/android-tabs => user-interface/android-swipe-views-tabs}/app/src/main/res/layout/fragment_first.xml (100%) rename {User Interface/android-tabs => user-interface/android-swipe-views-tabs}/app/src/main/res/layout/fragment_second.xml (100%) rename {User Interface/android-tabs => user-interface/android-swipe-views-tabs}/build.gradle (100%) rename {User Interface => user-interface}/readme.md (100%) diff --git a/User Interface/android-tabs/app/build.gradle b/user-interface/android-swipe-views-tabs/app/build.gradle similarity index 100% rename from User Interface/android-tabs/app/build.gradle rename to user-interface/android-swipe-views-tabs/app/build.gradle diff --git a/User Interface/android-tabs/app/src/main/AndroidManifest.xml b/user-interface/android-swipe-views-tabs/app/src/main/AndroidManifest.xml similarity index 100% rename from User Interface/android-tabs/app/src/main/AndroidManifest.xml rename to user-interface/android-swipe-views-tabs/app/src/main/AndroidManifest.xml diff --git a/User Interface/android-tabs/app/src/main/java/com/hmkcode/android/MainActivity.java b/user-interface/android-swipe-views-tabs/app/src/main/java/com/hmkcode/android/MainActivity.java similarity index 100% rename from User Interface/android-tabs/app/src/main/java/com/hmkcode/android/MainActivity.java rename to user-interface/android-swipe-views-tabs/app/src/main/java/com/hmkcode/android/MainActivity.java diff --git a/User Interface/android-tabs/app/src/main/java/com/hmkcode/android/adapters/MyFragmentPagerAdapter.java b/user-interface/android-swipe-views-tabs/app/src/main/java/com/hmkcode/android/adapters/MyFragmentPagerAdapter.java similarity index 100% rename from User Interface/android-tabs/app/src/main/java/com/hmkcode/android/adapters/MyFragmentPagerAdapter.java rename to user-interface/android-swipe-views-tabs/app/src/main/java/com/hmkcode/android/adapters/MyFragmentPagerAdapter.java diff --git a/User Interface/android-tabs/app/src/main/java/com/hmkcode/android/fragments/FirstFragment.java b/user-interface/android-swipe-views-tabs/app/src/main/java/com/hmkcode/android/fragments/FirstFragment.java similarity index 100% rename from User Interface/android-tabs/app/src/main/java/com/hmkcode/android/fragments/FirstFragment.java rename to user-interface/android-swipe-views-tabs/app/src/main/java/com/hmkcode/android/fragments/FirstFragment.java diff --git a/User Interface/android-tabs/app/src/main/java/com/hmkcode/android/fragments/SecondFragment.java b/user-interface/android-swipe-views-tabs/app/src/main/java/com/hmkcode/android/fragments/SecondFragment.java similarity index 100% rename from User Interface/android-tabs/app/src/main/java/com/hmkcode/android/fragments/SecondFragment.java rename to user-interface/android-swipe-views-tabs/app/src/main/java/com/hmkcode/android/fragments/SecondFragment.java diff --git a/User Interface/android-tabs/app/src/main/res/layout/activity_main.xml b/user-interface/android-swipe-views-tabs/app/src/main/res/layout/activity_main.xml similarity index 100% rename from User Interface/android-tabs/app/src/main/res/layout/activity_main.xml rename to user-interface/android-swipe-views-tabs/app/src/main/res/layout/activity_main.xml diff --git a/User Interface/android-tabs/app/src/main/res/layout/fragment_first.xml b/user-interface/android-swipe-views-tabs/app/src/main/res/layout/fragment_first.xml similarity index 100% rename from User Interface/android-tabs/app/src/main/res/layout/fragment_first.xml rename to user-interface/android-swipe-views-tabs/app/src/main/res/layout/fragment_first.xml diff --git a/User Interface/android-tabs/app/src/main/res/layout/fragment_second.xml b/user-interface/android-swipe-views-tabs/app/src/main/res/layout/fragment_second.xml similarity index 100% rename from User Interface/android-tabs/app/src/main/res/layout/fragment_second.xml rename to user-interface/android-swipe-views-tabs/app/src/main/res/layout/fragment_second.xml diff --git a/User Interface/android-tabs/build.gradle b/user-interface/android-swipe-views-tabs/build.gradle similarity index 100% rename from User Interface/android-tabs/build.gradle rename to user-interface/android-swipe-views-tabs/build.gradle diff --git a/User Interface/readme.md b/user-interface/readme.md similarity index 100% rename from User Interface/readme.md rename to user-interface/readme.md From b5e40b55c6f5efd3c2f1bf07f0f6dd095d150400 Mon Sep 17 00:00:00 2001 From: "Hani M. K" Date: Fri, 22 Dec 2017 21:30:31 +0300 Subject: [PATCH 07/27] delete delete --- sh.exe.stackdump | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 sh.exe.stackdump diff --git a/sh.exe.stackdump b/sh.exe.stackdump deleted file mode 100644 index c842b86b..00000000 --- a/sh.exe.stackdump +++ /dev/null @@ -1,9 +0,0 @@ -MSYS-1.0.12 Build:2012-07-05 14:56 -Exception: STATUS_ACCESS_VIOLATION at eip=030E7968 -eax=00000001 ebx=0028F0C4 ecx=03164C5C edx=010C0000 esi=0028F0C8 edi=00000000 -ebp=0028F09C esp=0028EF24 program=C:\Users\HMK\AppData\Local\GitHub\PortableGit_69703d1db91577f4c666e767a6ca5ec50a48d243\bin\sh.exe -cs=0023 ds=002B es=002B fs=0053 gs=002B ss=002B -Stack trace: -Frame Function Args -0028F09C 030E7968 (06430600, 00000000, 00000000, 00000001) -End of stack trace \ No newline at end of file From 1339ed32fb8705092bb5459abee6af06e1f16bca Mon Sep 17 00:00:00 2001 From: "Hani M. K" Date: Fri, 22 Dec 2017 23:53:27 +0300 Subject: [PATCH 08/27] add tablayout add tablayout --- .../android-swipe-views-tabs/app/build.gradle | 1 + .../com/hmkcode/android/MainActivity.java | 20 +++++++++++++++++-- .../app/src/main/res/layout/activity_main.xml | 7 +++++++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/user-interface/android-swipe-views-tabs/app/build.gradle b/user-interface/android-swipe-views-tabs/app/build.gradle index cd2ff596..059f957f 100644 --- a/user-interface/android-swipe-views-tabs/app/build.gradle +++ b/user-interface/android-swipe-views-tabs/app/build.gradle @@ -23,6 +23,7 @@ dependencies { implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support.constraint:constraint-layout:1.0.2' implementation 'com.android.support:support-v4:26.1.0' + compile 'com.android.support:design:26.1.0' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.1' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' diff --git a/user-interface/android-swipe-views-tabs/app/src/main/java/com/hmkcode/android/MainActivity.java b/user-interface/android-swipe-views-tabs/app/src/main/java/com/hmkcode/android/MainActivity.java index e5e65b76..638f8da3 100644 --- a/user-interface/android-swipe-views-tabs/app/src/main/java/com/hmkcode/android/MainActivity.java +++ b/user-interface/android-swipe-views-tabs/app/src/main/java/com/hmkcode/android/MainActivity.java @@ -3,6 +3,7 @@ import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; +import android.support.design.widget.TabLayout; import com.hmkcode.android.adapters.MyFragmentPagerAdapter; @@ -10,17 +11,32 @@ public class MainActivity extends AppCompatActivity { MyFragmentPagerAdapter myFragmentPagerAdapter; ViewPager mViewPager; - + TabLayout tabLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); + mViewPager = (ViewPager) findViewById(R.id.pager); + tabLayout = (TabLayout) findViewById(R.id.tabLayout); + + setPagerAdapter(); + setTabLayout(); + } + + private void setPagerAdapter(){ myFragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager()); - mViewPager = (ViewPager) findViewById(R.id.pager); mViewPager.setAdapter(myFragmentPagerAdapter); } + + private void setTabLayout() { + + tabLayout.setupWithViewPager(mViewPager); + + tabLayout.getTabAt(0).setText("First"); + tabLayout.getTabAt(1).setText("Second"); + } } diff --git a/user-interface/android-swipe-views-tabs/app/src/main/res/layout/activity_main.xml b/user-interface/android-swipe-views-tabs/app/src/main/res/layout/activity_main.xml index f18c8add..5357b0c9 100644 --- a/user-interface/android-swipe-views-tabs/app/src/main/res/layout/activity_main.xml +++ b/user-interface/android-swipe-views-tabs/app/src/main/res/layout/activity_main.xml @@ -13,4 +13,11 @@ android:layout_width="match_parent" android:layout_height="match_parent" /> + + \ No newline at end of file From 17b7e4d54372207a501abc6979d4476374f5b1fc Mon Sep 17 00:00:00 2001 From: "Hani M. K" Date: Sat, 11 Aug 2018 15:19:31 +0300 Subject: [PATCH 09/27] android post json updated updated with new tools and API --- android-post-json/app/build.gradle | 29 + .../app/src/main/AndroidManifest.xml | 24 + .../main/java/com/hmkcode/MainActivity.java | 154 + .../res/drawable/ic_launcher_background.xml | 170 + .../app/src/main/res/layout/activity_main.xml | 82 + .../app/src/main/res/values/colors.xml | 6 + .../{ => app/src/main}/res/values/dimens.xml | 5 +- .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/styles.xml | 11 + android-post-json/build.gradle | 27 + android-post-json/ic_launcher-web.png | Bin 51394 -> 0 bytes .../res/drawable-hdpi/ic_launcher.png | Bin 7658 -> 0 bytes .../res/layout/activity_main.xml | 70 - android-post-json/res/menu/main.xml | 9 - android-post-json/res/values/strings.xml | 8 - android-post-json/res/values/styles.xml | 20 - .../src/META-INF/jdoconfig.xml | 15 - .../src/com/hmkcode/servlet/JSONServlet.java | 71 - .../src/com/hmkcode/vo/Person.java | 40 - .../server-side-code/src/log4j.properties | 24 - .../server-side-code/war/WEB-INF/web.xml | 17 - .../server-side-code/war/favicon.ico | Bin 1150 -> 0 bytes .../server-side-code/war/index.html | 31 - .../war/post-json/bootstrap/css/bootstrap.css | 6158 ----------------- .../img/glyphicons-halflings-white.png | Bin 8777 -> 0 bytes .../bootstrap/img/glyphicons-halflings.png | Bin 12799 -> 0 bytes .../post-json/bootstrap/js/bootstrap.min.js | 6 - .../server-side-code/war/post-json/index.html | 43 - .../war/post-json/js/jquery.1.9.1.min.js | 5 - .../war/post-json/js/myfunctions.js | 77 - android-post-json/settings.gradle | 1 + .../src/com/hmkcode/android/MainActivity.java | 186 - .../src/com/hmkcode/android/vo/Person.java | 40 - 33 files changed, 509 insertions(+), 6823 deletions(-) create mode 100644 android-post-json/app/build.gradle create mode 100644 android-post-json/app/src/main/AndroidManifest.xml create mode 100644 android-post-json/app/src/main/java/com/hmkcode/MainActivity.java create mode 100644 android-post-json/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 android-post-json/app/src/main/res/layout/activity_main.xml create mode 100644 android-post-json/app/src/main/res/values/colors.xml rename android-post-json/{ => app/src/main}/res/values/dimens.xml (79%) create mode 100644 android-post-json/app/src/main/res/values/strings.xml create mode 100644 android-post-json/app/src/main/res/values/styles.xml create mode 100644 android-post-json/build.gradle delete mode 100644 android-post-json/ic_launcher-web.png delete mode 100644 android-post-json/res/drawable-hdpi/ic_launcher.png delete mode 100644 android-post-json/res/layout/activity_main.xml delete mode 100644 android-post-json/res/menu/main.xml delete mode 100644 android-post-json/res/values/strings.xml delete mode 100644 android-post-json/res/values/styles.xml delete mode 100644 android-post-json/server-side-code/src/META-INF/jdoconfig.xml delete mode 100644 android-post-json/server-side-code/src/com/hmkcode/servlet/JSONServlet.java delete mode 100644 android-post-json/server-side-code/src/com/hmkcode/vo/Person.java delete mode 100644 android-post-json/server-side-code/src/log4j.properties delete mode 100644 android-post-json/server-side-code/war/WEB-INF/web.xml delete mode 100644 android-post-json/server-side-code/war/favicon.ico delete mode 100644 android-post-json/server-side-code/war/index.html delete mode 100644 android-post-json/server-side-code/war/post-json/bootstrap/css/bootstrap.css delete mode 100644 android-post-json/server-side-code/war/post-json/bootstrap/img/glyphicons-halflings-white.png delete mode 100644 android-post-json/server-side-code/war/post-json/bootstrap/img/glyphicons-halflings.png delete mode 100644 android-post-json/server-side-code/war/post-json/bootstrap/js/bootstrap.min.js delete mode 100644 android-post-json/server-side-code/war/post-json/index.html delete mode 100644 android-post-json/server-side-code/war/post-json/js/jquery.1.9.1.min.js delete mode 100644 android-post-json/server-side-code/war/post-json/js/myfunctions.js create mode 100644 android-post-json/settings.gradle delete mode 100644 android-post-json/src/com/hmkcode/android/MainActivity.java delete mode 100644 android-post-json/src/com/hmkcode/android/vo/Person.java diff --git a/android-post-json/app/build.gradle b/android-post-json/app/build.gradle new file mode 100644 index 00000000..be999094 --- /dev/null +++ b/android-post-json/app/build.gradle @@ -0,0 +1,29 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 27 + defaultConfig { + applicationId "com.hmkcode" + minSdkVersion 16 + targetSdkVersion 27 + versionCode 1 + versionName "1.0" + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'com.android.support:appcompat-v7:27.1.1' + implementation 'com.android.support:design:27.1.1' + implementation 'com.android.support.constraint:constraint-layout:1.1.2' + testImplementation 'junit:junit:4.12' + androidTestImplementation 'com.android.support.test:runner:1.0.2' + androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' +} diff --git a/android-post-json/app/src/main/AndroidManifest.xml b/android-post-json/app/src/main/AndroidManifest.xml new file mode 100644 index 00000000..8852e0b4 --- /dev/null +++ b/android-post-json/app/src/main/AndroidManifest.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android-post-json/app/src/main/java/com/hmkcode/MainActivity.java b/android-post-json/app/src/main/java/com/hmkcode/MainActivity.java new file mode 100644 index 00000000..86b46cd1 --- /dev/null +++ b/android-post-json/app/src/main/java/com/hmkcode/MainActivity.java @@ -0,0 +1,154 @@ +package com.hmkcode; + +import android.content.Context; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.os.AsyncTask; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.widget.EditText; +import android.widget.TextView; +import android.widget.Toast; + +import org.json.JSONException; +import org.json.JSONObject; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.net.HttpURLConnection; +import java.net.URL; + +public class MainActivity extends AppCompatActivity { + + TextView tvIsConnected; + EditText etName; + EditText etCountry; + EditText etTwitter; + TextView tvResult; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + tvIsConnected = (TextView) findViewById(R.id.tvIsConnected); + etName = findViewById(R.id.etName); + etCountry = findViewById(R.id.etCountry); + etTwitter = findViewById(R.id.etTwitter); + tvResult = (TextView) findViewById(R.id.tvResult); + checkNetworkConnection(); + + + + } + + // check network connection + public boolean checkNetworkConnection() { + ConnectivityManager connMgr = (ConnectivityManager) + getSystemService(Context.CONNECTIVITY_SERVICE); + + NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); + boolean isConnected = false; + if (networkInfo != null && (isConnected = networkInfo.isConnected())) { + // show "Connected" & type of network "WIFI or MOBILE" + tvIsConnected.setText("Connected "+networkInfo.getTypeName()); + // change background color to red + tvIsConnected.setBackgroundColor(0xFF7CCC26); + + + } else { + // show "Not Connected" + tvIsConnected.setText("Not Connected"); + // change background color to green + tvIsConnected.setBackgroundColor(0xFFFF0000); + } + + return isConnected; + } + + + private String httpPost(String myUrl) throws IOException, JSONException { + String result = ""; + + URL url = new URL(myUrl); + + // 1. create HttpURLConnection + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + conn.setRequestMethod("POST"); + conn.setRequestProperty("Content-Type", "application/json; charset=utf-8"); + + // 2. build JSON object + JSONObject jsonObject = buidJsonObject(); + + // 3. add JSON content to POST request body + setPostRequestContent(conn, jsonObject); + + // 4. make POST request to the given URL + conn.connect(); + + // 5. return response message + return conn.getResponseMessage()+""; + + } + + + private class HTTPAsyncTask extends AsyncTask { + @Override + protected String doInBackground(String... urls) { + // params comes from the execute() call: params[0] is the url. + try { + try { + return httpPost(urls[0]); + } catch (JSONException e) { + e.printStackTrace(); + return "Error!"; + } + } catch (IOException e) { + return "Unable to retrieve web page. URL may be invalid."; + } + } + // onPostExecute displays the results of the AsyncTask. + @Override + protected void onPostExecute(String result) { + tvResult.setText(result); + } + } + + + public void send(View view) { + Toast.makeText(this, "Clicked", Toast.LENGTH_SHORT).show(); + // perform HTTP POST request + if(checkNetworkConnection()) + new HTTPAsyncTask().execute("http://hmkcode.appspot.com/jsonservlet"); + else + Toast.makeText(this, "Not Connected!", Toast.LENGTH_SHORT).show(); + + } + + private JSONObject buidJsonObject() throws JSONException { + + JSONObject jsonObject = new JSONObject(); + jsonObject.accumulate("name", etName.getText().toString()); + jsonObject.accumulate("country", etCountry.getText().toString()); + jsonObject.accumulate("twitter", etTwitter.getText().toString()); + + return jsonObject; + } + + private void setPostRequestContent(HttpURLConnection conn, JSONObject jsonObject) throws IOException { + + OutputStream os = conn.getOutputStream(); + BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8")); + writer.write(jsonObject.toString()); + Log.i(MainActivity.class.toString(), jsonObject.toString()); + writer.flush(); + writer.close(); + os.close(); + } + +} diff --git a/android-post-json/app/src/main/res/drawable/ic_launcher_background.xml b/android-post-json/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 00000000..d5fccc53 --- /dev/null +++ b/android-post-json/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android-post-json/app/src/main/res/layout/activity_main.xml b/android-post-json/app/src/main/res/layout/activity_main.xml new file mode 100644 index 00000000..5aa66a4e --- /dev/null +++ b/android-post-json/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + -

- - - -
-
Visitors
- - - - - - -
NameCountryTwitter
-
- - diff --git a/android-post-json/server-side-code/war/post-json/js/jquery.1.9.1.min.js b/android-post-json/server-side-code/war/post-json/js/jquery.1.9.1.min.js deleted file mode 100644 index 006e9531..00000000 --- a/android-post-json/server-side-code/war/post-json/js/jquery.1.9.1.min.js +++ /dev/null @@ -1,5 +0,0 @@ -/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license -//@ sourceMappingURL=jquery.min.map -*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="
a",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="
t
",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="
",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj; -return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="
",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&>(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/\s*$/g,At={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X
","
"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l) -}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("