تاريخ في إعادة تدوير الموضة: كيف تحول مصممي الأزياء في القرن التاسع عشر وترقيتهم وتوارثوها.

هذه القطعة مقتبسة من Dressing Up: Women Influence French Fashion (MIT Press) ، والتي نُشرت في الأصل بواسطة MIT News Reader وأعيد نشرها هنا بعد الحصول على إذن.
يواصل قادة الموضة تكثيف جهودهم بعد أن دعا COP26 العالم بشدة إلى اتخاذ إجراءات بشأن تغير المناخ. أصبحت Chloé أول علامة تجارية فاخرة تحقق "حالة B Corporation" المرغوبة وتحظى الآن بختم الموافقة هذا ، مما يشير إلى التزامها بالحد من تأثيرها على الناس والكوكب من خلال استخدام الطاقة المتجددة والمواد ذات المصادر الأخلاقية ، من بين مئات الأضرار التي لحقت بالمبادرات الأخرى. يقود مركز الملابس البالية في باتاغونيا فئة الملابس التجارية التي لا تزال صالحة للاستخدام ، وهو يتوافق مع تزايد "التسوق المسؤول" "شركات التوفير ThredUp (التي تأسست عام 2009) ، و Poshmark (التي تأسست عام 2011) و The RealReal (التي تأسست عام 2011). تتمتع المعاملات المدرجة جميعها بنمو مرتفع ، ولكن ليس بربحية عالية بعد.
في الوقت نفسه ، تقوم وسائط الموضة ، و WWD على وجه الخصوص ، بتتبع الادعاءات الاحتيالية من قبل العلامات التجارية الفاخرة مثل Coach بشأن الإجراءات التي يُفترض أنها واعية والتي تم العثور عليها لتدمير كميات هائلة من حقائب اليد غير الكاملة بدلاً من إصلاحها أو إعادة استخدامها. عارهم ، بينما يزن أصحاب البودكاست مكاسب العلامات التجارية ويفشلونها. تركز صحفية الموضة آمي أوديل ، مؤلفة النشرة الإخبارية المستقلة "باك رو" ، على ادعاءات الشركات الكاذبة. على محمل الجد ، على الرغم من أنهم سيواجهون قريبًا تشريعات أكثر صرامة في الولايات المتحدة "وأشارت إلى أن" لجنة التجارة الفيدرالية هذا العام ستراجع إرشاداتها "الخضراء" ، والتي تهدف إلى مساعدة المسوقين على تجنب تقديم مزاعم بيئية تضلل المستهلكين ".
مع ازدياد "التسوق القائم على القيمة" و "استدامة اختيار المنتج" ، حان الوقت الآن لمعرفة مدى توافق هذه الممارسات مع الممارسات السابقة. كيف تتعارض جهود المصممين والمشترين الحالية مع أسلافهم في مجال الموضة (مثل Maison) Félix and House of Worth) وعملائهم الدوليين الأذكياء ، ما الذي يمكن أن نتعلمه من التزام القرن التاسع عشر بإعادة الاستخدام وإعادة التدوير ، والجودة على الكمية؟
في أواخر القرن التاسع عشر ، كانت الموضة الفرنسية هي أفضل شراء للرفاهية للنساء الأميركيات الثريات ، فالنساء اللواتي ينفقن آلاف الدولارات على الفساتين الفرنسية يزيدن من استثمارهن من خلال تغيير الغرض منهن - ارتدتهن عدة مرات على مدى فترة من المواسم أو السنوات ، على عكس ما يفعلون مع المجوهرات الأكثر قيمة لا يختلف عن ذلك ، فهم إما يرتدون الفستان في شكله الأصلي ، أو يعيدون تنجيده ، أو يستأجرون الشركة المصنعة الأصلية أو خياطًا محليًا لإعادة تصميمه. تعكس هذه الممارسات التركيز على المنسوجات الفاخرة وهي متجذرة بعمق في الثقافة الملكية الأوروبية ، كما وصفت المؤرخة والمنسقة كيت ستراستين في داخل الخزانة الملكية: The Dress History of Queen Alexandra، Alexandra ، أميرة ويلز ، قامت خياطتها السيدة ليز ورفاقها بتحويل فستان زفافها البريطاني الصنع إلى ثوب سهرة. في مارس 1863 ، بعد أيام قليلة من زواجها من إدوارد السابع ، تخبرنا ستراستين أنه بالنسبة للكرة المارلبورو 1874 ، يبدو أن شركة إليز قامت بتكييف ملابس ألكسندرا دبليو.خام في Waverley Ball في لندن عام 1871 ، ويحمل الفستان علامة Elise ، وهو محفوظ اليوم في مجموعة Royal Ceremonial Dress Collection في قصر كنسينغتون في لندن.
ارتدت ماري إنديكوت تشامبرلين نفس الفستان الحريري الأزرق الباهت من House of Worth مع الدانتيل والخرز والمخمل في حدثين قضائيين منفصلين في لندن في مارس ويوليو 1893 ، وكان الحدث الأول هو حفل استقبال في غرفة رسم الملكة فيكتوريا في قصر باكنغهام ، والثاني كان حفل زفاف دوق ودوقة يورك (لاحقًا الملك جورج الخامس والملكة ماري) ، كما اعتادت أيضًا إرسال فساتين Worth إلى دار الأزياء من أجل التغيير ، كما فعلت عندما أرادت دانتيل Van Dyke. طوق على فستان الساتان الأحمر.
في أوائل العقد الأول من القرن الحادي والعشرين ، تبنت نساء الطبقة العليا في أمريكا سابقة ملكية في تغيير الملابس ، فعندما تزوجت إليزابيث باترسون من بالتيمور من جيروم بونابرت في عام 1803 ، ارتدت فستانًا أبيض مطرزًا من الموسلين ارتدته عدة مرات منذ ذلك الحين. ، الآن في مجموعة شيكاغو التاريخية ، تظهر عليها علامات إعادة ارتدائها ، فقد حضرت العديد من المناسبات الاجتماعية مع زوجها المليونير سايروس هول ماكورميك ، وارتدت ثوبًا ورثًا في حفل زفاف ابنها في عام 1904.
العديد من فساتين النخبة تصبح موروثة ، مكتوبة في الوصايا ، ومن ثم فإن الأمر متروك للورثة لاختيار الطريقة التي سيرتدونها بها ، مع أو بدون تعديلات. ، والزنبق الدانتيل الذي تركته في وصيتها لحافة أوراق فستان زفاف والدتهما. استخدمت كل من ألفا وابنتها كونسولو فيما بعد الدانتيل على فساتين زفافهما ، وبالمثل ، في عام 1883 ، اشترت فاعلة الخير كارولين لويزا ويليامز فرينش من بوسطن ، ماساتشوستس ، أزرق داكن بدلة مخملية مزينة بفرو شينشيلا وعلامة ميزون ليبمان مقابل 1600 فرنك ، كانت العلامة التجارية ، التي تديرها مدام كاميل ليبمان ، تعمل في باريس في ثمانينيات القرن التاسع عشر ، وكان من بين عملائها ماريا بيا ، ملكة البرتغال ، وبعد حوالي 37 عامًا ، أليس ويليامز بيرس ، سليل فرنسي ، تم تصويره في عباءة وحقيبة شينشيلا ، بدون معطف ، في حدث الاحتفال بالتعديل التاسع عشر ، والذي منح التعديل المرأة حق التصويت.إستوريك نيو إنجلاند: تبرع أورمي ويلسون جونيور وريتشارد ثورنتون ويلسون الثالث بمجموعة من العباءات لمتحف متروبوليتان للفنون من قبل هاوس أوف وورث ودوسيت وباكين ، مما يوفر مزيدًا من لمحة عن كيفية نمو الأزياء الراقية من خلال فرع من عائلة واحدة تشعر الإخوة ويلسون هم أبناء ويليام باكهاوس أستور جونيور وكاري ابنة كارولين أستور.
بالنسبة لمناسبات مثل Centennial Ball التي أقيمت في جميع أنحاء البلاد في عام 1876 ، تم تصميم العباءات النسائية التي تحاكي تلك التي كان يرتديها أسلافهم في الصور الفوتوغرافية والصور. مصممو الأزياء ، الذين غالبًا ما يشاركون في إنشاء أزياء مسرحية مستوحاة من التاريخ ، مجهزون جيدًا لإنشاء نسخة طبق الأصل. العباءات ، فقد استخدمت بعض النساء قطعًا من مجموعات الدانتيل العتيقة الشخصية في مناسبات مختلفة ، كما فعلت عائلة أستور ، التي جمعت الدانتيل الفلمنكي والفرنسي من القرن الثامن عشر ، وبعضها نجا. في عام 1878 ، ارتدت كارولين أستور بفخر ثوبًا أسود مخمليًا مع تقليم دانتيل عمره 200 عام.
منفذ آخر لإعادة الاستخدام هو من خلال القمامة من المالكين إلى الخادمات أو المستفيدين من الجمعيات الخيرية. تبرعت كارولين أستور بالملابس إلى مستشفى للنساء ، بينما قيل إن كورنيليا ستيوارت ، المتزوجة من تاجر التجزئة AT Stewart ، أعطت بعض ملابسها لامرأة في بحاجة إلى المغني في زي المسرح. كما أوضحت ديانا دي مارلي (مؤلفة كتاب "تاريخ الأزياء الراقية") وكيت ستراستين ، كانت هذه الممارسة نتاج الممارسة الملكية الأوروبية لتسليم الفستان إلى الخادمات ، الملكة فيكتوريا وأليكس ، وكذلك فعلت الأميرة ساندرا ويلز: هناك تدفق آخر يتمثل في بيع الفساتين لتجار الملابس المستعملة ، المنحدرين من تجارة أوروبا القديمة في الملابس المستعملة ، في باريس ، كانت هذه التجارة موجودة منذ القرن الثالث عشر ، وبحلول القرن الثامن عشر تركزت حول Les Halles في القرن التاسع عشر ، كان أفراد العائلة المالكة يبيعون لبعض سماسرة الملابس.
منذ أوائل القرن الثامن عشر ، تمتلك إنجلترا أيضًا تاريخًا في بيع الملابس الملكية والأرستقراطية على متاجر الملابس القديمة في شرق لندن ، كما أوضحت جينيفر لو زوت في كتابها من Goodwill to Grunge. كانت التجارة اليدوية في الجانب الشرقي الأدنى مدفوعة بوصول أعداد كبيرة من المهاجرين الأوروبيين الجدد بين عامي 1880 و 1920 ، وكان يديرها بشكل أساسي يهود لديهم خبرة في البيع والتجول والخياطة ، وقد تم الإعلان عن بعض الإعلانات في الصحف المحلية التي تعرض شراء الملابس المهملة. حيث يبدو أن الباعة المتجولين ممنوعون بانتظام من شراء الملابس في عمليات بيع الغارات الخيرية. ظهرت معاداة السامية هنا لأن اليهود كان يُنظر إليهم تاريخيًا على أنهم يهيمنون على التجارة ، والتي تم إنشاؤها بدافع الضرورة عندما تم منعهم من ممارسة مهنتهم وتحولوا إلى عربة تجوال. مبيعات.
يبدع فناني الأداء في كيفية الحصول على الأزياء باهظة الثمن والتعامل معها ، فعندما توفيت مغنية الأوبرا إيما أبوت في عام 1891 ، اشترت الممثلة جين كيمبال ثوب وورث وفيليكس الذي ارتدته أبوت في كارمن قبل بضع سنوات ، اشترتها كيمبول لابنتها كورين ، وهي صاعدة. نجمة على خشبة المسرح. عندما كانت إيلينا من الجبل الأسود غير قادرة على استخدام العديد من فساتين Félix الجديدة لفترة من الوقت حدادًا على الملك الإيطالي أومبرتو الأول الذي قتل على يد الأناركيين ، وضعتها مصممة الأزياء لأول مرة في المعرض العالمي في باريس على الشاشة عام 1900. في المعرض ، أعجبت فرانشيسكا ريدينغ بفستان من الحرير والشيفون الأخضر الملفوف بأوراق الشجر ، واشترته ، وسرعان ما وضعه على المسرح. ورد أن خزانة ملابس الخبيرة الاجتماعية ماري ريتا ويلسون-جوليت ، والتي تم تتبعها بعناية في محفوظات الفواتير الموجودة ، تم بيعها إلى نيويورك عميل المسرح Eves بعد وفاتها ويرتديه عدة ممثلات ، بحسب التقارير.أخيرًا ، باعت الممثلة سادي مارتينوت فساتينها المسرحية Worth and Félix في مزاد في مايو 1894 مقابل 35000 دولار (أكثر من 1.1 مليون دولار اليوم) ، كما باع الممثلون فساتينهم المسرحية لتجار مستعملة واجهات متاجرهم ، كما وصفتهم The Sun. في عام 1892 ، "كانت التنانير والتنانير والملابس الباسكية معلقة بعمق ثلاثة أو أربعة طوابق".
المشترون في المتاجر المستعملة هم نساء من الطبقة المتوسطة تدوم ملابسهن لسنوات. توثق هانا ديتزلر ألسباو من إلينوي في دفتر يومياتها وقصاصات القماش الخاصة بها الفساتين والبدلات التي ستعيد صنعها أو "تمزق" على مر السنين ، بما في ذلك الملابس التي كانت ترتديها في معرض كولومبيا العالمي في شيكاغو سويتس ، على وجه الخصوص ، أقيمت هذا الحدث خلال الأزمة المالية الوطنية لعام 1893 ، مع التخطيط الدقيق والصيانة ، يمكن الحفاظ على الملابس وارتداؤها كثيرًا. تعمل الملابس الداخلية ذات الطبقات كحاجز بين زيوت الجسم والأوساخ والجزء الأكبر من الملابس.
أدت ممارسة الحصول على ما تريد ثم إعادة استخدامه وتداوله وتبادله إلى توزيع الأزياء الفرنسية على نطاق واسع في مجموعات حول العالم. ، وربعها تم شراؤها من قبل إيرين لويسون وبيعت في متحف متروبوليتان للفنون ، تم إنشاء مدرسة الملابس.
على الرغم من أن هذه المواد لديها القليل من الوعي الاجتماعي في مفهوم اليوم - فراء وريش الطيور النادرة وحتى أغطية الرأس مع المخلوقات المحنطة أمر مرغوب فيه - قد نقدر شيئًا متأصلًا في هذه الفترة وممارسات إعادة الاستخدام المقبولة وما نسميه الآن إعادة التدوير. رفاهية الأزياء الفرنسية التي اشتروها ، جلبت النساء الأميركيات بعض البراغماتية إلى السوق. أعطت ThredUp و Poshmark و The RealReal الأولوية للغرض ، مما أدى عمداً إلى إطالة عمر الملابس كخيار أخلاقي للمستهلك وبعيدًا عن أي وصمة عار مرغوبة قدر الإمكان. في أواخر القرن التاسع عشر ، في أعلى الدوائر الاجتماعية ، لم يكن هناك ما يزيل وصمة العار.
لاستعارة مصطلح شركة Motif لتعليم الموضة ، قدمت النساء الأميركيات اللائي اشتروا الأزياء الفرنسية في أواخر القرن التاسع عشر "نموذجًا دائريًا تم فيه تصميم الملابس وتطويرها مع مراعاة الاستخدام التالي". .
")) ؛ var p = b (h [i.size_id] .split (“ x ”). map (function (e) {return Number (e)})، 2)؛ f.width = p [0]، f.height = p [1]} f.rubiconTargeting = (Array.isArray (i.targeting)؟ i.targeting: []). تقليل (الوظيفة (e، t) {return e [t.key] = t. القيم [0] ، e} ، {rpfl_elemid: l.adUnitCode}) ، t.push (f)} else Object (r.logError) (“Rubicon: bidRequest 在 索引 位置 未定义:”. concat (o)، n ، e)؛ return t}، []). sort (function (e، t) {return (t.cpm || 0) - (e.cpm || 0)})}، getUserSyncs: function (e، t ، n، r) {if (! U && e.iframeEnabled) {var i = ”"؛ return n && ”string” == typeof n.consentString && (“boolean” == typeof n.gdprApplies؟ i + = ”؟ gdpr =”. concat (数字 (n.gdprApplies)، ”& gdpr_consent =”). concat (n.consentString): i + = ”؟ gdpr_consent =”. concat (n.consentString))، r && (i + = "". concat (i؟ " & “:”؟ ”،” us_privacy = ”) .concat (encodeURIComponent (r))) ، U =! 0 ، {type:” iframe ”، url:” https: // ”.concat (y.syncHost || "eus"، ". rubiconproject.com/usync.html")+i}}}،transformBidParams:function(e،t){return Object (r.convertTypes) ({accountId:" number "، siteId:" number " ، zoneId: ”number”}، e)}}؛ 函数 _ (e، t) {var n = obgetConfig (“pageUrl”) ؛ إرجاع e.params.referrer؟ n = e.params.referrer: n || (n = t.refererInfo.referer)، e.params.secure؟ n.replace (/ ^ http: / i، ”https:”): n } 函数 j (e) {var t، n = document.getElementById (e.adUnitCode)؛ (t = n.querySelector (“div [id ^ = 'google_ads']")) && t.style.setProperty (“display” ، ”none”)، الوظيفة (هـ) {var t = e.querySelector (“script [id ^ = 'sas_script']“)، n = t && t.nextSibling؛ n && ”iframe” === n.localName && n.style. setProperty (“display”، ”none”)} (n)؛ var r = e.renderer.getConfig ()؛ e.renderer.push (function () {window.MagniteApex.renderAd ({width: e.width، height : e.height، wideUrl: e.vastUrl، placement: {attachTo: "#". concat (e.adUnitCode)، align: r.align || "center"، position: r .position || "append"}، closeButton: r.closeButton ||! 1، label: r.label || void 0، collapse: r.collapse ||! 0})})} 函数 S (e، t) {var n = e.params؛ if (“video” === t) {var i = []؛ return n.video && n.video.playerWidth && n.video.playerHeight؟ i = [n.video.playerWidth، n.video .playerHeight]: Array.isArray (Object (r.deepAccess) (e، "mediaTypes.video.playerSize")) && 1 === e.mediaTypes.video.playerSize.length؟ i = e.mediaTypes.video.playerSize [0]: Array.isArray (e.sizes) && e.sizes.length> 0 && Array.isArray (e.sizes [0]) && e.sizes [0] .length> 1 && (i = e.sizes [ 0]) ، i} var o = [] ؛ إرجاع Array.isArray (n.sizes)؟ o = n.sizes: void 0! == Object (r.deepAccess) (e، "mediaTypes.banner.sizes”) ؟ o = A (e.mediaTypes.banner.sizes): Array.isArray (e.sizes) && e.sizes.length> 0؟ o = A (e.sizes): Object (r.logWarn) (“Rubicon: 没有设置 或 找到 大小 ”)، w (o)} الوظيفة E (e، t، n) {var i = {user: {ext: {data: f ({}، e .params.visitor)}} ، الموقع: {ext: {data: f ({}، e.params.inventory)}}}؛ e.params.keywords && (i.site.keywords = Object (r.isArray) (e.params.keywords)؟ e.params .keywords.join ("،"): e.params.keywords)؛ var c = Object (r.mergeDeep) ({}، obgetConfig (“ortb2 ″) || {}، i)، s = Object (r. deepAccess) (e.ortb2Imp، ”ext.data”) || {}، u = {user: [4]، site: [1،2،5،6]}، d = {user: ”tg_v.”، site: "tg_i." ، خادم الإعلانات: "tg_i.dfp_ad_unit_code" ، pbadslot: "tg_i.pbadslot" ، الكلمات الرئيسية: "kw"} ، l = function (e، t، n) {if ("data" === t && Array .isArray (e)) إرجاع e.filter (الوظيفة (e) {return e.segment && Object (r.deepAccess) (e، "ext.segtax") && u [n] && - 1! == u [n] .indexOf (سbject (r.deepAccess) (e، "ext.segtax"))}). map (الوظيفة (هـ) {var t = e.segment.filter (الوظيفة (e) {return e.id}). تقليل (الوظيفة (e، t) {return e.push (t.id)، e}، [])؛ if (t.length> 0) تُرجع t.toString ()}). toString () ؛ if ("object"! == v (e) || Array.isArray (e)) {if (void 0! == e) إرجاع Array.isArray (e)؟ e.filter (الوظيفة (e) {if (“object”! == v (e) && void 0! == e) إرجاع e.toString ()؛ Object (r.logWarn) (“Rubicon:过滤 值 : "، e ،" للمفتاح "، t ،" : 期望值 为 字符串 、 整数 或 字符串 / 整数 数组 ”)}). toString (): e.toString ()} else Object (r .logWarn) (“Rubicon: Filter FPD key:“، t، ”: القيمة المتوقعة ستكون سلسلة ، أو عددًا صحيحًا ، أو مصفوفة من السلاسل / ints”)} ، p = function (e، t، r) {var i =! (وسيطات .length> 3 && void 0! == وسيطات [3]) || الوسيطات [3]، o = l (e، r، t)، a = d [r] && i؟ ”". concat (d [r]): ”data” === r؟ ”". concat (d [t]، ”iab”): ”". concat (d [t]). concat (r)؛ n [a] = n [a]؟ n [أ] .concat ("،"، o): o}؛ Object.keys. forEach (الوظيفة (هـ) {"adserver" === e؟ ["name"، "adslot"] .forEach (函数 (t) {s [e] [t] && (s [e] [t] = s [e] [t] .toString (). replace (/ ^ \ / + /، ”"))}): ”pbadslot” === e && (s [e] = s [e] .toString (). replace (/ ^ \ / + /، ”"))})، t === ab؟ (["site"، "user"]. forEach (الوظيفة (e) {Object.keys (c [e]). forEach (function (t) {“网站” === e && ”内容” === t && c [e] [t]. data؟ p (c [e] [t] .data، e، "data"): "ext"! == t؟ p (c [e] [t]، e، t): c [e] [t ] .data && Object.keys (c [e] .ext.data). forEach (الوظيفة (t) {p (c [e]. ext.data [t]، e، t،! 1)})})}) ، Object.keys.forEach (الوظيفة (هـ) {"خادم الإعلانات" === e؟ p (s [e].adslot، name، e): p (s [e]، "site"، e)})) :( Object.keys .length && Object (r.mergeDeep) (n.imp [0] .ext، {data : s})، Object (r.mergeDeep) (n، c))} الوظيفة A (e) {return Object (r.parseSizesInput) (e) .reduce (function (e، t) {var n = parseInt (h [t]، 10)؛ return n && e.push (n)، e}، [])} 函数 I (e) {return ”object” === v (Object (r.deepAccess) (e، ”params.video ")) && void 0! == كائن (r.deepAccess) (e،" mediaTypes. ". concat (ad))} 函数 T (e) {var t = arguments.length> 1 && void 0! == وسيطات [1] && arguments [1]؛ return I (e)؟ - 1 === ["outstream"، "instream"]. indexOf (Object (r.deepAccess) (e، "mediaTypes.". concat (ad، ". Context" )))؟ void (t && Object (r.logError) ("Rubicon: mediaTypes.video.context 必须 是 外流 或 内 流")): S (e، "video"). length-1 || i> -1؟ -1 === r؟ 1: -1 === i؟ -1: ri: en})} 函数 x (e) {var t = parseInt (كائن (r.deepAccess) (e، ”params.video. size_id ”)) ؛ 返回 isNaN (t)؟“outstream” === Object (r.deepAccess) (e، ”mediaTypes.”. concat (ad، ”. Context”))؟ 203: 201: t} الوظيفة D (e) {إرجاع {النطاقات: {منخفضة: [{max: 5، increment: .5}]، medium: [{max: 20، increment: .1}]، high: [{max: 20، increment: .01}]، auto: [{max: 5 ، زيادة: .05}، {min: 5، max: 10، increment: .1}، {min: 10، max: 20، increment: .5}]، dense: [{max: 3، increment: .01 }، {min: 3، max: 8، increment: .05}، {min: 8، max: 20، increment: .5}]، custom: e.getConfig (“customPriceBucket”) && e.getConfig (“customPriceBucket” ) .buckets} [e.getConfig ("priceGranularity")]}} الوظيفة R (e) {var t =! 0، n = Object.prototype.toString.call ([])، i = {mimes: n، Protocols : n، linearity: Object.prototype.toString.call (0)، api: n}؛ 返回 Object.keys (i) .forEach (function (n) {Object.prototype.toString.call (Object (r.deepAccess) (e، "mediaTypes.video." + n))! == i [n] && (t =! 1، Object (r.logError) (“Rubicon: mediaTypes.video.” + n + ”是 必需 的 , 并且必须 是 类型 : ”+ i [n]))})، t} الوظيفة k (e) {var t =! 1، n = [" asi "،" sid "،" hp "] ؛ إرجاع العقد الإلكترونية؟ ((t = e.nodes.reduce (function (e، t) {return e؟ n.every (function (e) {return t.hasOwnProperty (e)}): e} ،! 0)) || Object (r.logError) (“Rubicon: مطلوب معلمات schain مفقودة”) ، t): t} الوظيفة P (e، t) {return ”rp_schain” === e؟ ”rp_schain =”. concat (t): " ".concat (e،” = ”). concat (encodeURIComponent (t))} var U =! 1؛ Object (i.registerBidder) (O)}}، [787])، pbjsChunk ([107]، {875 : function (e، t، n) {e.exports = n (876)}، 876: function (e، t، n) {Object.defineProperty (t، ”__esModule”، {value:! 0})، nd (t، "tripleliftAdapterSpec"، function () {return m})؛ var r = n (0)، i = n (2)، o = n (1)، a = n (3)؛ الوظيفة c () { return (c = Object.assign || function (e) {for (var t = 1؛ te.length) && (t = e.length)؛ for (var n = 0، r = new Array (t)؛ n0 && (t.user = {ext: {eids: o}})؛ var s = function (e، t) {var n = {}؛ return Object (r.isEmpty) (e) || (n.schain = d ({} ، هـ)) ، كائن (r.isEmpty) (t) || (n.fpd = d ({} ، t)) ، n} (n ، i) ؛ إرجاع الكائن (r.isEmpty) (s ) || (t.ext = s)، t} (e)؛ if (n = Object (r.tryAppendQueryString) (n، ”lib”، ”prebid”)، n = Object (r.tryAppendQueryString) (n، ”v”، ”6.2.0 ″)، t && t.refererInfo) {var o = t.refererInfo.referer؛n = Object (r.tryAppendQueryString) (n، "Referer"، o)} إرجاع t && t.timeout && (n = Object (r.tryAppendQueryString) (n، ”tmax”، t.timeout))، t && t.gdprConsent && (void 0 ! == t.gdprConsent.gdprApplies && (b = t.gdprConsent.gdprApplies، n = Object (r.tryAppendQueryString) (n، ”gdpr”، b.toString ()))، باطل 0! == t.gdprConsent.consentString && (g = t.gdprConsent.consentString، n = Object (r.tryAppendQueryString) (n، ”cmp_cs”، g)))، t && t.uspConsent && (n = Object (r.tryAppendQueryString) (n، ”us_privacy”، t. uspConsent)) ،! 0 === abgetConfig (“coppa”) && (n = Object (r.tryAppendQueryString) (n، ”coppa”،! 0))، n.lastIndexOf (“&”) === n.length-1 && (n = n.substring (0، n.length-1))، Object (r.logMessage) (“tlCall request built:“ + n)، {method: ”POST”، url: n، data: i، bidderRequest: t}} ،pretResponse: function (e، t) {var n = t.bidderRequest؛ return (e.body.bids || []). map (function (e) {return function (e، t ) {var n = {}، r = t.width || 1، i = t.height || 1، o = t.deal_id || ”"، a = t.crid || ”"، c = e. bids [t.imp_id]؛ return 0! = t.cpm && t.ad && (n = {requestId: c.bidId، cpm: t.cpm، width: r، height: i، netRevenue:! 0، ad: t.ad ، creativeId: a، dealId: o، currency: "USD"، ttl: 300، tl_source: t.tl_source، meta: {}}، v (c) && (n.vastXml = t.ad، n.mediaType = " video ”، n.ttl = 3600)، t.advertiser_name && (n.meta.advertiserName = t.advertiser_name)، t.adomain && t.adomain.length && (n.meta.advertiserDomains = t.adomain)، t .tl_source &&" hdx " == t.tl_source && (n.meta.mediaType = ”banner”)، t.tl_source && ”tlx” == t.tl_source && (n.meta.mediaType = ”native”))، n} (n، e)}) }، getUserSyncs: function (e، t، n، i) {var o = function (e) {if (e) return e.iframeEnabled؟ ”iframe”: e.pixelEnabled؟ ”image”: void 0} (e) ؛ إذا (س) {var a = ”https://eb2.3lift.com/sync؟” ؛ إرجاع "صورة"=== o && (a = Object (r.tryAppendQueryString) (a، px ”، 1)، a = Object (r.tryAppendQueryString) (a،” src ”،” prebid ”)) ، null! == g && (a = Object (r.tryAppendQueryString) (a، ”gdpr”، b)، a = Object (r.tryAppendQueryString) (a، ”cmp_cs”، g))، i && (a = Object (r.tryAppendQueryString) (a، ” us_privacy ”، i))، [{type: o، url: a}]}}}؛ function v (e) {return !! e.mediaTypes.video && !! e.mediaTypes.video.context &&” instream ”== = e.mediaTypes.video.context.toLowerCase ()} الوظيفة y (e) {var t = null؛ if ("function" == typeof e.getFloor) {var n = e.getFloor ({currency: "USD" ، mediaType: v (e)؟ ”video”: ”banner”، الحجم: ”*”})؛ ”object”! == s (n) || ”USD”! == n.currency || isNaN (parseFloat (n.floor)) || (t = parseFloat (n.floor))} إرجاع فارغ! == t؟ t: e.params.floor} 函数h (e، t) {Object (r.isEmpty) (t) || Object.keys (t) .forEach (function (n) {null! = t [n] && (e [n] = t [n] )})} 函数 O (e، t، n، r) {return e.map (function (e) {return function (t) {return t && t.userId && t.userId [e]}} (t)). filter ( _ (t)). map (function (e، t) {return function (n) {return {source: e، uids: [{id: n.id؟ n.id: n، ext: {rtiPartner: t} }]}}} (n، r))} var _ = function (e) {返回 函数 (t، n، i) {var o = !! t && (Object (r.isStr) (t)؟ !! t : كائن (r.isPlainObject) (t) &&! كائن (r.isArray) (t) &&! كائن (r.is فارغ) (t) && t.id && Object (r.isStr) (t.id) && !! t. id) ؛ return o || void 0 === i [0] || كائن (r.logWarn) ("Triplelift: غير صالح" .concat (e، "userId format")) ، o}} ؛ الوظيفة j (e ) {return e.filter (S) .map (function (e) {re 转 {w: e [0]، h: e [1]}})} 函数 S (e) {return 2 === e. length && ”number” == typeof e [0] && ”number” == typeof e [1]} كائن (o.registerBidder) (m)}} ، [875]) ، pbjsChunk ([11] ، {15: وظيفة (e، t، n) {tb = function (e) {var t = []؛ for (var n in e) if (e.hasOwnProperty (n)) if ("pubProvidedId" === n) t = t .concفي (e.pubProvidedId)؛ else {var r = o (e [n]، n)؛ r && t.push (r)} return t}، ta = function (e) {var t = []؛ return e.filter (الوظيفة (هـ) {إرجاع الكائن (r.isPlainObject) (e.idObj) && Object.keys (e.idObj) .length}). لكل (الوظيفة (e) {Object.keys (e.idObj). لكل (وظيفة) (ن) {Object (r.deepAccess) (e، ”config.bidders“) && Array.isArray (e.config.bidders) && Object (r.deepAccess) (i، n + ”. source”) && t.push ({source : i [n] .source، bidders: e.config.bidders})})})، t}؛ var r = n (0)، i = {intentIqId: {source: ”intentiq.com”، atype: 1 }، naveggId: {source: ”navegg.com”، atype: 1}، pubcid: {source: ”pubcid.org”، atype: 1}، tdid: {source: ”adserver.org”، atype: 1، getUidExt : function () {return {rtiPartner: ”TDID”}}}، id5id: {getValue: function (e) {return e.uid}، source: ”id5-sync.com”، atype: 1، getUidExt: function ( هـ) {if (e.ext) return e.ext}}، parrableId: {source: ”parrable.com”، atype: 1، getValue: function (e) {return e.eid؟ e.eid: e.ccpaOptout ؟ ”": null}، getUidExt: function (e) {var t = Object (r.pick) (e، ["ibaOptout"، "ccpaOptout"])؛ if (Object.keys (t) .length) تُرجع t }} ، idl_env: {المصدر: ”الكبدamp.com ”، atype: 3}، lipb: {getValue: function (e) {return e.lipbid}، source:” liveintent.com ”، atype: 3، getEidExt: function (e) {if (Array.isArray (e. : 3}، lotamePanoramaId: {source: ”crwdcntrl.net”، atype: 1}، criteoId: {source: ”criteo.com”، atype: 1}، merkleId: {source: ”merkleinc.com ”، atype: 3، getValue: function (e) {return e.id}، getUidExt: function (e) {return e && e.keyID؟ {keyID: e.keyID}: void 0}}، netId: {source: “netid.de”، atype: 1}، IDP: {source: ”zeotap.com”، atype: 1}، haloId: {source: ”audigent.com”، atype: 1}، quantcastId: {source: ”quantcast .com ”، atype: 1}، nextrollId: {source:” nextroll.com ”، atype: 1}، idx: {source:” idx.lat ”، atype: 1}، connectid: {来源 :“ verizonmedia.com ”, atype : 3} , fabrickId : {来源 :“ neustar.biz ”atype : 1} , mwOpenLinkId : {来源 :“ mediawallahscript.com ”, atype : 1} , tapadId : {来源 :“ tapad.com ”، atype: 1}، novatiq: {getValue: function (e) {return e.snowflake}، source: ”novatiq.com”، atype: 1}، uid2: {source: ”uidapi.com”، atype: 3، getValue : function (e) {return e.id}}، dapId: {source: ”akamai.com”، atype: 1}، deepintentId: {source: ”deepintent.com”، atype: 3}، admixerId: {source: ”admixer.net”، atype: 3}، adtelligentId: {source: ”adtelligent.com”، atype: 3}، amxId: {source: ”amxrtb.com”، atype: 1}، publinkId: {source: ”epsilon .com ”، atype: 3}، kpuid: {source:” kpuid.com ”، atype: 3}، imuid: {source:” intimatemerger.com ”، atype: 1}، connectId: {来源:” yahoo.com ”، atype: 3}}؛ 函数 o (e، t) {var n = i [t]؛ if (n && e) {var o = {}؛ o.source = n.source؛ var a = Object (r.isFn) (n.getValue)؟ n.getValue (e): e؛ if (Object (r.isStr) (a)) {var c = {id: a، atype: n.atype}؛ if ( كائن (r.isFn) (n.getUidExt)) {var s = n.getUidExt (e) ؛ s && (c.ext = s)} إذا (o.uids = [c] ، كائن (r.isFn) (n .getEidExt)) {var u = n.getEidExt (e)؛ u && (o.ext = u)} 返回 o}} return null}}، 897: function (e، t، n) {e.exports = n ( 898)}، 898: function (e، t، n) {Object.defineProperty (t، ”__ esModule”، {value:! 0})، nd (t، ”PBJS_USER_ID_OPTOUT_NAME”، function () {return w})، nd (t، "coreStorage"، function () {return x})، nd (t، "syncDelay"، function () {return _})، nd (t، "auctionDelay"، function () {return j}) ، t.setSubmoduleRegistry = function (e) {U = e}، t.setStoredValue = B، t.setStoredConsentData = L، t .findRootDomain = V، t.requestBidsHook = K، nd (t، ”validateGdprEnforcement”، function () {return Y})، t.attachIdSystem = te، t.init = ne؛ var r = n (11)، i = nn (r)، o = n (3)، a = n (10)، c = nn (أ) ، s = n (14) ، u = n (8) ، d = n (5) ، l = nn (d) ، f = n (9) ، p = n (15) ، b = n ( 7)، g = n (0)، m = n (12)، v = nn (m)؛ 函数 y (e، t) {(null == t || t> e.length) && (t = e .length) ؛ من أجل(var n = 0، r = new Array (t)؛ n1 && void 0! == 参数 [1]؟ الوسيطات [1]: void 0، r = n؟ ”". concat (e.name، ”_”). concat (n): e.name ؛ جرب {if (e.type === A) t = x.getCookie (r) ؛ وإلا إذا (e.type === I) {var i = x.getDataFromLocalStorage (“ ”.concat (e.name،” _ exp ”))؛” "=== i؟ t = x.getDataFromLocalStorage (r): i && new Date (i) .getTime () - Date.now ()> 0 && (t = decodeURIComponent (x.getDataFromLocalStorage (r)))} ”سلسلة” == typeof t && ”{“ === t.trim (). charAt (0) && (t = JSON.parse (t))} catch (e) {Object (g.logError) (e)} return t} الوظيفة q (e) {var t = {consentString: ”"، gdprApplies:! 1، apiVersion: 0}؛ return e && (t.consentString = e.consentString، t .gdprApplies = iedprApplies، t.apiVersion = e.apiVersion)، Object (g.cyrb53Hash) (JSON.stringify (t))} 函数 L (e) {try {var t = new Date (Date.now ( ) + 864e5 * C) .toUTCString ()؛ x.setCookie (T، q (e)، t، "Lax")} catch (e) {Object (g.logError) (e)}} 函数 F () {试试 {return x.getCookie (T)} catch (e) {Object (g.logError) (e)}} 函数 z (e) {if (e && ”boolean” == typeof egdprApplies && egdprApplies) {إذا (!e.consentString) يعود! 1 ؛ إذا (1 === e.apiVersion &&! 1 === كائن (g.deepAccess) (e، vendorData. e.apiVersion &&! 1 === كائن (g.deepAccess) (e، ”vendorData.purpose.consents.1 ″)) يُرجع! 1} يُرجع! 0} الوظيفة V () {var e = arguments.length> 0 && void 0 ! == الوسيطات [0]؟ arguments [0]: window.location.hostname؛ if (! x.cookiesAreEnabled ()) تُرجع e ؛ var t، n، r = e.split (“.”) ؛ إذا (2 == r.length) re 转 e؛ var i = -2، o = ”_ rdc” .concat (Date.now ())، a = "writeable"؛ do {t = r.slice (i) .join ( ".") ؛ var c = new Date (Object (g.timestamp) () + 1e4) .toUTCString () ؛ x.setCookie (o، a، c، "Lax"، t، void 0)، x.getCookie (o، void 0) = == a؟ (n =! 1، x.setCookie (o، ""، "Thu، 01 Jan 1970 00:00:01 GMT"، void 0، t، void 0)): (i + = - 1، n = Math.abs (i) 0) {t =! 0؛ var r =! 1، i = function () {r || (r =! 0، e ())}؛ كائن (g.logInfo) (”“ .concat (E، ”- 拍卖 延迟“) .concat (j، ”最多 获取 ids”)) ، O = setTimeout (i، j)، W (n، i)} وإلا (laEVENTS.AUCTION_END، 函数 e () {caoff (laEVENTS.AUCTION_END، e)، _> 0؟ setTimeout (function () {W (n)}، _): W (n)})} e &&! t && e () } 函数 K (e، t) {H (function () {! function (e، t) {[e]. بعض (وظيفة(هـ) {return! Array.isArray (e) ||! e.length}) || e.forEach (function (e) {e.bids && Object (g.isArray) (e.bids) && e.bids.forEach (function (e) {var n = function (e، t) {return Array.isArray (e) && e.长度 && t؟ e.filter (الوظيفة (e) {return! e.config.bidders ||! كائن (g.isArray) (e.config.bidders) || v () (e.config.bidders، t)} ) .filter (function (e) {return Object (g.isPlainObject) (e.idObj) && Object.keys (e.idObj) .length}). تقليل (الوظيفة (e ، t) {return Object.keys (t. idObj) .forEach (function (n) {e [n] = t.idObj [n]})، e}، {}): {}} (t، e.bidder)؛ Object.keys (n) .length && (e.userId = n، e.userIdAsEids = Object (pb) (n))})}} (t.adUnits || Object (sa) (). adUnits، h)؛ var n = S && (Q () || []). find (function (e) {return e.source === S})؛ if (n && ”string” == typeof Object (g.deepAccess) (n، ”uids.0.id”) ) {var r = n.uids [0] .id.replace (/ [\ W_] /g،"")؛r.length>=32&&r.length=e.length؟{done:!0}:{done :! 1، القيمة: e [r ++]}}، e: function (e) {throw e}، f: i}} رمي خطأ TypeError جديدًا (“Invalid 尝试 迭代 不可 迭代 实例。 \ n 为了 可 迭代 , 非 数组 对象必须 有 一个 [Symbol.iterator] () 方法。 ”)} var o، a =! 0، c =! 1؛ return {s: function () {n = n.call (e)}، n: function ( ) {var e = n.next () ؛ إرجاع a = e.done ، e} ، e: function (e){c =! 0، o = e}، f: function () {try {a || null == n.return || n.return ()} 最后 {if (c) throw o}}}} (i )؛ جرب {for (ss ()؛! (a = sn ()). done؛) {var d = a.value؛ n.length> 0 && - 1 === n.indexOf (d.submodule.name) || (الكائن (g.logInfo) ("". concat (E، "- 刷新") .concat (d.submodule.name)) ، Z (d ، e ، o ،! 0) ، $ (d) ، h.length && N (h)، Object (g.isFn) (d.callback) && c.push (d))}} catch (e) {se (e)} أخيرًا {sf ()} c.length> 0 && W (c )، t && t ()} else Object (g.logWarn) (“”. concat (E، ”- gdpr 权限 无效 对于 本地 存储 或 cookie , 退出 模块”)}}} var Y = Object (fb) (“sync ”، function (e، t) {return {userIdModules: e، hasValidated: t && t.hasValidated}}،” validateGdprEnforcement ”)؛ 函数 Z (e، t، n، r) {if (e.config.storage) {var i، o = M (e.config.storage)، a =! 1؛ if (“number” == typeof e.config.storage.refreshInSeconds) {var c = new Date (M (e.config.storage، " last ”))؛ a = c && Date.now () - c.getTime ()> 1e3 * e.config.storage .refreshInSeconds}! o || a || r ||! function (e، t) {return null! = n && n === q (t)} (0، t)؟ i = e.submodule.getId (على سبيل المثال.config، t، o): ”function” == typeof e.submodule.extendId && (i = e.submodule.extendId (e.config، t، o)) ، كائن (g.isPlainObject) (i) && (i. id && (B (e، i.id)، o = i.id)، ”function” == typeof i.callback && (e.callback = i.callback))، o && (e.idObj = e.submodule.decode ( o، e.config))} else if (e.config.value) e.idObj = e.config.value؛ else {var s = e.submodule.getId (e.config، t، void 0)؛ Object ( g.isPlainObject) (s) && (“function” == typeof s.callback && (e.callback = s.callback) ، s.id && (e.idObj = e.submodule.decode (s.id، e.config) ))}} 函数 $ (e) {لـ (var t =! 1، n = 0؛ nt؟ e: t} 函数 d (e، t، n) {! e.preload && e.preloadThreshhold && function (e، t، n ، i) {return t.top = e.shownThreshold &&! e.seen؟ (e.seen =! 0، setTimeout (function () {e.trigger (“显示”، new r (“显示”، t))} ، 15)) :(! n || i1 && (h + = e (r، Math.floor (n / o)، i-1، o))، h}، this.getVerticallyVisiblePixels = f، this.getViewportHeight = function ( ) {return t.innerHeight || e.documentElement.clientHeight || e.body.clientHeight}، this.getViewportWidth = function () {return t.innerWidth || e.documentElement.clientWidth || e.body.clientWidth}، this.isElementNotHidden = u، this.isElementInViewport = function (n) {var i = n.getBoundingClientRect ()؛ return i.top> = 0 && i.left> = 0 && i .bottom = o.length) 返回 {完成 : 真}؛ 返回 {完成 : 假, 值 : o [i ++]}؛}، e: 函数 e (_e) {抛出 _e؛}، f: F}؛} رمي خطأ TypeError جديدًا (“对 不可 迭代 实例 的 迭代 尝试 无效。 \ n 为了 可 迭代, 非 数组 对象 必须 具有 [Symbol.iterator] () 方法。 ”) ؛} var normalCompletion = true ، didErr = false ، err ؛ إرجاع {s: function s () {it = o [Symbol.iterator] () ؛ }، n: 函数 n () {var step = it.next ()؛ normalCompletion = step.done؛ 返回 步骤 ;}، e: 函数 e (_e2) {didErr = true؛ 错误 = _e2؛}، f: function f () {try {if (! normalCompletion && it.return! = null) it.return ()؛} 最后 {if (didErr) throw err؛}}}؛} function _unsupportedIterableToArray (o، minLen) {if (! o) return؛ if (typeof o === “string”) إرجاع _arrayLikeToArray (o، minLen)؛ var n = Object.prototype.toString.call (o) .slice (8، -1)؛ if (n == = “对象” && o.constructor) n = o.constructor.name؛ if (n === “Map” ||n === "Set") إرجاع Array.from (o) ؛ إذا (n === "参数" || / ^ (؟: Ui | I) nt (؟: 8 | 16 | 32) (؟: مثبت )؟ Array $ /. var i = 0، arr2 = صفيف جديد (len) ؛ أنا


الوقت ما بعد: 19 يناير - 2022